半夜跑批任务,接口突然回一句「额度不足 请检查账户」,第一反应往往是去充值。但这类报错经常跟余额没关系:可能是 Key 绑错了项目、免费额度到期、限速被拒、或者账单欠费没结清。这篇给一套从外到内的排查顺序,让你先定位再动手,少花冤枉钱。
半夜跑批任务,接口突然回一句「额度不足 请检查账户」,第一反应往往是去充值。但这类报错经常跟余额没关系:可能是 Key 绑错了项目、免费额度到期、限速被拒,或者账单欠费没结清。先定位再动手,能少花冤枉钱。
下面按「先看报错原文 → 账户层 → Key 层 → 动手清单」的顺序走一遍。每一层都给判断标准,什么情况说明不适用也写清楚。数据类的东西一律不写死,让你自己去站内页面核对当时的数字。
先分清报错是「没钱」还是「没权限」
同一个提示文案,在不同平台的真实含义可能完全不同。有的平台把「Key 无权访问该模型」也归到额度不足里,有的把限速拒绝也塞进同一个错误码。所以第一步不是充值,是搞清楚这句话背后到底是哪一类失败。
| 看到的关键词 | 大概率原因 | 先查哪里 |
|---|---|---|
| insufficient / balance | 余额或免费额度耗尽 | 账户账单页 |
| rate limit / too many | 请求过密被限速 | 近期请求频率与并发 |
| permission / forbidden | Key 权限或模型白名单问题 | Key 的项目与模型权限 |
| model not found / invalid | 模型名写错或该 Key 没开这个模型 | Key 的可用模型列表 |
- 把 HTTP 状态码和错误码字段一起记下来,别只截一句中文提示。
- 同一段文案在不同平台含义不同,去 /ai-dict/category/infra 把限速、配额、并发这几个词的真实口径对一遍。
- 记录报错原文和发生时间,后面查账单要对时间点。
- 不确定是哪一类时,先用最小请求打一次,也就是单轮、短提示词,排除是长上下文触发的额度校验。
账户层:余额、免费额度与账单状态
确认完报错类型,再往账户看。这里最容易踩的坑是:以为「有余额就不会报额度不足」,但实际计费里有预扣、结算、免费额度周期这些中间状态,任何一环卡住都可能拒绝请求。
- 分清当前消耗的是免费额度还是充值余额,两者的耗尽表现不一样,扣费先后顺序看 /ai-api-free-quota-guide 里的结论。
- 查有没有未支付账单,或者预扣了但还没结算的金额,预扣和结算的差别参考 /api-precharge-vs-settlement。
- 团队账号要确认是主账号有余额、而子 Key 归属的项目没有预算,这种情况充值到主账号也未必生效。
- 免费额度可能按周期重置,重置节奏去 /resets 看当时的记录,别凭记忆判断。
什么情况下这一层不适用?如果换成另一个 Key、另一个模型同样报错,基本可以跳过 Key 层,重点放在账户和账单上。反过来,如果只有某一个 Key 报错,账户层大概率是清白的。
Key 层:绑定、权限与用量归属
账户有钱,不代表这个 Key 能花。很多平台把「额度」和「模型权限」做成两个独立开关,权限没开,请求一样被拒,报错文案还可能跟余额不足长得一模一样。
- 项目绑定
- Key 属于哪个项目,项目的预算和账户余额是两回事。
- 模型白名单
- 这个 Key 允许调哪些模型,通常是独立开关。
- Key 状态
- 轮换或停用后的旧 Key 继续调用会直接报错,不会走扣费流程。
- 用量归属
- 一个账号下多个 Key 共用总额度,别只看当前 Key 的用量页。
- 换 Key 打一次用同一账号下另一个 Key 发同样的请求,如果成功,问题就在原 Key 的绑定或权限。
- 核对模型权限把报错里请求的模型名和该 Key 的可用模型列表对一遍,名字对不上也会报类似错误。
- 核对用量归属用 /usage 的字段口径去核对自家日志,别只看平台汇总数,确认到底是谁在消耗额度。
排查顺序清单:从五分钟能确认的开始
把上面的排查压成一条行动线,从成本最低、最快出结果的动作开始,避免一上来就充钱或者重配环境。
- 换模型或换 Key 打一次判断是账号级问题还是单 Key 问题,这一步一分钟内能出结论。
- 看账单页确认有没有欠费、预扣未结算、或者异常大额消费,对时间戳看。
- 判断是不是限速短时间请求过密会被拒,限速和计费的边界参考 /retry-billing-limits,看清楚再决定要不要退避重试。
- 确认计费口径有没有变以上都正常,再去 /price-watch 和 /official-api 核对当时的单价与计费规则,别默认就是余额不够。
| 现象 | 优先排查层 | 判断依据 |
|---|---|---|
| 所有 Key 都报错 | 账户层 | 账单、免费额度周期、余额状态 |
| 只有某个 Key 报错 | Key 层 | 绑定项目、模型白名单、Key 状态 |
| 高频调用时才报错 | 限速 | 请求频率与并发,对照站内限速口径 |
| 一直正常突然全挂 | 计费口径 | 单价或计费规则是否调整,去站内页面核对 |
额度不足这四个字,一半时候说的是钱,另一半说的是权限和节奏。下一步把报错时间和状态码带上,去中转站与官方 API 的计费页面核对当时的口径,再决定是充值还是改配置。→
常见问题
额度不足的报错,一定是余额花完了吗?
不一定。常见还有三种:免费额度到期未转入付费、短时间请求过密被限速、以及这个 Key 没有目标模型的权限。这三类都不会因为充值而消失,先看错误码和绑定关系再决定要不要充。
怎么查这个 Key 到底还有多少额度?
多数平台在控制台按账号看总额度,不一定按单个 Key 拆分。想知道单个项目花了多少,得靠自己的调用日志去对。用量字段怎么写才够用,参考站内用量相关页面的口径说明,别拿平台汇总数当单 Key 余额。
被限速拒绝的请求,还会重复计费吗?
通常被平台侧拒绝、没进模型推理的请求不计费,但重试成功的那一次会算。所以带自动重试的客户端要限制次数并加退避,否则限速期间反复重发,可能既报错又烧钱。具体边界看站内关于重试计费的说明。