错误与重试
最近更新:2026年9月1日
Amux API 的错误类型、故障转移、客户端重试与计费规则。
Amux 按调用协议返回兼容的错误格式。每个错误都包含 request_id,联系支持时可用它定位请求。
错误类型
| 类型 | HTTP | 归因 | 网关故障转移 |
|---|---|---|---|
| invalid_request | 400 | 调用方 | 否 |
| context_length_exceeded | 400 | 调用方 | 否 |
| authentication | 401 | 调用方 | 否 |
| insufficient_credits | 402 | 调用方 | 否 |
| permission_denied | 403 | 调用方 | 否 |
| content_policy_violation | 403 | 调用方 | 否 |
| request_timeout | 408 | 上游 | 是 |
| rate_limit_exceeded | 429 | 调用方 | 否 |
| provider_rate_limited | 502 | 上游 | 是 |
| provider_error | 502 | 上游 | 是 |
| provider_overloaded | 502 | 上游 | 是 |
| provider_account_issue | 502 | 上游 | 否 |
| not_found | 404 | 调用方 | 否 |
| no_available_provider | 503 | 平台 | 否 |
| overloaded | 503 | 平台 | 否 |
| internal_error | 500 | 平台 | 否 |
“归因”表示错误来自哪一侧:
- 调用方:请求、鉴权、余额或用量限制有误。更换供应商无法解决
- 上游:供应商超时、限流、过载或返回异常
- 平台:Amux 暂时无法处理请求,或当前没有可用供应商
“网关故障转移”表示 Amux 是否可以在响应开始前尝试其他可用供应商。它不代表客户端会自动重试,也不保证一定存在可切换的供应商。
客户端重试
收到错误后是否重试,应根据错误类型和响应头判断:
- 调用方错误通常需要修改请求、充值或等待限额恢复,直接重试一般无效
- 上游或平台暂时不可用时,可以退避后重试
- 响应包含
Retry-After时,至少等待指定时间再重试
流式响应一旦开始,网关不会切换供应商。此后发生的中断由客户端决定是否重新发起请求。
计费
- 故障转移中失败的尝试不计费;请求最终成功时,只收取成功结果的费用
- 客户端中途断开时,已经产生的用量仍会计费
- 图像、视频等媒体任务执行失败不计费
错误响应
错误体与调用协议保持兼容:OpenAI 兼容端点返回 OpenAI 格式,Anthropic Messages 返回 Anthropic 格式,Gemini 返回 Google RPC 格式。
调用方错误会保留必要的可操作信息。上游和平台故障只返回稳定的公开说明,供应商原始报文仅用于服务端排障。所有格式都会返回 request_id。