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