[{"data":1,"prerenderedAt":513},["ShallowReactive",2],{"docs-/docs/authentication":3},{"id":4,"title":5,"body":6,"description":506,"extension":507,"meta":508,"navigation":193,"path":509,"seo":510,"stem":511,"__hash__":512},"content/en/docs/authentication.md","Authentication - Seedance 2.0 API",{"type":7,"value":8,"toc":495},"minimark",[9,14,23,28,53,57,67,71,74,80,103,108,168,172,320,324,439,443,464,468,491],[10,11,13],"h1",{"id":12},"authentication","Authentication",[15,16,17,18,22],"p",{},"All API requests require authentication via a Bearer token in the ",[19,20,21],"code",{},"Authorization"," header.",[24,25,27],"h2",{"id":26},"getting-your-api-key","Getting Your API Key",[29,30,31,42,50],"ol",{},[32,33,34,35],"li",{},"Sign up at ",[36,37,41],"a",{"href":38,"rel":39},"https://evolink.ai",[40],"nofollow","EvoLink",[32,43,44,45],{},"Navigate to your ",[36,46,49],{"href":47,"rel":48},"https://evolink.ai/dashboard/keys",[40],"API Key Management Page",[32,51,52],{},"Create a new key and copy it — store it securely",[24,54,56],{"id":55},"base-url","Base URL",[58,59,64],"pre",{"className":60,"code":62,"language":63},[61],"language-text","https://api.evolink.ai\n","text",[19,65,62],{"__ignoreMap":66},"",[24,68,70],{"id":69},"using-your-api-key","Using Your API Key",[15,72,73],{},"Include the API key in every request header:",[58,75,78],{"className":76,"code":77,"language":63},[61],"Authorization: Bearer YOUR_API_KEY\n",[19,79,77],{"__ignoreMap":66},[81,82,83],"blockquote",{},[15,84,85,89,90,93,94,97,98,102],{},[86,87,88],"strong",{},"Note:"," The ",[19,91,92],{},"model"," field in the examples below uses ",[19,95,96],{},"seedance-2.0-text-to-video",". Seedance 2.0 has 6 model IDs — pick one based on your input type. See ",[36,99,101],{"href":100},"/docs/models-overview","Models Overview",".",[104,105,107],"h3",{"id":106},"curl-example","cURL Example",[58,109,113],{"className":110,"code":111,"language":112,"meta":66,"style":66},"language-bash shiki shiki-themes github-dark","curl -X POST https://api.evolink.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"seedance-2.0-text-to-video\", \"prompt\": \"A cat playing piano\"}'\n","bash",[19,114,115,138,149,159],{"__ignoreMap":66},[116,117,120,124,128,132,135],"span",{"class":118,"line":119},"line",1,[116,121,123],{"class":122},"svObZ","curl",[116,125,127],{"class":126},"sDLfK"," -X",[116,129,131],{"class":130},"sU2Wk"," POST",[116,133,134],{"class":130}," https://api.evolink.ai/v1/videos/generations",[116,136,137],{"class":126}," \\\n",[116,139,141,144,147],{"class":118,"line":140},2,[116,142,143],{"class":126},"  -H",[116,145,146],{"class":130}," \"Authorization: Bearer YOUR_API_KEY\"",[116,148,137],{"class":126},[116,150,152,154,157],{"class":118,"line":151},3,[116,153,143],{"class":126},[116,155,156],{"class":130}," \"Content-Type: application/json\"",[116,158,137],{"class":126},[116,160,162,165],{"class":118,"line":161},4,[116,163,164],{"class":126},"  -d",[116,166,167],{"class":130}," '{\"model\": \"seedance-2.0-text-to-video\", \"prompt\": \"A cat playing piano\"}'\n",[104,169,171],{"id":170},"python-example","Python Example",[58,173,177],{"className":174,"code":175,"language":176,"meta":66,"style":66},"language-python shiki shiki-themes github-dark","import requests\n\nheaders = {\n    \"Authorization\": \"Bearer YOUR_API_KEY\",\n    \"Content-Type\": \"application/json\"\n}\n\nresponse = requests.post(\n    \"https://api.evolink.ai/v1/videos/generations\",\n    headers=headers,\n    json={\n        \"model\": \"seedance-2.0-text-to-video\",\n        \"prompt\": \"A sunset over the ocean\"\n    }\n)\n","python",[19,178,179,189,195,206,220,231,237,242,253,261,273,284,297,308,314],{"__ignoreMap":66},[116,180,181,185],{"class":118,"line":119},[116,182,184],{"class":183},"snl16","import",[116,186,188],{"class":187},"s95oV"," requests\n",[116,190,191],{"class":118,"line":140},[116,192,194],{"emptyLinePlaceholder":193},true,"\n",[116,196,197,200,203],{"class":118,"line":151},[116,198,199],{"class":187},"headers ",[116,201,202],{"class":183},"=",[116,204,205],{"class":187}," {\n",[116,207,208,211,214,217],{"class":118,"line":161},[116,209,210],{"class":130},"    \"Authorization\"",[116,212,213],{"class":187},": ",[116,215,216],{"class":130},"\"Bearer YOUR_API_KEY\"",[116,218,219],{"class":187},",\n",[116,221,223,226,228],{"class":118,"line":222},5,[116,224,225],{"class":130},"    \"Content-Type\"",[116,227,213],{"class":187},[116,229,230],{"class":130},"\"application/json\"\n",[116,232,234],{"class":118,"line":233},6,[116,235,236],{"class":187},"}\n",[116,238,240],{"class":118,"line":239},7,[116,241,194],{"emptyLinePlaceholder":193},[116,243,245,248,250],{"class":118,"line":244},8,[116,246,247],{"class":187},"response ",[116,249,202],{"class":183},[116,251,252],{"class":187}," requests.post(\n",[116,254,256,259],{"class":118,"line":255},9,[116,257,258],{"class":130},"    \"https://api.evolink.ai/v1/videos/generations\"",[116,260,219],{"class":187},[116,262,264,268,270],{"class":118,"line":263},10,[116,265,267],{"class":266},"s9osk","    headers",[116,269,202],{"class":183},[116,271,272],{"class":187},"headers,\n",[116,274,276,279,281],{"class":118,"line":275},11,[116,277,278],{"class":266},"    json",[116,280,202],{"class":183},[116,282,283],{"class":187},"{\n",[116,285,287,290,292,295],{"class":118,"line":286},12,[116,288,289],{"class":130},"        \"model\"",[116,291,213],{"class":187},[116,293,294],{"class":130},"\"seedance-2.0-text-to-video\"",[116,296,219],{"class":187},[116,298,300,303,305],{"class":118,"line":299},13,[116,301,302],{"class":130},"        \"prompt\"",[116,304,213],{"class":187},[116,306,307],{"class":130},"\"A sunset over the ocean\"\n",[116,309,311],{"class":118,"line":310},14,[116,312,313],{"class":187},"    }\n",[116,315,317],{"class":118,"line":316},15,[116,318,319],{"class":187},")\n",[104,321,323],{"id":322},"nodejs-example","Node.js Example",[58,325,329],{"className":326,"code":327,"language":328,"meta":66,"style":66},"language-javascript shiki shiki-themes github-dark","const response = await fetch(\"https://api.evolink.ai/v1/videos/generations\", {\n    method: \"POST\",\n    headers: {\n        \"Authorization\": \"Bearer YOUR_API_KEY\",\n        \"Content-Type\": \"application/json\"\n    },\n    body: JSON.stringify({\n        model: \"seedance-2.0-text-to-video\",\n        prompt: \"A sunset over the ocean\"\n    })\n});\n","javascript",[19,330,331,357,367,372,383,392,397,413,422,429,434],{"__ignoreMap":66},[116,332,333,336,339,342,345,348,351,354],{"class":118,"line":119},[116,334,335],{"class":183},"const",[116,337,338],{"class":126}," response",[116,340,341],{"class":183}," =",[116,343,344],{"class":183}," await",[116,346,347],{"class":122}," fetch",[116,349,350],{"class":187},"(",[116,352,353],{"class":130},"\"https://api.evolink.ai/v1/videos/generations\"",[116,355,356],{"class":187},", {\n",[116,358,359,362,365],{"class":118,"line":140},[116,360,361],{"class":187},"    method: ",[116,363,364],{"class":130},"\"POST\"",[116,366,219],{"class":187},[116,368,369],{"class":118,"line":151},[116,370,371],{"class":187},"    headers: {\n",[116,373,374,377,379,381],{"class":118,"line":161},[116,375,376],{"class":130},"        \"Authorization\"",[116,378,213],{"class":187},[116,380,216],{"class":130},[116,382,219],{"class":187},[116,384,385,388,390],{"class":118,"line":222},[116,386,387],{"class":130},"        \"Content-Type\"",[116,389,213],{"class":187},[116,391,230],{"class":130},[116,393,394],{"class":118,"line":233},[116,395,396],{"class":187},"    },\n",[116,398,399,402,405,407,410],{"class":118,"line":239},[116,400,401],{"class":187},"    body: ",[116,403,404],{"class":126},"JSON",[116,406,102],{"class":187},[116,408,409],{"class":122},"stringify",[116,411,412],{"class":187},"({\n",[116,414,415,418,420],{"class":118,"line":244},[116,416,417],{"class":187},"        model: ",[116,419,294],{"class":130},[116,421,219],{"class":187},[116,423,424,427],{"class":118,"line":255},[116,425,426],{"class":187},"        prompt: ",[116,428,307],{"class":130},[116,430,431],{"class":118,"line":263},[116,432,433],{"class":187},"    })\n",[116,435,436],{"class":118,"line":275},[116,437,438],{"class":187},"});\n",[24,440,442],{"id":441},"security-best-practices","Security Best Practices",[444,445,446,452,455,461],"ul",{},[32,447,448,451],{},[86,449,450],{},"Never expose"," your API key in client-side code or public repositories",[32,453,454],{},"Store keys in environment variables or a secrets manager",[32,456,457,458],{},"Rotate keys periodically from your ",[36,459,49],{"href":47,"rel":460},[40],[32,462,463],{},"Use separate keys for development and production",[24,465,467],{"id":466},"related","Related",[444,469,470,477,484],{},[32,471,472,476],{},[36,473,475],{"href":474},"/docs/getting-started","Quick Start"," — Get up and running",[32,478,479,483],{},[36,480,482],{"href":481},"/docs/rate-limits","Rate Limits"," — Understand rate limiting",[32,485,486,490],{},[36,487,489],{"href":488},"/docs/error-codes","Error Codes"," — Handle authentication errors",[492,493,494],"style",{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#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 pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}",{"title":66,"searchDepth":140,"depth":140,"links":496},[497,498,499,504,505],{"id":26,"depth":140,"text":27},{"id":55,"depth":140,"text":56},{"id":69,"depth":140,"text":70,"children":500},[501,502,503],{"id":106,"depth":151,"text":107},{"id":170,"depth":151,"text":171},{"id":322,"depth":151,"text":323},{"id":441,"depth":140,"text":442},{"id":466,"depth":140,"text":467},"Learn how to authenticate with the Seedance 2.0 API using Bearer tokens.","md",{},"/en/docs/authentication",{"title":5,"description":506},"en/docs/authentication","5aihBbPJcF2W7dlJSSjR5Q-K-KNbN2KStUzM6FtaEDU",1776086323251]