文档

错误处理

更新时间:2026-11-11

API 调用错误与模型原生错误的响应结构、错误码及客户端处理建议。

本文适用于聊天(Chat)、图片(Images)接口。视频接口的错误以各接口文档及对应原厂说明为准。

这些接口可能返回两类错误:API 调用错误和模型原生错误,两类错误的响应结构不同。

1. API 调用错误

请求未通过平台校验或平台处理失败时,固定返回以下 JSON 结构:

{
  "requestId": "7f0d6ef8-a3c9-4f61-8e6f-1d5c8a720134",
  "code": 40000,
  "message": "bad request:model must be not empty"
}
字段类型说明
requestIdstringAPI 服务请求标识,与响应头 X-Vod-Request-Id 对应
codeintegerAPI 服务业务错误码,与 HTTP 状态码共同判断错误类型
messagestring基础错误信息,冒号后可能附带具体原因

下表仅列出当前 API 服务实际可能返回的错误码:

HTTP 状态码code基础信息常见原因
40040000bad requestJSON 无效、缺少 model,或 X-Vod-Request-Id 长度不在 16~64 个字符范围内
40140100unauthorizedAPI Key 缺失、格式错误、已失效,或账号不可用
40340300forbidden客户端 IP 不在 API Key 白名单中
40440400not found请求路径不存在
40440402model not exist请求的模型不存在
40440403model not exist in this path当前原生 API 路径不支持该模型
40540500method not allowed路径存在,但 HTTP 方法不受支持
40940900conflict同一账号在 8 小时内重复使用相同的 X-Vod-Request-Id
42942900rate limiting超过请求频率、并发数或 Token 限额
50050000internal errorAPI 服务处理请求失败
50250200bad gateway上游模型服务暂时不可用
50350300service unavailableAPI 服务或模型服务暂时不可用

2. 模型原生错误

请求通过平台校验并已发送给模型后,模型返回的错误会原样返回给调用方。这类错误遵循所调用模型协议(OpenAI、Anthropic、Gemini)的错误结构,不使用上面的 requestId/code/message 结构。以 OpenAI 协议为例:

{
  "error": {
    "message": "The requested model is unavailable.",
    "type": "invalid_request_error",
    "param": "model",
    "code": "model_not_found"
  }
}

具体字段和值以模型厂商实际响应为准,各协议的差异如下:

  • OpenAI:error.code 通常为字符串。
  • Anthropic:使用 error.type 表示错误类型。
  • Gemini:error.code 通常为数字。

3. 客户端处理建议

  1. 先判断响应体顶层是否有整数类型的 code 且大于 0。有则按 API 调用错误处理。
  2. 否则按所调用的 OpenAI、Anthropic 或 Gemini 原生协议解析错误体。
  3. 按 HTTP 状态码处理:
    • 400、401、403、404、405、409:先修正客户端请求、权限或调用路径。
    • 429:降低请求速率或并发量后再发起新请求。
    • 500、502、503:可使用退避策略有限重试,并为重试请求生成新的请求头 X-Vod-Request-Id。

需要平台协助排查问题时,请提供响应头中的 X-Vod-Task-Id。