跳转到主要内容
文档目录

错误码

每种状态码的含义、返回体长什么样、哪些该重试哪些不该,以及排查顺序。

接口返回非 2xx 状态码时,先对照下表。排查连通性时可以先用 curl 复现。

状态码速查

状态码含义怎么处理能重试吗
400请求格式或参数不正确检查请求体 JSON、必填字段(如 model、messages、Anthropic 的 max_tokens)和接口路径是否匹配;提示见下面“400 的几种提示”。不能,改好再发
401密钥无效或已停用确认密钥完整、没有多余空格,且在 API 密钥 页处于“启用”状态。不能
402余额不足查看余额并充值,见 注册与充值。充值后可以
403没有访问该资源的权限这把密钥或账号没有权限访问这个资源,请联系管理员。不能
404模型或接口路径不存在模型名需与 模型定价 页完全一致;检查接入地址是否多带或少带了 /v1。不能
413请求体过大缩短输入内容(上限 32MB)。缩短后可以
429触发并发或速率限制降低并发和请求频率,稍等片刻后重试;客户端建议加指数退避。可以,退避后
502上游服务暂时不可用系统已经尝试过备用线路但都没成功,稍后重试;持续出现可到 服务状态 页查看对应模型是否异常。可以,退避后
503服务暂时不可用稍后重试;持续出现同样到服务状态页查看。可以,退避后

返回体长什么样

OpenAI 格式(Chat Completions、Responses):

OpenAI 格式

{"error": {"message": "账户余额不足,请充值后再试", "type": "insufficient_balance", "code": "insufficient_balance"}}

Anthropic 格式(/v1/messages):

Anthropic 格式

{"type": "error", "error": {"type": "insufficient_balance", "message": "账户余额不足,请充值后再试"}}

程序里判断错误原因,看 code(OpenAI 格式)或 error.type(Anthropic 格式)比看状态码更准:

code含义
invalid_api_key密钥无效或已停用
insufficient_balance余额不足
model_not_found模型不存在或当前不可用
rate_limited触发速率限制
request_too_large请求体过大
unsupported_endpoint这个系列的模型用错了接口格式
client_not_supported这个模型只接受 Claude Code / Claude Desktop 等官方客户端
client_version_too_old客户端版本太旧,需要升级
upstream_error上游暂时不可用(对应 502)
service_unavailable服务暂时不可用(对应 503)

400 的几种提示

  • 不支持 xxx 接口:该系列的模型用错了接口格式,按提示改用对应接口,见 接口格式。
  • 暂不支持 HTTP API 直连:这个模型的线路只接受 Claude Code / Claude Desktop 等官方客户端,请用官方客户端调用。
  • 需要 Claude Code x.y.z 或更新版本:客户端版本太旧,升级即可。

排查顺序

  1. 在 服务状态 页确认服务和你用的模型是否正常。
  2. 用 curl 带上同一把密钥和同一个模型名请求一次。
  3. curl 正常而客户端报错,通常是客户端的地址(是否带 /v1)或模型名配置有误,见 接口格式。
  4. 仍无法解决,请联系管理员,并附上出错时间和 使用记录 里对应请求的详情。

选好模型,核对费用再接入

查看当前模型的价格与参数,用自己的输入、输出和缓存用量估算成本;遇到报错时按错误码排查。