错误码
所有错误均为 OpenAI 标准结构:{"error": {"message", "type", "code"}}。 流式请求首包后的错误以 SSE 事件块发送。
| HTTP | type | code | 含义 | 处理建议 |
|---|---|---|---|---|
| 401 | authentication_error | — | 缺少 Bearer token / Key 无效 / Key 已禁用 | 检查 Authorization 头 |
| 401 | authentication_error | key_expired | Key 已过有效期 | 控制台调整过期时间或换新 Key |
| 402 | insufficient_quota | insufficient_quota | 账户余额不足 | 前往控制台充值 |
| 402 | insufficient_quota | key_spend_limit_exceeded | 触发该 Key 的单日/累计消费限额 | 调高或清除限额;日限额按东八区自然日重置 |
| 404 | not_found_error | model_not_found | 模型名不存在 | 用 GET /v1/models 查询可用模型 |
| 404 | not_found_error | model_not_available | 模型存在但当前不可用 | 换用其他模型 |
| 400 | invalid_request_error | — | 请求体格式错误、参数非法 | 按 message 修正 |
| 400 | invalid_request_error | content_policy_violation | 输入或输出命中内容安全策略 | 调整请求内容;计费口径见下 |
| 413 | invalid_request_error | — | 请求体过大 | 精简 messages |
| 429 | rate_limit_error | rate_limit_exceeded | 触发 Key 级或用户级 RPM 限流(带 Retry-After 头) | 按 Retry-After 退避重试 |
| 429 | rate_limit_error | — | 上游模型服务限流 | 稍后重试,平台会自动尝试备用渠道 |
| 5xx | api_error / overloaded_error | — | 平台内部错误或全部上游不可用 | 稍后重试 |
两条计费特殊口径
1. 消费限额允许最后一笔在途请求小幅超额。限额校验用已结算值,进行中的请求不计入;并发场景下实际消费可能小幅超过限额 (上限约为并发数 × 单笔费用)。这是不为校验增加请求延迟的有意取舍。
2. 输出命中内容安全策略时,已产生的费用不予返还。非流式:响应被拦截(400)但上游成本已发生,照常计费;流式:流被终止,已产生 token 正常结算。输入命中(请求未转发)不产生任何费用。