报错是这么冒出来的。新注册账号控制台显示 Trial credits 还有 4.70 美元,用 python 的 openai 1.40 调 gpt-4o 返回 429 insufficient_quota,原文 You exceeded your current quota, please check your plan and billing details,充值 5 美元后同一段代码立刻通了。
中间走过弯路,把「额度按批次发放在不同到期日,先到期的先失效」当成主因,改完现象没变。
这类报错背后常见的原因有几处,逐个排除就行。试用额度只覆盖部分模型,gpt-4o 不在其中。也可能是试用期已到期,余额只是还没清零的展示值。
另外,缓存写入与图片输入不计入试用抵扣范围。
上来先看额度明细和到期时间
curl -s https://api.openai.com/v1/dashboard/billing/credit_grants -H "Authorization: Bearer $KEY" | jq '{total_available:.total_available, grants:.grants}'
接着换一个明确在试用范围内的模型验证
curl -s https://api.openai.com/v1/chat/completions -H "Authorization: Bearer $KEY" -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"ping"}]}' -o /dev/null -w '%{http_code}\n'
然后确认账号是不是还停在免费层
curl -s https://api.openai.com/v1/models -H "Authorization: Bearer $KEY" | jq -r '.data[].id' | head -5
剩下的就是开通后付费并加一条余额告警
curl -X POST https://api.openai.com/v1/dashboard/billing/alerts -H "Authorization: Bearer $KEY" -d '{"threshold":10}'
怎么算真的好了,看的是同一批现象。同一段代码返回 200,账单页里 usage 从试用抵扣切到后付费,余额告警在低于十美元时能收到邮件。
这里还有个坑。试用余额和可用额度不是一回事,额度是按模型和有效期切的,报 insufficient_quota 时先看 grants 明细再决定要不要充值。这类问题最好一次改到位,反复小改反而容易把原因搅混。
