错误排查

401、额度不足、模型受限、无可用渠道、参数错误、接口与模型不匹配、429、超时的错误体和处理办法。

先看 HTTP 状态码和返回体里的 error.code / error.message。所有错误体的结构一致:

{
  "error": {
    "code": "...",
    "message": "... (request id: 2026...)"
  }
}

示例中省略了 type(错误类型标识)字段,判断问题请以 error.code 和 error.message 为准。

message 末尾的 request id 请保留,联系我们反馈问题时附上它,也可以在 使用日志 中按请求 ID 定位那一次请求。

下文的错误体中 request id 已省略。

状态码常见原因跳转
401Key 无效、缺失、被删除401
403额度不足,或 Key 无权访问该模型额度不足、模型被限制
503 model_not_found模型名错误,或没有该模型的可用渠道模型不存在
4xx/5xx invalid_request请求体缺字段、参数错误请求参数错误
4xx/5xx用错了接口,所选模型不支持该接口接口与模型不匹配
5xx(上游)上游模型服务出错上游错误
429请求太频繁429
超时 / 524响应太慢超时

401 Invalid token

{
  "error": {
    "code": "",
    "message": "Invalid token"
  }
}

检查清单:

  1. Key 是否完整,以 sk- 开头。
  2. 请求头是否是 Authorization: Bearer sk-...(Anthropic 格式也可以用 x-api-key: sk-...)。
  3. 环境变量是否真的生效:echo ${#MYAIEXP_API_KEY} 看长度是否不为 0。
  4. Key 是否在 API 密钥 页被删除、禁用或已过期。
  5. Key 中是否混入了换行、空格等不可见字符;这种情况有时连 JSON 错误体都没有,直接返回一个空 body 的 400,重新复制 Key 即可。
  6. Base URL 是否正确:OpenAI 格式是 https://ai.myaiexp.com/v1,Anthropic 格式是 https://ai.myaiexp.com。

额度不足

HTTP 403:

{
  "error": {
    "message": "token quota is not enough, token remain quota: $..., need quota: $...",
    "param": "",
    "code": "pre_consume_token_quota_failed"
  }
}

含义:这个 Key 的剩余额度(remain quota)小于本次预估需要的额度(need quota)。处理:

  • 在 API 密钥 页给该 Key 调高额度,或改为无限额度。
  • 若 Key 本身没问题,检查账户余额是否也用完,到 钱包 充值或使用兑换码。
  • 预估额度和 max_tokens、输入长度有关,把 max_tokens 调小可以降低预估值。

模型被 Key 限制

HTTP 403:

{
  "error": {
    "code": "",
    "message": "该令牌无权访问模型 your-model-id"
  }
}

这个 Key 开启了「模型限制」,且没有包含你请求的模型。编辑 Key,把该模型加入允许列表,或关闭模型限制。

模型不存在 / 无可用渠道

HTTP 503:

{
  "error": {
    "code": "model_not_found",
    "message": "分组 default 下模型 your-model-id 无可用渠道(distributor)"
  }
}

注意这里不是 404。常见原因:

  1. 模型名拼错,或大小写不对(模型 ID 区分大小写)。
  2. 本站当前没有提供这个模型(以 模型广场 的线上列表为准)。
  3. 模型暂时没有可用的上游渠道。

处理:先用 GET /v1/models 看当前 Key 能用的模型,或查看 模型广场,复制准确的模型 ID 再试。

请求参数错误

缺少必填字段时的返回示例:

{
  "error": {
    "message": "field messages is required",
    "param": "",
    "code": "invalid_request"
  }
}

这类错误的 HTTP 状态码可能是 4xx 也可能是 5xx,以 error.code 和 message 为准,不要只看状态码。对照对应接口的必填字段检查:OpenAI 格式要 model 和 messages,Anthropic 格式还要 max_tokens,Responses 格式用 input 而不是 messages。

接口与模型不匹配

每个模型支持的接口不同:/v1/chat/completions 是 OpenAI 兼容的通用接口;/v1/messages 适用于支持 Claude 原生格式的模型;/v1/responses 适用于支持 Responses 接口的模型。具体可用模型和每个模型支持的接口以 模型广场 为准。

用某个接口调用不支持它的模型,会返回错误(具体状态码和信息取决于上游)。这说明所选模型不支持该接口:请到模型广场确认该模型支持的接口,然后换用对应的接口,或换一个支持当前接口的模型。常见场景:

  • 在 Claude Code 里填了不支持 Claude 原生格式的模型:Claude Code 走 /v1/messages。
  • 在 Codex CLI 里填了不支持 Responses 接口的模型:Codex CLI 走 /v1/responses。

上游错误

请求已经通过本站的鉴权,但上游模型服务返回了错误。这类错误和你的 Key、额度无关。

上游内部错误,HTTP 500:

{
  "error": {
    "message": "System error, please retry later.",
    "code": "bad_response_status_code"
  }
}

处理办法:先确认该模型支持你调用的接口(见上一节);5xx 可以稍后重试,持续出现就换一个模型,并联系我们反馈,附上 request id。

429 限流

429 表示请求频率超过限制,可能来自本站,也可能来自上游模型厂商。处理办法:

  • 读取响应头里的 Retry-After(如果有),按它等待。
  • 使用指数退避重试:等 1 秒、2 秒、4 秒……并加随机抖动,最多重试 3 到 5 次。
  • 降低并发,不要一次性发起大量请求。
  • OpenAI / Anthropic 官方 SDK 已内置重试,可用 max_retries 调整。

长期稳定被限流,请联系我们。

超时

大模型生成长文本可能需要几十秒甚至更久。非流式请求如果超过中间网络层(CDN、反向代理)的时间上限,会被断开,常见表现是 504 / 524 或客户端读超时。

处理:

  1. 优先改用 流式输出:数据持续返回,连接不会因空闲被断开。
  2. 调大客户端超时。Python:OpenAI(timeout=120);Node:new OpenAI({ timeout: 120_000 })。
  3. 减少输出长度(调小 max_tokens),或换更快的模型。
  4. 思考类(推理)模型思考时间长,更适合用流式。

还没解决?

联系我们时,请提供:时间、请求的接口和模型名、Key 的名称(不要发送 Key 本身)、完整错误体里的 request id。

本服务仅供学习与研究用途。请遵守各模型提供方的使用政策。

本页目录