[{"data":1,"prerenderedAt":719},["ShallowReactive",2],{"guide-\u002Fguides\u002Favatars":3,"developer-code-1kb15yj":713,"developer-code-1matwv6":714,"developer-code-1dpm3n2":715,"developer-code-1mezl69":716,"developer-code-nntzbn":717,"developer-code-10t76cq":718},{"id":4,"title":5,"body":6,"description":704,"extension":705,"meta":706,"navigation":707,"path":709,"seo":710,"stem":711,"__hash__":712},"guides\u002Fguides\u002Favatars.md","AI Avatar API",{"type":7,"value":8,"toc":696},"minimark",[9,18,23,90,94,105,144,294,300,304,314,347,353,528,534,541,545,551,621,630,634,637,665,669,692],[10,11,12,13,17],"p",{},"The VisionStory AI Avatar API provides the on-screen character for a talking-avatar video. List ready-to-use public avatars or create a reusable custom avatar from one portrait, then pass its ",[14,15,16],"code",{},"avatar_id"," to each video generation request.",[19,20,22],"h2",{"id":21},"ai-avatar-api-endpoints","AI avatar API endpoints",[24,25,26,42],"table",{},[27,28,29],"thead",{},[30,31,32,36,39],"tr",{},[33,34,35],"th",{},"Method",[33,37,38],{},"Path",[33,40,41],{},"What it does",[43,44,45,61,76],"tbody",{},[30,46,47,53,58],{},[48,49,50],"td",{},[14,51,52],{},"GET",[48,54,55],{},[14,56,57],{},"\u002Fapi\u002Fv1\u002Favatars",[48,59,60],{},"List public avatars and your custom avatars",[30,62,63,68,73],{},[48,64,65],{},[14,66,67],{},"POST",[48,69,70],{},[14,71,72],{},"\u002Fapi\u002Fv1\u002Favatar",[48,74,75],{},"Create a custom avatar from an image",[30,77,78,83,87],{},[48,79,80],{},[14,81,82],{},"DELETE",[48,84,85],{},[14,86,72],{},[48,88,89],{},"Delete one of your custom avatars",[19,91,93],{"id":92},"list-public-and-custom-avatars","List public and custom avatars",[10,95,96,97,100,101,104],{},"The list response has two groups: ",[14,98,99],{},"public_avatars"," (ready to use, no setup) and ",[14,102,103],{},"my_avatars"," (created by you):",[106,107,112],"pre",{"className":108,"code":109,"language":110,"meta":111,"style":111},"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","",[14,113,114],{"__ignoreMap":111},[115,116,119,123,127,130,134,138,141],"span",{"class":117,"line":118},"line",1,[115,120,122],{"class":121},"sScJk","curl",[115,124,126],{"class":125},"sj4cs"," -s",[115,128,129],{"class":125}," -H",[115,131,133],{"class":132},"sZZnC"," \"X-API-Key: ",[115,135,137],{"class":136},"sVt8B","$VISIONSTORY_API_KEY",[115,139,140],{"class":132},"\"",[115,142,143],{"class":132}," https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatars\n",[106,145,149],{"className":146,"code":147,"language":148,"meta":111,"style":111},"language-python shiki shiki-themes github-light github-dark","import os\nimport requests\n\nheaders = {\"X-API-Key\": os.environ[\"VISIONSTORY_API_KEY\"]}\nresponse = requests.get(\"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatars\", headers=headers, timeout=10)\nresp_data = response.json()\nprint(len(resp_data[\"data\"][\"public_avatars\"]))\nprint(len(resp_data[\"data\"][\"my_avatars\"]))\n","python",[14,150,151,160,168,175,199,236,247,274],{"__ignoreMap":111},[115,152,153,157],{"class":117,"line":118},[115,154,156],{"class":155},"szBVR","import",[115,158,159],{"class":136}," os\n",[115,161,163,165],{"class":117,"line":162},2,[115,164,156],{"class":155},[115,166,167],{"class":136}," requests\n",[115,169,171],{"class":117,"line":170},3,[115,172,174],{"emptyLinePlaceholder":173},true,"\n",[115,176,178,181,184,187,190,193,196],{"class":117,"line":177},4,[115,179,180],{"class":136},"headers ",[115,182,183],{"class":155},"=",[115,185,186],{"class":136}," {",[115,188,189],{"class":132},"\"X-API-Key\"",[115,191,192],{"class":136},": os.environ[",[115,194,195],{"class":132},"\"VISIONSTORY_API_KEY\"",[115,197,198],{"class":136},"]}\n",[115,200,202,205,207,210,213,216,220,222,225,228,230,233],{"class":117,"line":201},5,[115,203,204],{"class":136},"response ",[115,206,183],{"class":155},[115,208,209],{"class":136}," requests.get(",[115,211,212],{"class":132},"\"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatars\"",[115,214,215],{"class":136},", ",[115,217,219],{"class":218},"s4XuR","headers",[115,221,183],{"class":155},[115,223,224],{"class":136},"headers, ",[115,226,227],{"class":218},"timeout",[115,229,183],{"class":155},[115,231,232],{"class":125},"10",[115,234,235],{"class":136},")\n",[115,237,239,242,244],{"class":117,"line":238},6,[115,240,241],{"class":136},"resp_data ",[115,243,183],{"class":155},[115,245,246],{"class":136}," response.json()\n",[115,248,250,253,256,259,262,265,268,271],{"class":117,"line":249},7,[115,251,252],{"class":125},"print",[115,254,255],{"class":136},"(",[115,257,258],{"class":125},"len",[115,260,261],{"class":136},"(resp_data[",[115,263,264],{"class":132},"\"data\"",[115,266,267],{"class":136},"][",[115,269,270],{"class":132},"\"public_avatars\"",[115,272,273],{"class":136},"]))\n",[115,275,277,279,281,283,285,287,289,292],{"class":117,"line":276},8,[115,278,252],{"class":125},[115,280,255],{"class":136},[115,282,258],{"class":125},[115,284,261],{"class":136},[115,286,264],{"class":132},[115,288,267],{"class":136},[115,290,291],{"class":132},"\"my_avatars\"",[115,293,273],{"class":136},[10,295,296,297,299],{},"Always pick an ",[14,298,16],{}," from this endpoint instead of hardcoding one — the public library evolves over time.",[19,301,303],{"id":302},"create-an-ai-avatar-from-a-photo","Create an AI avatar from a photo",[10,305,306,307,309,310,313],{},"Send one portrait image, get back an ",[14,308,16],{},". Provide the image as either a public HTTPS URL or base64 ",[14,311,312],{},"inline_data"," — exactly one of the two:",[106,315,317],{"className":108,"code":316,"language":110,"meta":111,"style":111},"curl -s -H \"X-API-Key: $VISIONSTORY_API_KEY\" -H \"Content-Type: application\u002Fjson\" -d '{\"img_url\": \"https:\u002F\u002Fyour.site\u002Fportrait.jpg\"}' https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar\n",[14,318,319],{"__ignoreMap":111},[115,320,321,323,325,327,329,331,333,335,338,341,344],{"class":117,"line":118},[115,322,122],{"class":121},[115,324,126],{"class":125},[115,326,129],{"class":125},[115,328,133],{"class":132},[115,330,137],{"class":136},[115,332,140],{"class":132},[115,334,129],{"class":125},[115,336,337],{"class":132}," \"Content-Type: application\u002Fjson\"",[115,339,340],{"class":125}," -d",[115,342,343],{"class":132}," '{\"img_url\": \"https:\u002F\u002Fyour.site\u002Fportrait.jpg\"}'",[115,345,346],{"class":132}," https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar\n",[10,348,349,350,352],{},"With a local file, base64-encode it into ",[14,351,312],{},":",[106,354,356],{"className":146,"code":355,"language":148,"meta":111,"style":111},"import base64\nimport os\nimport requests\n\nheaders = {\"X-API-Key\": os.environ[\"VISIONSTORY_API_KEY\"]}\n\nwith open(\"\u002Fpath\u002Fto\u002Fimage.jpg\", \"rb\") as f:\n    encoded = base64.b64encode(f.read()).decode(\"utf-8\")\n\npayload = {\"inline_data\": {\"mime_type\": \"image\u002Fjpg\", \"data\": encoded}}\nresponse = requests.post(\"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar\", json=payload, headers=headers)\nprint(response.json()[\"data\"][\"avatar_id\"])\n",[14,357,358,365,371,377,381,397,401,428,443,448,480,510],{"__ignoreMap":111},[115,359,360,362],{"class":117,"line":118},[115,361,156],{"class":155},[115,363,364],{"class":136}," base64\n",[115,366,367,369],{"class":117,"line":162},[115,368,156],{"class":155},[115,370,159],{"class":136},[115,372,373,375],{"class":117,"line":170},[115,374,156],{"class":155},[115,376,167],{"class":136},[115,378,379],{"class":117,"line":177},[115,380,174],{"emptyLinePlaceholder":173},[115,382,383,385,387,389,391,393,395],{"class":117,"line":201},[115,384,180],{"class":136},[115,386,183],{"class":155},[115,388,186],{"class":136},[115,390,189],{"class":132},[115,392,192],{"class":136},[115,394,195],{"class":132},[115,396,198],{"class":136},[115,398,399],{"class":117,"line":238},[115,400,174],{"emptyLinePlaceholder":173},[115,402,403,406,409,411,414,416,419,422,425],{"class":117,"line":249},[115,404,405],{"class":155},"with",[115,407,408],{"class":125}," open",[115,410,255],{"class":136},[115,412,413],{"class":132},"\"\u002Fpath\u002Fto\u002Fimage.jpg\"",[115,415,215],{"class":136},[115,417,418],{"class":132},"\"rb\"",[115,420,421],{"class":136},") ",[115,423,424],{"class":155},"as",[115,426,427],{"class":136}," f:\n",[115,429,430,433,435,438,441],{"class":117,"line":276},[115,431,432],{"class":136},"    encoded ",[115,434,183],{"class":155},[115,436,437],{"class":136}," base64.b64encode(f.read()).decode(",[115,439,440],{"class":132},"\"utf-8\"",[115,442,235],{"class":136},[115,444,446],{"class":117,"line":445},9,[115,447,174],{"emptyLinePlaceholder":173},[115,449,451,454,456,458,461,464,467,470,473,475,477],{"class":117,"line":450},10,[115,452,453],{"class":136},"payload ",[115,455,183],{"class":155},[115,457,186],{"class":136},[115,459,460],{"class":132},"\"inline_data\"",[115,462,463],{"class":136},": {",[115,465,466],{"class":132},"\"mime_type\"",[115,468,469],{"class":136},": ",[115,471,472],{"class":132},"\"image\u002Fjpg\"",[115,474,215],{"class":136},[115,476,264],{"class":132},[115,478,479],{"class":136},": encoded}}\n",[115,481,483,485,487,490,493,495,498,500,503,505,507],{"class":117,"line":482},11,[115,484,204],{"class":136},[115,486,183],{"class":155},[115,488,489],{"class":136}," requests.post(",[115,491,492],{"class":132},"\"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar\"",[115,494,215],{"class":136},[115,496,497],{"class":218},"json",[115,499,183],{"class":155},[115,501,502],{"class":136},"payload, ",[115,504,219],{"class":218},[115,506,183],{"class":155},[115,508,509],{"class":136},"headers)\n",[115,511,513,515,518,520,522,525],{"class":117,"line":512},12,[115,514,252],{"class":125},[115,516,517],{"class":136},"(response.json()[",[115,519,264],{"class":132},[115,521,267],{"class":136},[115,523,524],{"class":132},"\"avatar_id\"",[115,526,527],{"class":136},"])\n",[10,529,530,531,533],{},"Store the returned ",[14,532,16],{}," — you will pass it to every video request that should feature this avatar.",[10,535,536,540],{},[537,538,539],"strong",{},"Photo requirements:"," use a single, clear, front-facing portrait for best results. Supported formats are JPEG, PNG, WEBP, and HEIC, up to 10 MB.",[19,542,544],{"id":543},"use-an-avatar-in-a-talking-video","Use an avatar in a talking video",[10,546,547,548,550],{},"Pass the ",[14,549,16],{}," when creating a video:",[106,552,555],{"className":553,"code":554,"language":497,"meta":111,"style":111},"language-json shiki shiki-themes github-light github-dark","{\n  \"model_id\": \"vs_character_v4\",\n  \"avatar_id\": \"YOUR_AVATAR_ID\",\n  \"text_script\": { \"text\": \"Hello!\", \"voice_id\": \"YOUR_VOICE_ID\" }\n}\n",[14,556,557,562,575,587,616],{"__ignoreMap":111},[115,558,559],{"class":117,"line":118},[115,560,561],{"class":136},"{\n",[115,563,564,567,569,572],{"class":117,"line":162},[115,565,566],{"class":125},"  \"model_id\"",[115,568,469],{"class":136},[115,570,571],{"class":132},"\"vs_character_v4\"",[115,573,574],{"class":136},",\n",[115,576,577,580,582,585],{"class":117,"line":170},[115,578,579],{"class":125},"  \"avatar_id\"",[115,581,469],{"class":136},[115,583,584],{"class":132},"\"YOUR_AVATAR_ID\"",[115,586,574],{"class":136},[115,588,589,592,595,598,600,603,605,608,610,613],{"class":117,"line":177},[115,590,591],{"class":125},"  \"text_script\"",[115,593,594],{"class":136},": { ",[115,596,597],{"class":125},"\"text\"",[115,599,469],{"class":136},[115,601,602],{"class":132},"\"Hello!\"",[115,604,215],{"class":136},[115,606,607],{"class":125},"\"voice_id\"",[115,609,469],{"class":136},[115,611,612],{"class":132},"\"YOUR_VOICE_ID\"",[115,614,615],{"class":136}," }\n",[115,617,618],{"class":117,"line":201},[115,619,620],{"class":136},"}\n",[10,622,623,624,629],{},"See the ",[625,626,628],"a",{"href":627},"\u002Fguides\u002Fquick-start","Quick start"," for the full generate-poll-download flow.",[19,631,633],{"id":632},"delete-a-custom-avatar","Delete a custom avatar",[10,635,636],{},"Deleting only affects your own custom avatars; videos already generated with it are unaffected:",[106,638,640],{"className":108,"code":639,"language":110,"meta":111,"style":111},"curl -s -X DELETE -H \"X-API-Key: $VISIONSTORY_API_KEY\" \"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar?avatar_id=YOUR_AVATAR_ID\"\n",[14,641,642],{"__ignoreMap":111},[115,643,644,646,648,651,654,656,658,660,662],{"class":117,"line":118},[115,645,122],{"class":121},[115,647,126],{"class":125},[115,649,650],{"class":125}," -X",[115,652,653],{"class":132}," DELETE",[115,655,129],{"class":125},[115,657,133],{"class":132},[115,659,137],{"class":136},[115,661,140],{"class":132},[115,663,664],{"class":132}," \"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar?avatar_id=YOUR_AVATAR_ID\"\n",[19,666,668],{"id":667},"related-visionstory-api-guides","Related VisionStory API guides",[670,671,672,680,685],"ul",{},[673,674,675,679],"li",{},[625,676,678],{"href":677},"\u002Fguides\u002Fvoices","Voices"," — pick or clone the voice your avatar speaks with.",[673,681,682,684],{},[625,683,628],{"href":627}," — generate your first video.",[673,686,687,691],{},[625,688,690],{"href":689},"\u002Freference","API reference"," — full request and response schemas.",[693,694,695],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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 pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":111,"searchDepth":162,"depth":162,"links":697},[698,699,700,701,702,703],{"id":21,"depth":162,"text":22},{"id":92,"depth":162,"text":93},{"id":302,"depth":162,"text":303},{"id":543,"depth":162,"text":544},{"id":632,"depth":162,"text":633},{"id":667,"depth":162,"text":668},"List public AI avatars, create a reusable custom talking avatar from one portrait photo, and use its avatar_id in VisionStory video generation requests.","md",{},{"title":708,"order":170},"Avatars","\u002Fguides\u002Favatars",{"title":5,"description":704},"guides\u002Favatars","dQwUXHThLpRgRdBtjkvwhNAHJNmkfeLAsS1Ok_DmZ6s","\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:#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>\u003Cspan style=\"color:#A5D6FF\">\"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatars\"\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>\u003Cspan style=\"color:#FFA657\">timeout\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">10\u003C\u002Fspan>\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\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">len\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(resp_data[\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"data\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">][\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"public_avatars\"\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\">(\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\">len\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(resp_data[\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"data\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">][\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"my_avatars\"\u003C\u002Fspan>\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:#79C0FF\"> -H\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> \"Content-Type: application\u002Fjson\"\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> -d\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> '{\"img_url\": \"https:\u002F\u002Fyour.site\u002Fportrait.jpg\"}'\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar\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:#FF7B72\">import\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> base64\u003C\u002Fspan>\u003C\u002Fspan>\n\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\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#FF7B72\">with\u003C\u002Fspan>\u003Cspan style=\"color:#79C0FF\"> open\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"\u002Fpath\u002Fto\u002Fimage.jpg\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"rb\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">) \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">as\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> f:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">    encoded \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> base64.b64encode(f.read()).decode(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"utf-8\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E6EDF3\">payload \u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> {\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"inline_data\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: {\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"mime_type\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"image\u002Fjpg\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"data\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: encoded}}\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.post(\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"https:\u002F\u002Fopenapi.visionstory.ai\u002Fapi\u002Fv1\u002Favatar\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#FFA657\">json\u003C\u002Fspan>\u003Cspan style=\"color:#FF7B72\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">payload, \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:#79C0FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">(response.json()[\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"data\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">][\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"avatar_id\"\u003C\u002Fspan>\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:#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\">  \"avatar_id\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"YOUR_AVATAR_ID\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#7EE787\">  \"text_script\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: { \u003C\u002Fspan>\u003Cspan style=\"color:#7EE787\">\"text\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"Hello!\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">, \u003C\u002Fspan>\u003Cspan style=\"color:#7EE787\">\"voice_id\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\">\"YOUR_VOICE_ID\"\u003C\u002Fspan>\u003Cspan style=\"color:#E6EDF3\"> }\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\"> -X\u003C\u002Fspan>\u003Cspan style=\"color:#A5D6FF\"> DELETE\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\u002Favatar?avatar_id=YOUR_AVATAR_ID\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1788166855861]