[{"data":1,"prerenderedAt":502},["ShallowReactive",2],{"guide-\u002Fguides\u002Foverview":3,"developer-code-eb0qrl":497,"developer-code-r5o41j":498,"developer-code-1kb15yj":499,"developer-code-1kdaqai":500,"developer-code-13r784n":501},{"id":4,"title":5,"body":6,"description":488,"extension":489,"meta":490,"navigation":491,"path":493,"seo":494,"stem":495,"__hash__":496},"guides\u002Fguides\u002Foverview.md","VisionStory API Overview",{"type":7,"value":8,"toc":476},"minimark",[9,13,18,21,71,74,85,94,105,112,188,192,197,200,231,246,250,257,279,289,293,301,305,308,330,337,341,348,396,422,425,429,453,457,472],[10,11,12],"p",{},"The VisionStory API is a REST API for talking-avatar videos and programmable AI media. Generate video, speech, and images; clone voices and avatars; transcribe audio; create subtitles; and manage reusable media from a backend, automation, or AI agent.",[14,15,17],"h2",{"id":16},"how-the-visionstory-api-works","How the VisionStory API works",[10,19,20],{},"Every integration follows the same loop:",[22,23,24,32,47,61],"ol",{},[25,26,27,31],"li",{},[28,29,30],"strong",{},"Discover resources"," — list available models, avatars, and voices.",[25,33,34,37,38,42,43,46],{},[28,35,36],{},"Submit a generation task"," — ",[39,40,41],"code",{},"POST \u002Fapi\u002Fv1\u002Fvideo"," returns a ",[39,44,45],{},"video_id"," immediately.",[25,48,49,52,53,56,57,60],{},[28,50,51],{},"Poll until done"," — call ",[39,54,55],{},"GET \u002Fapi\u002Fv1\u002Fvideo?video_id=..."," until the status is ",[39,58,59],{},"created",".",[25,62,63,66,67,70],{},[28,64,65],{},"Download the result"," — fetch ",[39,68,69],{},"video_url"," from the response.",[10,72,73],{},"All requests go to one base URL and authenticate with one header:",[75,76,83],"pre",{"className":77,"code":79,"filename":80,"language":81,"meta":82},[78],"language-text","X-API-Key: $VISIONSTORY_API_KEY\n","Request header","text","",[39,84,79],{"__ignoreMap":82},[10,86,87,90,91],{},[28,88,89],{},"Base URL:"," ",[39,92,93],{},"https:\u002F\u002Fopenapi.visionstory.ai",[10,95,96,97,104],{},"Create your API key on the ",[98,99,103],"a",{"href":100,"rel":101},"https:\u002F\u002Fdevelopers.visionstory.ai\u002Fapi-keys",[102],"nofollow","VisionStory API keys page",". Keep the key on your server — never expose it in browser code or a public repository.",[10,106,107,108,111],{},"Every response shares one envelope. Read successful payloads from the top-level ",[39,109,110],{},"data"," field:",[75,113,117],{"className":114,"code":115,"language":116,"meta":82,"style":82},"language-json shiki shiki-themes github-light github-dark","{\n  \"data\": {\n    \"video_id\": \"YOUR_VIDEO_ID\"\n  },\n  \"message\": \"success\",\n  \"server_time\": \"2026-08-20T06:15:18Z\"\n}\n","json",[39,118,119,128,138,151,157,171,182],{"__ignoreMap":82},[120,121,124],"span",{"class":122,"line":123},"line",1,[120,125,127],{"class":126},"sVt8B","{\n",[120,129,131,135],{"class":122,"line":130},2,[120,132,134],{"class":133},"sj4cs","  \"data\"",[120,136,137],{"class":126},": {\n",[120,139,141,144,147],{"class":122,"line":140},3,[120,142,143],{"class":133},"    \"video_id\"",[120,145,146],{"class":126},": ",[120,148,150],{"class":149},"sZZnC","\"YOUR_VIDEO_ID\"\n",[120,152,154],{"class":122,"line":153},4,[120,155,156],{"class":126},"  },\n",[120,158,160,163,165,168],{"class":122,"line":159},5,[120,161,162],{"class":133},"  \"message\"",[120,164,146],{"class":126},[120,166,167],{"class":149},"\"success\"",[120,169,170],{"class":126},",\n",[120,172,174,177,179],{"class":122,"line":173},6,[120,175,176],{"class":133},"  \"server_time\"",[120,178,146],{"class":126},[120,180,181],{"class":149},"\"2026-08-20T06:15:18Z\"\n",[120,183,185],{"class":122,"line":184},7,[120,186,187],{"class":126},"}\n",[14,189,191],{"id":190},"core-api-resources","Core API resources",[193,194,196],"h3",{"id":195},"avatar","Avatar",[10,198,199],{},"An avatar is the on-screen character that speaks your script. Use a ready-made avatar from the public library, or create your own from a single photo:",[75,201,205],{"className":202,"code":203,"language":204,"meta":82,"style":82},"language-bash shiki shiki-themes github-light github-dark","curl -s -H \"X-API-Key: $VISIONSTORY_API_KEY\" https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatars\n","bash",[39,206,207],{"__ignoreMap":82},[120,208,209,213,216,219,222,225,228],{"class":122,"line":123},[120,210,212],{"class":211},"sScJk","curl",[120,214,215],{"class":133}," -s",[120,217,218],{"class":133}," -H",[120,220,221],{"class":149}," \"X-API-Key: ",[120,223,224],{"class":126},"$VISIONSTORY_API_KEY",[120,226,227],{"class":149},"\"",[120,229,230],{"class":149}," https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatars\n",[10,232,233,234,237,238,241,242,245],{},"The default response contains your owned avatars in ",[39,235,236],{},"avatars","; add ",[39,239,240],{},"is_public=true"," to query the public library instead. Follow ",[39,243,244],{},"next_cursor"," to load additional pages.",[193,247,249],{"id":248},"voice","Voice",[10,251,252,253,256],{},"A voice is the ",[39,254,255],{},"voice_id"," that turns text into speech inside a video. Pick from the public voice library, or clone your own voice from an audio sample:",[75,258,260],{"className":202,"code":259,"language":204,"meta":82,"style":82},"curl -s -H \"X-API-Key: $VISIONSTORY_API_KEY\" https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fvoices\n",[39,261,262],{"__ignoreMap":82},[120,263,264,266,268,270,272,274,276],{"class":122,"line":123},[120,265,212],{"class":211},[120,267,215],{"class":133},[120,269,218],{"class":133},[120,271,221],{"class":149},[120,273,224],{"class":126},[120,275,227],{"class":149},[120,277,278],{"class":149}," https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fvoices\n",[10,280,281,282,285,286,60],{},"The response contains ",[39,283,284],{},"public_voices"," and ",[39,287,288],{},"my_voices",[193,290,292],{"id":291},"audio-understanding","Audio understanding",[10,294,295,296,300],{},"Transcribe WAV or MP3 speech into text, word-level timestamps, speaker labels, and SRT subtitles, or align a known script with its audio. See the ",[98,297,299],{"href":298},"\u002Fguides\u002Faudio-understanding","Audio Transcription and Alignment API"," for request examples and billing.",[193,302,304],{"id":303},"credit","Credit",[10,306,307],{},"A credit is the billing unit for generation. Credits come with your VisionStory subscription; every generation task consumes credits, and a failed task refunds them automatically. Check your balance at any time:",[75,309,311],{"className":202,"code":310,"language":204,"meta":82,"style":82},"curl -s -H \"X-API-Key: $VISIONSTORY_API_KEY\" https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fbilling\u002Fcredits\n",[39,312,313],{"__ignoreMap":82},[120,314,315,317,319,321,323,325,327],{"class":122,"line":123},[120,316,212],{"class":211},[120,318,215],{"class":133},[120,320,218],{"class":133},[120,322,221],{"class":149},[120,324,224],{"class":126},[120,326,227],{"class":149},[120,328,329],{"class":149}," https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fbilling\u002Fcredits\n",[10,331,332,333,336],{},"The credits charged for a talking-avatar video are reported as ",[39,334,335],{},"cost_credit"," on its status response, so you can see the exact cost of every finished task.",[14,338,340],{"id":339},"talking-avatar-models","Talking avatar models",[10,342,343,344,347],{},"Talking-avatar models render your avatar. Query ",[39,345,346],{},"GET \u002Fapi\u002Fv1\u002Fmodels"," for the machine-readable catalog.",[349,350,351,373],"table",{},[352,353,354],"thead",{},[355,356,357,361,364,367,370],"tr",{},[358,359,360],"th",{},"model_id",[358,362,363],{},"Best for",[358,365,366],{},"Aspect ratios",[358,368,369],{},"Resolutions",[358,371,372],{},"Max duration",[374,375,376],"tbody",{},[355,377,378,384,387,390,393],{},[379,380,381],"td",{},[39,382,383],{},"vs_character_v4",[379,385,386],{},"Recommended default — improved motion quality and stability",[379,388,389],{},"9:16, 16:9, 1:1",[379,391,392],{},"720p, 1080p, 2k",[379,394,395],{},"600 s",[10,397,398,399,402,403,406,407,410,411,414,415,417,418,421],{},"The retired ",[39,400,401],{},"vs_talk_v1"," model is no longer returned by the model catalog. New requests must choose ",[39,404,405],{},"720p",", ",[39,408,409],{},"1080p",", or ",[39,412,413],{},"2k"," from ",[39,416,346],{},"; ",[39,419,420],{},"480p"," is no longer accepted as a talking-avatar video request value.",[10,423,424],{},"Beyond talking avatars, the API exposes frontier AI video generation models for text-to-video and image-to-video workflows. These capabilities are currently in beta.",[14,426,428],{"id":427},"start-building-with-the-visionstory-api","Start building with the VisionStory API",[430,431,432,439,446],"ul",{},[25,433,434,438],{},[98,435,437],{"href":436},"\u002Fguides\u002Fquick-start","Quick start"," — create your first video in five steps.",[25,440,441,445],{},[98,442,444],{"href":443},"\u002Freference","API reference"," — explore the available endpoints, schemas, and examples.",[25,447,448,452],{},[98,449,451],{"href":100,"rel":450},[102],"Get an API key"," — configure a server-side integration.",[14,454,456],{"id":455},"structured-media-understanding","Structured media understanding",[10,458,459,460,463,464,468,469,60],{},"Extract structured JSON from images, audio, or video with ",[39,461,462],{},"POST \u002Fapi\u002Fv1\u002Fmedia\u002Funderstand",". Supply a prompt, 1–8 media references, and an object-root JSON Schema. See ",[98,465,467],{"href":466},"\u002Fguides\u002Fmedia-understanding","Media Understanding"," for SDK, CLI, and MCP examples. For transcription and subtitle timing, use ",[98,470,471],{"href":298},"Speech to Text",[473,474,475],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":82,"searchDepth":130,"depth":130,"links":477},[478,479,485,486,487],{"id":16,"depth":130,"text":17},{"id":190,"depth":130,"text":191,"children":480},[481,482,483,484],{"id":195,"depth":140,"text":196},{"id":248,"depth":140,"text":249},{"id":291,"depth":140,"text":292},{"id":303,"depth":140,"text":304},{"id":339,"depth":130,"text":340},{"id":427,"depth":130,"text":428},{"id":455,"depth":130,"text":456},"Learn how the VisionStory API authenticates requests and powers talking avatar video, voice, speech, audio transcription, image, and AI video workflows.","md",{},{"title":492,"order":123},"Overview","\u002Fguides\u002Foverview",{"title":5,"description":488},"guides\u002Foverview","sV4zj4lijBmT2WgyxpZ_PnTq8TYj9Qg0nrih29WhuDc","\u003Cpre class=\"shiki github-dark-default\" style=\"background-color:#0d1117;color:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>X-API-Key: $VISIONSTORY_API_KEY\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>\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\">    \"video_id\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"YOUR_VIDEO_ID\"\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-08-20T06:15:18Z\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">}\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\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:#FFA657\">curl\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> -s\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> -H\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> \"X-API-Key: \u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">$VISIONSTORY_API_KEY\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatars\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\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:#FFA657\">curl\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> -s\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> -H\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> \"X-API-Key: \u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">$VISIONSTORY_API_KEY\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fvoices\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\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:#FFA657\">curl\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> -s\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> -H\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> \"X-API-Key: \u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">$VISIONSTORY_API_KEY\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Fbilling\u002Fcredits\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1790231923837]