[{"data":1,"prerenderedAt":483},["ShallowReactive",2],{"docs-/zh/docs/authentication":3},{"id":4,"title":5,"body":6,"description":476,"extension":477,"meta":478,"navigation":170,"path":479,"seo":480,"stem":481,"__hash__":482},"content/zh/docs/authentication.md","身份认证 - Seedance 2.0 API",{"type":7,"value":8,"toc":465},"minimark",[9,13,22,27,53,57,67,71,74,80,85,145,149,288,292,409,412,435,438,461],[10,11,12],"h1",{"id":12},"身份认证",[14,15,16,17,21],"p",{},"所有 API 请求都需要在 ",[18,19,20],"code",{},"Authorization"," 请求头中使用 Bearer 令牌进行身份认证。",[23,24,26],"h2",{"id":25},"获取-api-密钥","获取 API 密钥",[28,29,30,42,50],"ol",{},[31,32,33,34,41],"li",{},"在 ",[35,36,40],"a",{"href":37,"rel":38},"https://evolink.ai",[39],"nofollow","EvoLink"," 注册账户",[31,43,44,45],{},"前往 ",[35,46,49],{"href":47,"rel":48},"https://evolink.ai/dashboard/keys",[39],"API 密钥管理页面",[31,51,52],{},"创建新密钥并复制保存 — 请妥善保管",[23,54,56],{"id":55},"基础-url","基础 URL",[58,59,64],"pre",{"className":60,"code":62,"language":63},[61],"language-text","https://api.evolink.ai\n","text",[18,65,62],{"__ignoreMap":66},"",[23,68,70],{"id":69},"使用-api-密钥","使用 API 密钥",[14,72,73],{},"在每个请求的请求头中包含 API 密钥：",[58,75,78],{"className":76,"code":77,"language":63},[61],"Authorization: Bearer YOUR_API_KEY\n",[18,79,77],{"__ignoreMap":66},[81,82,84],"h3",{"id":83},"curl-示例","cURL 示例",[58,86,90],{"className":87,"code":88,"language":89,"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\", \"prompt\": \"A cat playing piano\"}'\n","bash",[18,91,92,115,126,136],{"__ignoreMap":66},[93,94,97,101,105,109,112],"span",{"class":95,"line":96},"line",1,[93,98,100],{"class":99},"svObZ","curl",[93,102,104],{"class":103},"sDLfK"," -X",[93,106,108],{"class":107},"sU2Wk"," POST",[93,110,111],{"class":107}," https://api.evolink.ai/v1/videos/generations",[93,113,114],{"class":103}," \\\n",[93,116,118,121,124],{"class":95,"line":117},2,[93,119,120],{"class":103},"  -H",[93,122,123],{"class":107}," \"Authorization: Bearer YOUR_API_KEY\"",[93,125,114],{"class":103},[93,127,129,131,134],{"class":95,"line":128},3,[93,130,120],{"class":103},[93,132,133],{"class":107}," \"Content-Type: application/json\"",[93,135,114],{"class":103},[93,137,139,142],{"class":95,"line":138},4,[93,140,141],{"class":103},"  -d",[93,143,144],{"class":107}," '{\"model\": \"seedance-2.0\", \"prompt\": \"A cat playing piano\"}'\n",[81,146,148],{"id":147},"python-示例","Python 示例",[58,150,154],{"className":151,"code":152,"language":153,"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={\"model\": \"seedance-2.0\", \"prompt\": \"A sunset over the ocean\"}\n)\n","python",[18,155,156,166,172,183,197,208,214,219,230,238,250,282],{"__ignoreMap":66},[93,157,158,162],{"class":95,"line":96},[93,159,161],{"class":160},"snl16","import",[93,163,165],{"class":164},"s95oV"," requests\n",[93,167,168],{"class":95,"line":117},[93,169,171],{"emptyLinePlaceholder":170},true,"\n",[93,173,174,177,180],{"class":95,"line":128},[93,175,176],{"class":164},"headers ",[93,178,179],{"class":160},"=",[93,181,182],{"class":164}," {\n",[93,184,185,188,191,194],{"class":95,"line":138},[93,186,187],{"class":107},"    \"Authorization\"",[93,189,190],{"class":164},": ",[93,192,193],{"class":107},"\"Bearer YOUR_API_KEY\"",[93,195,196],{"class":164},",\n",[93,198,200,203,205],{"class":95,"line":199},5,[93,201,202],{"class":107},"    \"Content-Type\"",[93,204,190],{"class":164},[93,206,207],{"class":107},"\"application/json\"\n",[93,209,211],{"class":95,"line":210},6,[93,212,213],{"class":164},"}\n",[93,215,217],{"class":95,"line":216},7,[93,218,171],{"emptyLinePlaceholder":170},[93,220,222,225,227],{"class":95,"line":221},8,[93,223,224],{"class":164},"response ",[93,226,179],{"class":160},[93,228,229],{"class":164}," requests.post(\n",[93,231,233,236],{"class":95,"line":232},9,[93,234,235],{"class":107},"    \"https://api.evolink.ai/v1/videos/generations\"",[93,237,196],{"class":164},[93,239,241,245,247],{"class":95,"line":240},10,[93,242,244],{"class":243},"s9osk","    headers",[93,246,179],{"class":160},[93,248,249],{"class":164},"headers,\n",[93,251,253,256,258,261,264,266,269,272,275,277,280],{"class":95,"line":252},11,[93,254,255],{"class":243},"    json",[93,257,179],{"class":160},[93,259,260],{"class":164},"{",[93,262,263],{"class":107},"\"model\"",[93,265,190],{"class":164},[93,267,268],{"class":107},"\"seedance-2.0\"",[93,270,271],{"class":164},", ",[93,273,274],{"class":107},"\"prompt\"",[93,276,190],{"class":164},[93,278,279],{"class":107},"\"A sunset over the ocean\"",[93,281,213],{"class":164},[93,283,285],{"class":95,"line":284},12,[93,286,287],{"class":164},")\n",[81,289,291],{"id":290},"nodejs-示例","Node.js 示例",[58,293,297],{"className":294,"code":295,"language":296,"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\",\n        prompt: \"A sunset over the ocean\"\n    })\n});\n","javascript",[18,298,299,325,335,340,351,360,365,382,391,399,404],{"__ignoreMap":66},[93,300,301,304,307,310,313,316,319,322],{"class":95,"line":96},[93,302,303],{"class":160},"const",[93,305,306],{"class":103}," response",[93,308,309],{"class":160}," =",[93,311,312],{"class":160}," await",[93,314,315],{"class":99}," fetch",[93,317,318],{"class":164},"(",[93,320,321],{"class":107},"\"https://api.evolink.ai/v1/videos/generations\"",[93,323,324],{"class":164},", {\n",[93,326,327,330,333],{"class":95,"line":117},[93,328,329],{"class":164},"    method: ",[93,331,332],{"class":107},"\"POST\"",[93,334,196],{"class":164},[93,336,337],{"class":95,"line":128},[93,338,339],{"class":164},"    headers: {\n",[93,341,342,345,347,349],{"class":95,"line":138},[93,343,344],{"class":107},"        \"Authorization\"",[93,346,190],{"class":164},[93,348,193],{"class":107},[93,350,196],{"class":164},[93,352,353,356,358],{"class":95,"line":199},[93,354,355],{"class":107},"        \"Content-Type\"",[93,357,190],{"class":164},[93,359,207],{"class":107},[93,361,362],{"class":95,"line":210},[93,363,364],{"class":164},"    },\n",[93,366,367,370,373,376,379],{"class":95,"line":216},[93,368,369],{"class":164},"    body: ",[93,371,372],{"class":103},"JSON",[93,374,375],{"class":164},".",[93,377,378],{"class":99},"stringify",[93,380,381],{"class":164},"({\n",[93,383,384,387,389],{"class":95,"line":221},[93,385,386],{"class":164},"        model: ",[93,388,268],{"class":107},[93,390,196],{"class":164},[93,392,393,396],{"class":95,"line":232},[93,394,395],{"class":164},"        prompt: ",[93,397,398],{"class":107},"\"A sunset over the ocean\"\n",[93,400,401],{"class":95,"line":240},[93,402,403],{"class":164},"    })\n",[93,405,406],{"class":95,"line":252},[93,407,408],{"class":164},"});\n",[23,410,411],{"id":411},"安全最佳实践",[413,414,415,422,425,432],"ul",{},[31,416,417,421],{},[418,419,420],"strong",{},"切勿暴露"," API 密钥在客户端代码或公开仓库中",[31,423,424],{},"将密钥存储在环境变量或密钥管理器中",[31,426,427,428,431],{},"定期在 ",[35,429,49],{"href":47,"rel":430},[39]," 轮换密钥",[31,433,434],{},"开发环境和生产环境使用不同的密钥",[23,436,437],{"id":437},"相关文档",[413,439,440,447,454],{},[31,441,442,446],{},[35,443,445],{"href":444},"/docs/getting-started","快速入门"," — 快速上手使用",[31,448,449,453],{},[35,450,452],{"href":451},"/docs/rate-limits","速率限制"," — 了解速率限制机制",[31,455,456,460],{},[35,457,459],{"href":458},"/docs/error-codes","错误码"," — 处理身份认证错误",[462,463,464],"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":117,"depth":117,"links":466},[467,468,469,474,475],{"id":25,"depth":117,"text":26},{"id":55,"depth":117,"text":56},{"id":69,"depth":117,"text":70,"children":470},[471,472,473],{"id":83,"depth":128,"text":84},{"id":147,"depth":128,"text":148},{"id":290,"depth":128,"text":291},{"id":411,"depth":117,"text":411},{"id":437,"depth":117,"text":437},"了解如何使用 Bearer token 对 Seedance 2.0 API 进行身份认证。","md",{},"/zh/docs/authentication",{"title":5,"description":476},"zh/docs/authentication","PnYiPIb5l_JdR2jrQd_BOoulmFTH_rSGqGaUbNegtJM",1775067578576]