[{"data":1,"prerenderedAt":958},["ShallowReactive",2],{"navigation_docs_zh":3,"-zh-api-errors":79,"-zh-api-errors-surround":955},[4,25,41,58],{"title":5,"path":6,"stem":7,"children":8,"page":24},"快速开始","/zh/quick-start","zh/1.quick-start",[9,12,16,20],{"title":5,"path":10,"stem":11},"/zh/quick-start/overview","zh/1.quick-start/0.overview",{"title":13,"path":14,"stem":15},"安装与下载","/zh/quick-start/install","zh/1.quick-start/1.install",{"title":17,"path":18,"stem":19},"首次启动与第一条对话","/zh/quick-start/first-run","zh/1.quick-start/2.first-run",{"title":21,"path":22,"stem":23},"macOS 安装指南","/zh/quick-start/macos-install","zh/1.quick-start/3.macos-install",false,{"title":26,"path":27,"stem":28,"children":29,"page":24},"使用手册","/zh/manual","zh/2.manual",[30,33,37],{"title":26,"path":31,"stem":32},"/zh/manual/overview","zh/2.manual/0.overview",{"title":34,"path":35,"stem":36},"供应商与模型配置","/zh/manual/providers","zh/2.manual/1.providers",{"title":38,"path":39,"stem":40},"会话与上下文管理","/zh/manual/chat-and-context","zh/2.manual/2.chat-and-context",{"title":42,"path":43,"stem":44,"children":45,"page":24},"常见问题","/zh/faq","zh/3.faq",[46,50,54],{"title":47,"path":48,"stem":49},"常见问题（FAQ）","/zh/faq/overview","zh/3.faq/0.overview",{"title":51,"path":52,"stem":53},"隐私政策","/zh/faq/privacy-policy","zh/3.faq/1.privacy-policy",{"title":55,"path":56,"stem":57},"账号删除说明","/zh/faq/account-deletion","zh/3.faq/2.account-deletion",{"title":59,"path":60,"stem":61,"children":62,"page":24},"开发者","/zh/api","zh/4.api",[63,67,71,75],{"title":64,"path":65,"stem":66},"开发者 API","/zh/api/overview","zh/4.api/0.overview",{"title":68,"path":69,"stem":70},"对话与向量","/zh/api/chat","zh/4.api/1.chat",{"title":72,"path":73,"stem":74},"生图与视频","/zh/api/images","zh/4.api/2.images",{"title":76,"path":77,"stem":78},"错误、限额与计费","/zh/api/errors","zh/4.api/3.errors",{"id":80,"title":76,"body":81,"description":948,"extension":949,"links":950,"meta":951,"navigation":952,"path":77,"seo":953,"stem":78,"__hash__":954},"docs_zh/zh/4.api/3.errors.md",{"type":82,"value":83,"toc":940},"minimark",[84,88,92,322,335,338,567,571,574,652,659,668,671,674,710,721,724,731,751,758,767,856,862,865,868,936],[85,86,87],"h2",{"id":87},"错误响应的形状",[89,90,91],"p",{},"所有错误都是 OpenAI 格式：",[93,94,99],"pre",{"className":95,"code":96,"language":97,"meta":98,"style":98},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"error\": {\n    \"message\": \"API key is missing the \\\"images\\\" scope (it has: chat, responses, embeddings). Grant it on the key, or create a new key with this scope.\",\n    \"type\": \"permission_error\",\n    \"code\": \"developer_api_scope_denied\",\n    \"param\": null,\n    \"detail\": {\n      \"requiredScope\": \"images\",\n      \"grantedScopes\": [\"chat\", \"responses\", \"embeddings\"]\n    }\n  }\n}\n","json","",[100,101,102,111,130,168,189,209,224,238,260,304,310,316],"code",{"__ignoreMap":98},[103,104,107],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"sMK4o","{\n",[103,112,114,117,121,124,127],{"class":105,"line":113},2,[103,115,116],{"class":109},"  \"",[103,118,120],{"class":119},"spNyl","error",[103,122,123],{"class":109},"\"",[103,125,126],{"class":109},":",[103,128,129],{"class":109}," {\n",[103,131,133,136,140,142,144,147,151,155,158,160,163,165],{"class":105,"line":132},3,[103,134,135],{"class":109},"    \"",[103,137,139],{"class":138},"sBMFI","message",[103,141,123],{"class":109},[103,143,126],{"class":109},[103,145,146],{"class":109}," \"",[103,148,150],{"class":149},"sfazB","API key is missing the ",[103,152,154],{"class":153},"sTEyZ","\\\"",[103,156,157],{"class":149},"images",[103,159,154],{"class":153},[103,161,162],{"class":149}," scope (it has: chat, responses, embeddings). Grant it on the key, or create a new key with this scope.",[103,164,123],{"class":109},[103,166,167],{"class":109},",\n",[103,169,171,173,176,178,180,182,185,187],{"class":105,"line":170},4,[103,172,135],{"class":109},[103,174,175],{"class":138},"type",[103,177,123],{"class":109},[103,179,126],{"class":109},[103,181,146],{"class":109},[103,183,184],{"class":149},"permission_error",[103,186,123],{"class":109},[103,188,167],{"class":109},[103,190,192,194,196,198,200,202,205,207],{"class":105,"line":191},5,[103,193,135],{"class":109},[103,195,100],{"class":138},[103,197,123],{"class":109},[103,199,126],{"class":109},[103,201,146],{"class":109},[103,203,204],{"class":149},"developer_api_scope_denied",[103,206,123],{"class":109},[103,208,167],{"class":109},[103,210,212,214,217,219,221],{"class":105,"line":211},6,[103,213,135],{"class":109},[103,215,216],{"class":138},"param",[103,218,123],{"class":109},[103,220,126],{"class":109},[103,222,223],{"class":109}," null,\n",[103,225,227,229,232,234,236],{"class":105,"line":226},7,[103,228,135],{"class":109},[103,230,231],{"class":138},"detail",[103,233,123],{"class":109},[103,235,126],{"class":109},[103,237,129],{"class":109},[103,239,241,244,248,250,252,254,256,258],{"class":105,"line":240},8,[103,242,243],{"class":109},"      \"",[103,245,247],{"class":246},"sbssI","requiredScope",[103,249,123],{"class":109},[103,251,126],{"class":109},[103,253,146],{"class":109},[103,255,157],{"class":149},[103,257,123],{"class":109},[103,259,167],{"class":109},[103,261,263,265,268,270,272,275,277,280,282,285,287,290,292,294,296,299,301],{"class":105,"line":262},9,[103,264,243],{"class":109},[103,266,267],{"class":246},"grantedScopes",[103,269,123],{"class":109},[103,271,126],{"class":109},[103,273,274],{"class":109}," [",[103,276,123],{"class":109},[103,278,279],{"class":149},"chat",[103,281,123],{"class":109},[103,283,284],{"class":109},",",[103,286,146],{"class":109},[103,288,289],{"class":149},"responses",[103,291,123],{"class":109},[103,293,284],{"class":109},[103,295,146],{"class":109},[103,297,298],{"class":149},"embeddings",[103,300,123],{"class":109},[103,302,303],{"class":109},"]\n",[103,305,307],{"class":105,"line":306},10,[103,308,309],{"class":109},"    }\n",[103,311,313],{"class":105,"line":312},11,[103,314,315],{"class":109},"  }\n",[103,317,319],{"class":105,"line":318},12,[103,320,321],{"class":109},"}\n",[323,324,325,326,328,329,331,332,334],"tip",{},"**先读 ",[100,327,139],{}," 和 ",[100,330,231],{},"。**4xx 错误的这两个字段会直接写明下一步该做什么——缺哪个权限、\n该轮询哪个任务、哪个参数不对。不要只看 ",[100,333,100],{}," 就去猜。",[85,336,337],{"id":337},"常见错误码",[339,340,341,358],"table",{},[342,343,344],"thead",{},[345,346,347,352,355],"tr",{},[348,349,350],"th",{},[100,351,100],{},[348,353,354],{},"HTTP",[348,356,357],{},"含义与处理",[359,360,361,375,387,399,412,423,435,451,466,479,492,504,516,538,551],"tbody",{},[345,362,363,369,372],{},[364,365,366],"td",{},[100,367,368],{},"invalid_api_key",[364,370,371],{},"401",[364,373,374],{},"Key 不对或已被吊销。检查有没有复制完整",[345,376,377,382,384],{},[364,378,379],{},[100,380,381],{},"api_key_disabled",[364,383,371],{},[364,385,386],{},"Key 被停用了",[345,388,389,394,396],{},[364,390,391],{},[100,392,393],{},"api_key_expired",[364,395,371],{},[364,397,398],{},"Key 过期了",[345,400,401,406,409],{},[364,402,403],{},[100,404,405],{},"api_key_ip_not_allowed",[364,407,408],{},"403",[364,410,411],{},"你的出口 IP 不在这把 Key 的 IP 白名单里",[345,413,414,418,420],{},[364,415,416],{},[100,417,204],{},[364,419,408],{},[364,421,422],{},"Key 缺少这个端点需要的权限，见下文",[345,424,425,430,432],{},[364,426,427],{},[100,428,429],{},"model_not_allowed",[364,431,408],{},[364,433,434],{},"这把 Key 设了模型白名单，不含这个模型",[345,436,437,442,445],{},[364,438,439],{},[100,440,441],{},"model_not_found",[364,443,444],{},"404",[364,446,447,448],{},"这个模型不存在，或你的账户无权使用。先 ",[100,449,450],{},"GET /v1/models",[345,452,453,458,460],{},[364,454,455],{},[100,456,457],{},"insufficient_credits",[364,459,408],{},[364,461,462,463,465],{},"余额不足。",[100,464,231],{}," 里带着本次所需与当前余额",[345,467,468,473,476],{},[364,469,470],{},[100,471,472],{},"model_pricing_required",[364,474,475],{},"503",[364,477,478],{},"这个模型还没配价，联系管理员",[345,480,481,486,489],{},[364,482,483],{},[100,484,485],{},"rate_limit_exceeded",[364,487,488],{},"429",[364,490,491],{},"触发速率限制，退避后重试",[345,493,494,499,501],{},[364,495,496],{},[100,497,498],{},"daily_spend_limit_exceeded",[364,500,488],{},[364,502,503],{},"这把 Key 的当日消费上限到了",[345,505,506,511,513],{},[364,507,508],{},[100,509,510],{},"monthly_spend_limit_exceeded",[364,512,488],{},[364,514,515],{},"这把 Key 的当月消费上限到了",[345,517,518,523,526],{},[364,519,520],{},[100,521,522],{},"image_generation_timeout",[364,524,525],{},"504",[364,527,528,529,533,534,537],{},"生图超时，但",[530,531,532],"strong",{},"任务还在跑","，用 ",[100,535,536],{},"detail.taskId"," 去取",[345,539,540,545,548],{},[364,541,542],{},[100,543,544],{},"upstream_unavailable",[364,546,547],{},"502 / 503",[364,549,550],{},"上游模型服务出问题，可以重试",[345,552,553,558,561],{},[364,554,555],{},[100,556,557],{},"bad_request",[364,559,560],{},"400",[364,562,563,564,566],{},"参数不对，",[100,565,139],{}," 里会写明是哪个字段",[85,568,570],{"id":569},"权限范围scope","权限范围（scope）",[89,572,573],{},"每把 Key 带一组 scope，决定它能用哪些端点：",[339,575,576,586],{},[342,577,578],{},[345,579,580,583],{},[348,581,582],{},"scope",[348,584,585],{},"开放的端点",[359,587,588,599,610,621,637],{},[345,589,590,594],{},[364,591,592],{},[100,593,279],{},[364,595,596],{},[100,597,598],{},"/v1/chat/completions",[345,600,601,605],{},[364,602,603],{},[100,604,289],{},[364,606,607],{},[100,608,609],{},"/v1/responses",[345,611,612,616],{},[364,613,614],{},[100,615,298],{},[364,617,618],{},[100,619,620],{},"/v1/embeddings",[345,622,623,627],{},[364,624,625],{},[100,626,157],{},[364,628,629,632,633,636],{},[100,630,631],{},"/v1/images/generations","、",[100,634,635],{},"/v1/tasks","（图片）",[345,638,639,644],{},[364,640,641],{},[100,642,643],{},"videos",[364,645,646,632,649,651],{},[100,647,648],{},"/v1/videos",[100,650,635],{},"（视频）",[89,653,654,655,658],{},"新建的 Key 默认带上以上全部。",[100,656,657],{},"audio"," 这个 scope 暂时没有对应的端点。",[660,661,662,664,665,667],"note",{},[100,663,450],{}," 返回的模型也受 scope 过滤——一把只有 ",[100,666,279],{}," 的 Key 在列表里看不到生图模型。\n所以「模型列表里没有我要的模型」往往是 scope 问题，不是模型不存在。",[85,669,670],{"id":670},"限额",[89,672,673],{},"每把 Key 可以单独设：",[675,676,677,684,689,698,704],"ul",{},[678,679,680,683],"li",{},[530,681,682],{},"RPM"," — 每分钟请求数",[678,685,686],{},[530,687,688],{},"每日请求数",[678,690,691,694,695],{},[530,692,693],{},"每日消费上限"," / ",[530,696,697],{},"每月消费上限",[678,699,700,703],{},[530,701,702],{},"模型白名单"," — 只允许用列出的模型",[678,705,706,709],{},[530,707,708],{},"IP 白名单"," — 只允许从列出的 IP 调用",[89,711,712,713,715,717,718,720],{},"此外模型本身也可能有每日配额（请求数、图片张数等），触发时同样返回 ",[100,714,488],{},[100,716,485],{},"——",[100,719,139],{}," 会区分是哪一种。",[85,722,723],{"id":723},"计费",[89,725,726,727,730],{},"调用按",[530,728,729],{},"账户余额","扣费，与你在 BotHub 客户端里用内置 AI 是同一个余额。",[675,732,733,739,745],{},[678,734,735,738],{},[530,736,737],{},"对话 / 向量","：按 token 计费，区分输入、输出和缓存命中",[678,740,741,744],{},[530,742,743],{},"生图","：按张计费",[678,746,747,750],{},[530,748,749],{},"视频","：按模型配置的计量单位（时长等）计费",[89,752,753,754,757],{},"请求进来时会先",[530,755,756],{},"冻结一笔押金","，结束后按真实用量结算，多退少补——超出押金的部分照常入账。\n所以偶尔会看到余额先掉一块、随后回补一部分，这是正常的。",[89,759,760,761,763,764,766],{},"余额不足时返回 ",[100,762,457],{},"，",[100,765,231],{}," 里带着本次所需金额和当前余额（单位：分）：",[93,768,770],{"className":95,"code":769,"language":97,"meta":98,"style":98},"{\n  \"error\": {\n    \"code\": \"insufficient_credits\",\n    \"detail\": { \"requiredFen\": 320, \"balanceFen\": 95 }\n  }\n}\n",[100,771,772,776,788,806,848,852],{"__ignoreMap":98},[103,773,774],{"class":105,"line":106},[103,775,110],{"class":109},[103,777,778,780,782,784,786],{"class":105,"line":113},[103,779,116],{"class":109},[103,781,120],{"class":119},[103,783,123],{"class":109},[103,785,126],{"class":109},[103,787,129],{"class":109},[103,789,790,792,794,796,798,800,802,804],{"class":105,"line":132},[103,791,135],{"class":109},[103,793,100],{"class":138},[103,795,123],{"class":109},[103,797,126],{"class":109},[103,799,146],{"class":109},[103,801,457],{"class":149},[103,803,123],{"class":109},[103,805,167],{"class":109},[103,807,808,810,812,814,816,819,821,824,826,828,831,833,835,838,840,842,845],{"class":105,"line":170},[103,809,135],{"class":109},[103,811,231],{"class":138},[103,813,123],{"class":109},[103,815,126],{"class":109},[103,817,818],{"class":109}," {",[103,820,146],{"class":109},[103,822,823],{"class":246},"requiredFen",[103,825,123],{"class":109},[103,827,126],{"class":109},[103,829,830],{"class":246}," 320",[103,832,284],{"class":109},[103,834,146],{"class":109},[103,836,837],{"class":246},"balanceFen",[103,839,123],{"class":109},[103,841,126],{"class":109},[103,843,844],{"class":246}," 95",[103,846,847],{"class":109}," }\n",[103,849,850],{"class":105,"line":191},[103,851,315],{"class":109},[103,853,854],{"class":105,"line":211},[103,855,321],{"class":109},[89,857,858,861],{},[530,859,860],{},"查用量最方便的地方就是创建密钥的那个页面","——App 里的「外部调用」会按每把密钥列出最近 7 天\n的调用次数、token 数和花费。",[85,863,864],{"id":864},"排查顺序",[89,866,867],{},"调不通时按这个顺序查，通常前两步就能定位：",[869,870,871,886,899,908,917,930],"ol",{},[678,872,873,878],{},[530,874,875,877],{},[100,876,450],{}," 能不能通？",[675,879,880,883],{},[678,881,882],{},"401 → Key 的问题（复制不全、被吊销、过期）",[678,884,885],{},"能通但列表里没有你要的模型 → scope 或账户权限问题",[678,887,888,891,892,895,896,898],{},[530,889,890],{},"模型在列表里，但请求报错？"," 看 ",[100,893,894],{},"endpoints"," 字段，确认你发对了端点——\n生图模型发到 ",[100,897,598],{}," 是不会工作的",[678,900,901,904,905,907],{},[530,902,903],{},"403？"," 读 ",[100,906,139],{},"，它会写明缺的是哪个 scope，还是 IP 白名单、余额的问题",[678,909,910,913,914,916],{},[530,911,912],{},"429？"," 可能是 RPM、日请求数、消费上限或模型配额，",[100,915,139],{}," 会说是哪一种；退避后重试",[678,918,919,922,923,925,926,929],{},[530,920,921],{},"504 生图超时？"," 任务没有失败，用 ",[100,924,536],{}," 去 ",[100,927,928],{},"GET /v1/tasks/{id}"," 取结果，\n并把客户端超时调长",[678,931,932,935],{},[530,933,934],{},"502 / 503？"," 上游模型服务的问题，退避后重试",[937,938,939],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}",{"title":98,"searchDepth":113,"depth":113,"links":941},[942,943,944,945,946,947],{"id":87,"depth":113,"text":87},{"id":337,"depth":113,"text":337},{"id":569,"depth":113,"text":570},{"id":670,"depth":113,"text":670},{"id":723,"depth":113,"text":723},{"id":864,"depth":113,"text":864},"错误码含义、排查顺序、速率与消费限额，以及余额怎么扣。","md",null,{},true,{"title":76,"description":948},"DnuCMytGOixhxIVAkBV-tcxckxXtI89psExMNFf8fCI",[956,950],{"title":72,"path":73,"stem":74,"description":957,"children":-1},"同步拿图、异步任务、图片编辑与视频生成。",1790522452945]