API 报错大全:401、403、429、500、502、524 等状态码原因与解决办法(Claude Code / Codex 通用)

更新于

按状态码整理 API 快连接入时最常见的报错:400、401、403、404、413、429、5xx、524,以及「返回网页」「扣了钱没输出」「越用越慢」这类没有明确状态码的问题。每条都写了原因和你能做的处理。

📌
先看两件事:① 报错的状态码和原文(截图或复制);② 客户端里填的 Base URL 和模型名。大部分问题用这两条信息就能定位。

400 请求参数错误

  • 新模型参数限制:claude-sonnet-5-5 / claude-opus-5-5 不接受手动 thinking、强制 tool_choice 等参数,gpt-6.1-sol 的推理强度不能是 none / minimal。详见 model not exist 排查 末尾。这类请求不扣费。
  • api_key_in_query_deprecated:把密钥放在了网址参数里(?key=),改为放在请求头 Authorization: Bearer。
  • 上游返回的参数错误:请求格式不符合模型要求(例如消息格式不对、图片过大),根据报错原文修改请求。

401 认证失败

密钥无效、没带密钥、密钥被停用,或请求发到了官方地址。完整排查看 401 invalid_api_key 怎么解决。

403 拒绝访问

报错里出现原因怎么办
insufficient balance / Insufficient account balance余额不足。余额较低时并发多个请求,系统会为进行中的请求预留额度,可能还有余额也提示不足充值,或减少同时运行的任务
API_KEY_EXPIRED密钥过期控制台延长有效期或新建
ACCESS_DENIED「Your IP is …」密钥的 IP 白名单不包含当前 IP调整白名单
GROUP_DISABLED / GROUP_DELETED密钥所在分组已停用或删除换一把其他分组的密钥
error code: 1010自写脚本没有带正常的 User-Agent,被接入层拦截(常见于 Python 原生 urllib)请求头加一个 User-Agent,例如 MyApp/1.0;用 OpenAI SDK、requests、curl 不受影响

404 找不到

  • Base URL 多写了路径(例如填成 /v1/chat/completions),或 Claude Code 带了 /v1。看 Base URL 怎么填。
  • 模型不在你的分组里:报错含「is not supported by any configured account in this group」。看 model not exist 排查。

413 请求太大

单次请求体积超过上限,通常是对话里堆了很多截图、大文件或超长日志。新开一个会话,或压缩、删减附件后再发。

429 请求过多 / 额度用完

报错里出现原因怎么办
All available accounts are currently rate-limited该分组上游暂时限流稍等重试,或换一个模型 / 分组
API_KEY_QUOTA_EXHAUSTED这把密钥设置的额度用完了控制台调高额度
requests-per-minute limit exceeded每分钟请求数超过限制降低请求频率,代码里加退避重试
Concurrency limit exceeded / Too many pending requests同时进行的请求太多减少并发,排队发送
INVALID_AUTH_RATE_LIMITED短时间内大量错误密钥请求先改对密钥,约 1 分钟后恢复

500 / 502 / 503 / 529 服务端或上游繁忙

  • 503 Service temporarily unavailable:该分组此刻没有空闲的上游账号(并发占满或短暂冷却),通常几十秒内恢复,稍后重试。
  • 529 Overloaded:上游模型过载,稍后重试或换模型。
  • 500 / 502:上游临时异常。Claude Code、Codex 会自动重试;持续出现请换模型或联系客服。
  • 浏览器里看到「apikl.ai | 502」整页错误:多半是上游账号临时故障,稍后重试;长时间持续请联系客服并附上页面里的 Ray ID。

524 超时,或「扣了钱却没输出」

非流式请求如果超过约 100 秒还没返回,网络链路会先超时断开,你看到 524;但服务端可能已经算完并计费,客户端重试又会再算一次。解决办法:

  • 长请求改用流式输出(stream: true),边生成边返回就不会撞超时。
  • 改用不经过 CDN 的直连线路:把地址里的 apikl.ai 换成 dc.apikl.ai(OpenAI 兼容写 https://dc.apikl.ai/v1),没有这层超时限制。

没有明确状态码的问题

返回了一段网页 HTML,或报「Unexpected token <」

Base URL 填成了网页地址(例如控制台 https://apikl.ai/keys、文档站 docs.apikl.ai),或写成了 http://、www.apikl.ai(会被跳转,多数客户端不跟随),请求拿到的是网页而不是接口返回。OpenAI 兼容客户端改成 https://apikl.ai/v1,Claude Code 改成 https://apikl.ai。

输出到一半断开、反复「重新连接」

网络抖动或上游短时波动导致流式连接中断。偶尔出现属正常,客户端会自动重连;持续出现可以换模型、检查本地代理软件,或改用直连线路 dc.apikl.ai。

请求很慢是线路问题吗?

不一定。长上下文、深度推理模型、长输出天然更慢。先用一句短问题测试:短问题快、大任务慢,多半是任务本身重;短问题也慢,再看本地网络或换线路。

失败的请求会扣费吗?

认证失败、参数错误、模型不存在、没有可用账号这类在调用模型前就失败的请求不扣费。但如果模型已经开始生成、中途因为超时或断网失败,会按已产生的用量计费,所以长请求请用流式。每笔扣费都可以在控制台的使用记录里核对。

长对话越用越贵?

对话越长,每次请求要带的上下文越多。连续对话时大部分上下文按更便宜的缓存价计费,但离开一段时间后缓存过期,会按全价重算一次。换任务时开新会话,长会话及时压缩。

联系客服前准备什么

  • 报错截图或完整报错原文、发生时间。
  • 使用的客户端和版本、Base URL、模型名。
  • 不要发完整密钥,必要时只发开头和结尾几位。