🌸 Bloom AI · 文档

错误码

遇到报错时,先看 HTTP 状态码,再对照下表定位原因。

错误响应格式

不同协议的错误 JSON 结构略有差异,都包含 message 描述:

OpenAI / 本站通用

{
  "error": {
    "message": "Invalid token",
    "type": "authentication_error"
  }
}

Anthropic

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "model is required"
  }
}

状态码对照

状态码含义怎么解决
400请求格式错误、缺少参数,或该模型当前无可用渠道检查 JSON 与必填参数(Anthropic 必须带 max_tokens);模型无渠道就换模型或稍后重试
401Key 缺失或无效Invalid token到控制台「API 密钥」重新复制当前有效 Key,确认 sk- 开头、前后无空格
402余额不足,或该 Key 额度用尽控制台「钱包」充值,或调高该 Key 的额度
403模型被禁用、不在该 Key 的白名单内,或客户端类型不匹配检查 Key 的「可用模型」设置,或换一个不限模型的 Key
404端点或模型不存在核对 Base URL(/v1 是否该带)与模型 ID 拼写
405HTTP 方法不支持确认使用 POST(/v1/models 用 GET)
429触发限流,或分组下所有渠道都在限流读响应头 Retry-After 等待后重试;换分组或模型;代码里做指数退避
500服务内部错误稍后重试
502上游响应异常稍后重试,做有限次退避
503服务暂时不可用(渠道因限流 / 过载等原因全部失败)等待 1–2 分钟重试;本站已配置分组互备,会自动切换链路
529上游模型服务过载等待片刻重试,或换用其他模型

最常遇到的三个问题

① 401 Invalid token

② JSON Parse error / invalid request body

③ 503 / 529 上游过载

推荐的退避重试写法(Python)

import time, requests

def call_with_retry(url, headers, data, max_retries=3):
    for i in range(max_retries):
        resp = requests.post(url, headers=headers, json=data)
        if resp.status_code in (429, 500, 502, 503, 529):
            wait = int(resp.headers.get("Retry-After", 5))
            time.sleep(wait)
            continue
        return resp
    raise RuntimeError("max retries exceeded")

连接失败 / Connection Refused

还是解决不了?

联系客服微信 ccc19cc19,把这几项一起发过来能大幅加快排查: