[{"data":1,"prerenderedAt":141},["ShallowReactive",2],{"reference-detail-get_video_detail_api_v1_video_get":3,"developer-code-198ulsx":139,"developer-code-1bnfylq":140},{"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":28,"security":129,"codeSamples":132},"Talking Avatar Video","Videos","videos","GET","\u002Fapi\u002Fv1\u002Fvideo","get-video-detail","Get video status","Get a single video task by `video_id`, including its status (`queued`, `creating`, `created`, or\n`failed`) and, once ready, the download URL. Poll this to track generation progress.","get_video_detail_api_v1_video_get",10,"\u003Cp>Get a single video task by \u003Ccode>video_id\u003C\u002Fcode>, including its status (\u003Ccode>queued\u003C\u002Fcode>, \u003Ccode>creating\u003C\u002Fcode>, \u003Ccode>created\u003C\u002Fcode>, or \u003Ccode>failed\u003C\u002Fcode>) and, once ready, the download URL. Poll this to track generation progress.\u003C\u002Fp>",[16,23],{"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":19,"description":26,"type":21,"example":27},"video_id","query","Id of the video task to fetch, as returned by POST \u002Fapi\u002Fv1\u002Fvideo (the `video_id` field) or GET \u002Fapi\u002Fv1\u002Fvideos.","video_123456",[29,102],{"status":30,"description":31,"contentType":32,"schema":33,"example":96},"200","Successful Response","application\u002Fjson",{"type":34,"description":35,"nullable":36,"properties":37},"BaseSuccessResponse_GetVideoResponse_","",false,[38,86,91],{"name":39,"required":19,"type":40,"description":41,"nullable":19,"properties":42},"data","GetVideoResponse | null","Response for getting a single video",[43,51,57,61,65,74,78,81],{"name":44,"required":36,"type":21,"description":45,"nullable":36,"enum":46,"default":47,"properties":50},"aspect_ratio","Output aspect ratio of the rendered video.",[47,48,49],"9:16","16:9","1:1",[],{"name":52,"required":36,"type":53,"description":54,"nullable":36,"default":55,"properties":56},"cost_credit","integer","Credits charged for this video; 0 when the task failed (the charge is auto-refunded).",0,[],{"name":58,"required":19,"type":53,"description":59,"nullable":36,"properties":60},"created_at","Unix timestamp (seconds) when the video task was created.",[],{"name":62,"required":19,"type":21,"description":63,"nullable":36,"properties":64},"model_id","Identifier of the model that produced this video; see GET \u002Fapi\u002Fv1\u002Fmodels.",[],{"name":66,"required":36,"type":21,"description":67,"nullable":36,"enum":68,"default":69,"properties":73},"resolution","Output resolution of the rendered video.",[69,70,71,72],"480p","720p","1080p","2k",[],{"name":75,"required":19,"type":21,"description":76,"nullable":36,"properties":77},"status","Current task status: `queued` (waiting), `creating` (rendering), `created` (ready), or `failed`.",[],{"name":24,"required":19,"type":21,"description":79,"nullable":36,"properties":80},"Unique identifier of the video task. Use it to poll status or delete the video.",[],{"name":82,"required":36,"type":83,"description":84,"nullable":19,"properties":85},"video_url","string | null","Download URL of the finished video; empty until status is `created`. Videos are retained for 7 days.",[],{"name":87,"required":36,"type":21,"description":88,"nullable":36,"default":89,"properties":90},"message","Human-readable status message; `\"success\"` on a successful call.","success",[],{"name":92,"required":19,"type":93,"description":94,"nullable":36,"properties":95},"server_time","string · date-time","Server-side timestamp when the response was produced, in ISO 8601 format (UTC).",[],{"data":97,"server_time":101,"message":89},{"created_at":98,"model_id":99,"status":89,"video_id":27,"aspect_ratio":47,"cost_credit":55,"resolution":69,"video_url":100},1,"vs_character_v4","https:\u002F\u002Fexample.com\u002Fmedia\u002Finput.mp4","2026-08-24T08:00:00Z",{"status":103,"description":104,"contentType":32,"schema":105,"example":127},"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":106,"description":35,"nullable":36,"properties":107},"ErrorResponse",[108],{"name":109,"required":19,"type":110,"description":35,"nullable":36,"properties":111},"error","ErrorDetail",[112,116,120,124],{"name":113,"required":19,"type":53,"description":114,"nullable":36,"properties":115},"code","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":117,"required":36,"type":83,"description":118,"nullable":19,"properties":119},"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":121,"required":36,"type":83,"description":122,"nullable":19,"properties":123},"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":87,"required":19,"type":21,"description":125,"nullable":36,"properties":126},"Human-readable explanation of what went wrong. Safe to log or surface to end users; not localized.",[],{"error":128},{"code":98,"message":21,"details":21,"hint":21},[130],{"APIKeyHeader":131},[],[133,136],{"lang":134,"source":135},"Python","import os\nimport requests\n\nheaders = {\"X-API-Key\": os.environ[\"VISIONSTORY_API_KEY\"]}\nresponse = requests.get(\n    'https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fvideo?video_id=xxxx', headers=headers\n)\nresp_data = response.json()\nprint(resp_data['data'])",{"lang":137,"source":138},"cURL","curl -X 'GET' \\\n      'https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fvideo?video_id=xxxx' \\\n      -H 'accept: application\u002Fjson' \\\n      -H '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\">import\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> os\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FF7B72\">import\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> requests\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">headers \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> {\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"X-API-Key\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: os.environ[\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"VISIONSTORY_API_KEY\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">]}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">response \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> requests.get(\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#A5D6FF\">    'https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fvideo?video_id=xxxx'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">headers\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">headers\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">resp_data \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> response.json()\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79C0FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(resp_data[\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">'data'\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">])\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\">    \"created_at\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">1\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\">\"vs_character_v4\"\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\">\"success\"\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\">\"video_123456\"\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\">\"9:16\"\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\">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\">\"480p\"\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\u002Fmedia\u002Finput.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\">  \"server_time\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"2026-08-24T08:00:00Z\"\u003C\u002Fspan>\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>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">}\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1788166855863]