跳到正文
全部文档

参考

错误

错误以 OpenAI 的格式返回,包含一个稳定的 code 供你匹配,以及一段面向人类阅读的 message。被拒绝或失败的调用不收取费用。

核对于 2026年10月26日

格式

Response
{
  "error": {
    "type": "rate_limit_error",
    "code": "daily_cap",
    "message": "This call needs up to $0.02 and the key has $0.01 left of its $2.00 daily cap, which resets at 00:00 UTC. …"
  }
}

请根据 code 来判断,不要依据 message:消息文字可能会改动,代码则保持不变。type 与 OpenAI 的保持一致,因此 SDK 会抛出你预期的异常。

全部错误代码

状态码错误码何时出现解决方法
401missing_key没有发送密钥。以 Authorization: Bearer sk-nokeep-… 的形式发送。在控制台创建密钥,或先试试 sk-nokeep-test。
401invalid_key密钥错误,或已被撤销。从你保存的地方重新复制密钥;控制台只显示最后四个字符。丢失了就新建一个。
403account_frozen该密钥所属账户的付费功能已暂停。请通过联系页面联系我们。
429rate_limited该密钥一分钟内发送了超过 120 个请求(测试密钥为每个地址 20 个)。等待 Retry-After 中的秒数后重试。
429daily_cap这次调用可能超过密钥的每日上限。在控制台提高上限、调低 max_tokens,或等到 00:00 UTC(Retry-After 会告诉你还要多久)。
402insufficient_credits账户中购买的积分不够支付这次调用。在控制台充值,$5 起;或调低 max_tokens。套餐的积分只在应用内使用。
400invalid_json请求体不是 JSON 对象。发送 Content-Type: application/json 和一个 JSON 对象。
413too_large请求超过 12 MB。用链接而不是 data URL 发送图片,或一次少发几张。
404model_not_found这个模型 ID 不是我们的。GET /v1/models 会列出所有 ID。检查是否拼错,或漏了 -uncensored。
400invalid_messagesmessages 缺失或为空、过长、含有未知 role,或某条 tool 消息没有 tool_call_id。发送 1 到 2,000 条消息,每条的 role 为 system、developer、user、assistant 或 tool。
400unsupported_nn 大于 1。每需要一条回复就发送一个请求。
400invalid_reasoning_effort该模型不接受这个 reasoning_effort。DeepSeek 接受 none、low、high 或 max。GLM 接受 low 或 high。
400unsupported_tool_choiceGLM 收到了指定函数或 "required" 作为 tool_choice。给 GLM 发送 auto 或 none,它会自己选工具。DeepSeek 接受所有形式。
400unsupported_input某个内容部分是模型无法读取的类型。图片请发给 DeepSeek;GLM 只读文本。
400too_many_images一个请求中超过十张图片。最多发送十张。
422hard_limit请求触及了条款中的某条硬性限制。没有收费。请把这条消息从你回传的历史中删掉,否则下一次调用也会被拦下。
400rejected模型无法按原样接受这个请求。对照模型中该模型的列表检查参数。没有收费。
503busy模型正忙。等待 Retry-After 中的秒数后重试。没有收费。
503model_unavailable模型在我们这边处于离线状态。暂时改用另一个模型;状态页面会显示它何时恢复。
502upstream_error模型在输出任何内容前就失败了。稍后重试。没有收费。
404not_found该路由不存在。API 提供 GET /v1/models、GET /v1/models/{id}、GET /v1/status 和 POST /v1/chat/completions。
404api_closedAPI 已关闭。请稍后再试。
流式输出中错误码何时出现解决方法
—stream_cut模型在流式输出中途停止,没有写完。只按已写出的部分计费。重试以获取剩余部分,或从已收到的内容接着继续。

哪些错误应该重试

  • 对于 429 rate_limited、503 busy 和 502 upstream_error,应重试;如果响应中带有 Retry-After 秒数,请等待该时长后再试。
  • 不要重试 400、401、402、404 或 422:同一个请求只会得到同样的结果。
  • 429 daily_cap 需要等到 UTC 时间 00:00 才会重置。应该提高上限,而不是反复重试。