[{"data":1,"prerenderedAt":187},["ShallowReactive",2],{"reference-detail-en-get_ai_video_api_v1_ai_video_get":3,"developer-code-197cslv":185,"developer-code-okk4aa":186},{"tag":4,"sourceTag":5,"tagSlug":6,"method":7,"path":8,"slug":9,"summary":10,"description":11,"operationId":12,"groupOrder":13,"descriptionHtml":14,"parameters":15,"responses":33,"security":172,"codeSamples":175},"AI Video","AI Videos","ai-videos","GET","\u002Fapi\u002Fv1\u002Fai_video","get-ai-video","Get AI video status","Get one task by `video_id`, or up to 20 at once with `video_ids` (comma-separated). Status is\n`queued`, `creating`, `created`, or `failed`; poll every 5-10 seconds. Failed tasks carry an `error`\nobject and `cost_credit=0` (credits auto-refunded).\n\nBeta: available to any account with an active paid subscription; standard per-key rate limits apply.","get_ai_video_api_v1_ai_video_get",60,"\u003Cp>Get one task by \u003Ccode>video_id\u003C\u002Fcode>, or up to 20 at once with \u003Ccode>video_ids\u003C\u002Fcode> (comma-separated). Status is \u003Ccode>queued\u003C\u002Fcode>, \u003Ccode>creating\u003C\u002Fcode>, \u003Ccode>created\u003C\u002Fcode>, or \u003Ccode>failed\u003C\u002Fcode>; poll every 5-10 seconds. Failed tasks carry an \u003Ccode>error\u003C\u002Fcode> object and \u003Ccode>cost_credit=0\u003C\u002Fcode> (credits auto-refunded).\u003C\u002Fp>\u003Cp>Beta: available to any account with an active paid subscription; standard per-key rate limits apply.\u003C\u002Fp>",[16,23,30],{"name":17,"in":18,"required":19,"description":20,"type":21,"example":22},"X-API-Key","header",true,"Your VisionStory API key (`sk-vs-...`), kept server-side. Create or manage keys in [API keys](\u002Fapi-keys) (Pro plan and up).","string","sk-vs-your-api-key",{"name":24,"in":25,"required":26,"description":27,"type":28,"example":29},"video_id","query",false,"Id of a single task to fetch, as returned by POST \u002Fapi\u002Fv1\u002Fai_video. Provide either `video_id` or `video_ids`.","string | null","video_123456",{"name":31,"in":25,"required":26,"description":32,"type":28,"example":29},"video_ids","Comma-separated task ids for a batch fetch (up to 20), e.g. `101,102,103`. Provide either `video_ids` or `video_id`.",[34,145],{"status":35,"description":36,"contentType":37,"schema":38,"example":111,"examples":125,"headers":144},"200","Successful Response","application\u002Fjson",{"type":39,"description":40,"nullable":26,"properties":41},"BaseSuccessResponse_Union_GetAiVideoResponse__GetAiVideosBatchResponse__","",[42,102,106],{"name":43,"required":19,"type":44,"description":45,"nullable":19,"properties":46},"data","GetAiVideoResponse | GetAiVideosBatchResponse | null","The endpoint-specific payload. See this endpoint's response schema for its fields; null only when the operation returns no payload.",[47,51,57,61,65,70,83,87,91,95,98],{"name":48,"required":26,"type":21,"description":49,"nullable":26,"default":40,"properties":50},"aspect_ratio","Output aspect ratio of the generated video (e.g. `16:9`, `9:16`); empty until known.",[],{"name":52,"required":26,"type":53,"description":54,"nullable":26,"default":55,"properties":56},"cost_credit","integer","Credits charged for this task; 0 when it failed (the charge is auto-refunded).",0,[],{"name":58,"required":26,"type":28,"description":59,"nullable":19,"properties":60},"cover_url","URL of the video's cover\u002Fthumbnail image when available.",[],{"name":62,"required":26,"type":53,"description":63,"nullable":26,"default":55,"properties":64},"created_at","Unix timestamp (seconds) when the task was created.",[],{"name":66,"required":26,"type":67,"description":68,"nullable":26,"default":55,"properties":69},"duration_sec","number","Length of the generated video in seconds; 0 until known.",[],{"name":71,"required":26,"type":72,"description":73,"nullable":19,"properties":74},"error","AiVideoErrorDto | null","Failure detail; present only when status is `failed`.",[75,79],{"name":76,"required":19,"type":53,"description":77,"nullable":26,"properties":78},"code","Numeric code identifying why generation failed.",[],{"name":80,"required":19,"type":21,"description":81,"nullable":26,"properties":82},"message","Human-readable explanation of the failure.",[],{"name":84,"required":19,"type":21,"description":85,"nullable":26,"properties":86},"model_id","Model used to generate this video; see GET \u002Fapi\u002Fv1\u002Fai_video\u002Fmodels.",[],{"name":88,"required":26,"type":21,"description":89,"nullable":26,"default":40,"properties":90},"resolution","Output resolution of the generated video (e.g. `720p`, `1080p`); empty until known.",[],{"name":92,"required":19,"type":21,"description":93,"nullable":26,"properties":94},"status","Current task status: `queued` (waiting), `creating` (rendering), `created` (ready), or `failed`.",[],{"name":24,"required":19,"type":21,"description":96,"nullable":26,"properties":97},"Unique identifier of the video task.",[],{"name":99,"required":26,"type":28,"description":100,"nullable":19,"properties":101},"video_url","Download URL of the generated video; present once status is `created`.",[],{"name":80,"required":26,"type":21,"description":103,"nullable":26,"default":104,"properties":105},"Human-readable status message; `\"success\"` on a successful call.","success",[],{"name":107,"required":19,"type":108,"description":109,"nullable":26,"properties":110},"server_time","string · date-time","Server-side timestamp when the response was produced, in ISO 8601 format (UTC).",[],{"data":112,"message":104,"server_time":124},{"aspect_ratio":113,"cost_credit":114,"cover_url":115,"created_at":116,"duration_sec":117,"error":118,"model_id":119,"resolution":120,"status":121,"video_id":122,"video_url":123},"16:9",16,"https:\u002F\u002Fexample.com\u002Fcover.jpg",1788480000,8,null,"wan-3.0","720p","created","example_ai_video_id","https:\u002F\u002Fexample.com\u002Fvideo.mp4","2026-09-04T00:00:00Z",[126,131],{"name":104,"description":127,"summary":128,"value":129},"Examples illustrate the response structure, not live account data or a pricing quote. IDs and URLs are placeholders. Query model discovery and cost endpoints for current availability and prices.","Successful response",{"data":130,"message":104,"server_time":124},{"aspect_ratio":113,"cost_credit":114,"cover_url":115,"created_at":116,"duration_sec":117,"error":118,"model_id":119,"resolution":120,"status":121,"video_id":122,"video_url":123},{"name":132,"description":127,"summary":133,"value":134},"batch","Batch query using video_ids",{"data":135,"message":104,"server_time":124},{"videos":136},[137,138],{"aspect_ratio":113,"cost_credit":114,"cover_url":115,"created_at":116,"duration_sec":117,"error":118,"model_id":119,"resolution":120,"status":121,"video_id":122,"video_url":123},{"aspect_ratio":113,"cost_credit":55,"cover_url":118,"created_at":116,"duration_sec":55,"error":139,"model_id":119,"resolution":120,"status":142,"video_id":143,"video_url":118},{"code":140,"message":141},37100,"The content could not be processed.","failed","example_failed_video_id",[],{"status":146,"description":147,"contentType":37,"schema":148,"example":168,"headers":171},"default","Error response. All failures share one envelope: an `error` object with a numeric `code`, a human-readable `message`, an optional `details` string, and an optional `hint` giving an actionable next step (useful for AI agents).",{"type":149,"description":40,"nullable":26,"properties":150},"ErrorResponse",[151],{"name":71,"required":19,"type":152,"description":40,"nullable":26,"properties":153},"ErrorDetail",[154,157,161,165],{"name":76,"required":19,"type":53,"description":155,"nullable":26,"properties":156},"Machine-readable error code. Mirrors the HTTP status for transport-level failures (e.g. 401, 404, 422, 500) and may carry a business-specific code otherwise.",[],{"name":158,"required":26,"type":28,"description":159,"nullable":19,"properties":160},"details","Optional structured detail about the failure, e.g. a JSON string of per-field validation errors on a 422. Absent when there is nothing extra to report.",[],{"name":162,"required":26,"type":28,"description":163,"nullable":19,"properties":164},"hint","Actionable next step for resolving the error, written for both humans and AI agents (e.g. how to fix the request, or where to obtain an API key). May be absent.",[],{"name":80,"required":19,"type":21,"description":166,"nullable":26,"properties":167},"Human-readable explanation of what went wrong. Safe to log or surface to end users; not localized.",[],{"error":169},{"code":170,"message":21,"details":21,"hint":21},1,[],[173],{"APIKeyHeader":174},[],[176,179,182],{"lang":177,"source":178},"SDK","from visionstory import VisionStoryClient\n\nclient = VisionStoryClient.from_env()\nvideo = client.get_ai_video(\"video_123456\")\nprint(video)",{"lang":180,"source":181},"REST","import os\nimport requests\n\nresponse = requests.get(\n    \"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fai_video\",\n    headers={\"X-API-Key\": os.environ[\"VISIONSTORY_API_KEY\"]},\n    params={\n      \"video_id\": \"video_123456\"\n    },\n)\nresponse.raise_for_status()\nprint(response.json())",{"lang":183,"source":184},"cURL","curl --request GET 'https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fai_video?video_id=video_123456' \\\n  --header 'X-API-Key: $VISIONSTORY_API_KEY'","\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#FF7B72\">from\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> visionstory \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">import\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> VisionStoryClient\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">client \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> VisionStoryClient.from_env()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">video \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> client.get_ai_video(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"video_123456\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79C0FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(video)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>","\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">{\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">  \"data\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"aspect_ratio\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"16:9\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"cost_credit\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">16\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"cover_url\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"https:\u002F\u002Fexample.com\u002Fcover.jpg\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"created_at\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">1788480000\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"duration_sec\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">8\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"error\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">null\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"model_id\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"wan-3.0\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"resolution\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"720p\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"status\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"created\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"video_id\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"example_ai_video_id\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">    \"video_url\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"https:\u002F\u002Fexample.com\u002Fvideo.mp4\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">  },\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">  \"message\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"success\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">  \"server_time\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"2026-09-04T00:00:00Z\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">}\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1790231924529]