CODEX 429 先看认证方式和错误原文,再处理套餐用量、API 限流或账单

429 / RATE LIMIT / INSUFFICIENT_QUOTA

Codex 429 Too Many Requests 怎么办?Rate Limit 与额度排查

同一个 HTTP 429,可能代表 ChatGPT 套餐用量耗尽、OpenAI API 请求过快、Token 速率超限、API 余额不足,或第三方上游限流。先看你用 ChatGPT 登录还是 API Key,再按完整错误原文分流。

发布于 2026 年 7 月 21 日 · 阅读约 14 分钟

429 与额度不足要先按计费体系分流:Plus 用量、API Billing 与 API Key 的区别

30 秒判断:你的 Codex 429 属于哪一类?

错误或现象更可能的含义第一步
Usage limit、limit reached,页面给恢复时间ChatGPT 套餐的 Codex 用量窗口耗尽打开 Codex Usage,查看恢复时间与 Credits
Rate limit reached for requests / tokensAPI 请求数或 Token 速率超限看 Limits 与限流响应头,降低并发
insufficient_quota / exceeded your current quotaAPI 余额、Credits 或月度使用上限核对 Platform 的 Organization、Project、Billing
同一 Base URL 的多人都报 429第三方中转、网关或上游共享限流查看服务商状态与配额,不泄露 Key
429 后显示 exceeded retry limit客户端多次重试仍未恢复停止重试风暴,回看最早一条 429 原因

不要只看到 429 就重新登录、重复充值或换 Key。这些动作可能把诊断线索清掉,却不改变实际限制。

先保存完整错误,不要只截“429”三个字

  1. 记录认证方式

    写明是 ChatGPT 登录,还是 OPENAI_API_KEY / 自定义 provider。

  2. 复制第一条完整错误

    保留 Rate limit reachedinsufficient_quota、模型、组织或项目提示;后面的 “exceeded retry limit” 往往只是结果。

  3. 记录时间与客户端版本

    包含时区、codex --version、运行环境和是否只在某个项目发生。

  4. 保留脱敏响应头

    记录 request ID 与 x-ratelimit-*,删除 API Key、Cookie、Session、auth.json 和业务内容。

最关键分叉:ChatGPT 登录,还是 API Key?

认证方式额度来自哪里到哪里检查
Sign in with ChatGPT当前 ChatGPT 套餐的 Codex 包含用量,以及账号支持时的 CreditsCodex Usage 页面、客户端上限提示
OpenAI API KeyOpenAI Platform API 余额、组织/项目使用上限和模型速率限制Platform Usage、Billing、Limits
自定义 provider / Base URL第三方服务商的余额、并发和上游规则该服务商控制台、状态页和文档

ChatGPT Plus / Pro 订阅和 OpenAI Platform API 是两套计费。升级 ChatGPT 套餐不会自动增加 API 余额;给 API 账户充值也不会增加 ChatGPT 登录下的 Codex 套餐窗口。

路线 A:ChatGPT 登录下的 Codex Usage Limit

OpenAI 当前说明,Codex 用量随套餐、任务大小、复杂度、模型和运行位置变化。接近或达到限制时,应查看 Codex Usage 页面或限制提示;可用选项可能包括等待恢复、购买额外 Credits、应用可用 reset 或升级套餐。

  1. 打开 Codex 个人资料或 Settings 中的 Usage。
  2. 确认短时窗口、周窗口、Credits 和明确的恢复时间。
  3. 如果当前任务刚好完成,不要用重复空任务测试恢复。
  4. 只有账号页面确实提供 Credits 或升级选项时,再比较成本。

这类限制不等于 API 的 RPM/TPM,也不应到 Platform Billing 里寻找 ChatGPT 套餐额度。需要更详细的用量与重置说明,查看Codex Usage Limit、周限额与 Credits

官方参考:Using Codex with your ChatGPT planCodex pricing and usage limits

路线 B:OpenAI API Rate Limit reached

OpenAI API 速率限制可按 RPM(每分钟请求数)、RPD(每天请求数)、TPM(每分钟 Token)、TPD(每天 Token)等指标计算,任意一项先达到都可能触发 429。限制通常按组织和项目而不是个人用户计算,并随模型变化;部分模型家族还共享限额。

先看这些响应头

响应头含义怎么用
x-ratelimit-remaining-requests当前剩余请求数接近 0 时主动降并发
x-ratelimit-remaining-tokens当前剩余 Token缩短输入、限制输出和拆分任务
x-ratelimit-reset-requests请求数限制恢复所需时间至少等待该时间再重试
x-ratelimit-reset-tokensToken 限制恢复所需时间避免在恢复前重复大请求
x-ratelimit-*-project-tokens项目级 Token 限制与恢复确认是不是项目单独设置了上限
  • 降低突发并发即使分钟总量没超,短时间集中发送也可能触发限流。
  • 缩小 Token 预算设置接近真实需要的输出上限,减少长上下文和无关文件。
  • 查看正确的组织与项目Key 属于哪个 Project,就检查对应 Limits;不要只看个人账号。
  • 批处理要控速非实时任务可评估官方 Batch API;实时任务要同时遵守请求和 Token 限制。

官方参考:OpenAI API Rate limits如何解决 429 Too Many Requests

路线 C:insufficient_quota / exceeded your current quota

OpenAI 官方 Error codes 将两种 429 分开:Rate limit reached for requests 表示请求过快;You exceeded your current quota 表示 Credits 用尽或达到最大月度消费上限。后者继续指数退避也不会凭空恢复余额。

  1. 确认 Organization 与 Project

    检查 API Key 实际所属范围,不要只看另一个组织的余额。

  2. 查看 Billing 与 Usage

    核对支付状态、Credits、当前消费和月度使用上限。

  3. 查看 Limits

    确认组织月度上限、项目预算和模型速率限制是否分别触发。

  4. 等待账单状态同步

    刚完成付款时先以 Platform 页面和真实 API 响应为准,不要连续创建新 Key 测试。

不要用 ChatGPT Plus / Pro 充值解决 API insufficient_quota。两者分开计费。也不要把 API Key 发给所谓“余额检测”网站。

官方参考:OpenAI API Error codesOpenAI Platform Billing

OpenAI API 有余额,为什么 Codex 仍然报 429?

“余额大于 0”只能排除一部分欠费情况,不能证明请求没有达到其他限制。Google 这一精确查询的前排页面常把答案简化成“与余额无关”,但实际需要继续核对请求使用的 Project、模型和响应正文。

你看到的证据更可能的原因下一步
余额在组织 A,Key 属于组织或项目 B查看了错误的账单范围以实际 Key 所属 Project 的 Usage、Billing、Limits 为准
余额正常,但 Usage 达到月度上限组织使用上限或项目预算核对月度限制、项目预算与付款状态
x-ratelimit-remaining-* 接近 0RPM、TPM 或共享模型家族限额等待对应 reset,降低并发与 Token
只有某个模型失败模型级限额、权限或暂时容量问题对照账号 Limits、模型文档与状态页
请求域名不是 OpenAI 官方域名自定义 provider 的共享池或网关限流检查该服务商控制台、状态页和原始响应
多人同时突然失败服务事件或上游容量查看 OpenAI Status;不要用重试风暴扩大故障
用一个最小对照请求验证

固定 Organization、Project、模型和认证方式,只把并发降到 1,并保存第一条错误与响应头。不要同时换 Key、换模型、换 Base URL 和重新登录,否则无法判断哪个变量真正改变了结果。

核对入口:Organization LimitsOpenAI Status

Codex 429 怎么安全重试?

OpenAI 建议使用带随机抖动的指数退避,并设置最大重试次数。失败请求也会计入每分钟限制,因此立即无限重试只会制造重试风暴。

attempt = 0
while attempt < MAX_RETRIES:
    try_request()
    if success: break
    wait = min(MAX_DELAY, BASE_DELAY * 2 ** attempt)
    sleep(wait + random_jitter())
    attempt += 1
  • 实际响应提供 Retry-After 时,至少按该值等待。
  • OpenAI API 提供 x-ratelimit-reset-requests / x-ratelimit-reset-tokens 时,以对应瓶颈的恢复时间为准。
  • 每次重试增加随机抖动,避免多个任务同时再次打满。
  • 遇到 insufficient_quota 或明确的 Codex Usage limit 时立即停止这条重试路线。
  • 设置总超时和最大次数,最终失败时保留最早的 429 与 request ID。

官方参考:How to handle rate limits

Exceeded Retry Limit, Last Status: 429 Too Many Requests 怎么解决?

这句话表示 Codex 或上游客户端已经重试多次,每次最后仍得到 429。它描述的是重试结果,不是最初根因。Google 的精确英文结果主要是 openai/codex issues、Reddit 和网关社区,说明它常见于套餐窗口、服务端容量和第三方网关,不应一律解释成 API 余额不足。

  1. 暂停自动任务和并发队列

    先停止不断重放的 Agent、CI、批处理或多个编辑器窗口,避免失败请求继续计入限制。

  2. 回到最早一条 429

    在日志中向前找 Usage limitRate limit reachedinsufficient_quota、请求域名和 request ID。

  3. 只对速率限制做有限退避

    读取实际 reset 或 Retry-After,降低并发,设置最大次数和总超时。

  4. 让不可重试状态先改变

    套餐窗口要等恢复;quota 要处理账单或月度上限;第三方容量要等服务商恢复;状态事件要看状态页。

  5. 最后做一次最小验证

    并发设为 1,用小上下文、单一模型和同一认证方式发一次请求,确认错误是否变化。

生产环境的停机规则

连续收到相同 429、达到最大重试次数、总等待超时,或检测到 insufficient_quota 时应停止自动重试并告警。不要让多个 Worker 各自独立退避后同时重新打满上游。

自定义 Base URL、中转 API 或网关报 429

如果 Codex 配置了自定义 provider,429 可能由网关自身、共享账号池或上游模型返回。此时 OpenAI Platform 的余额和 Limits 可能完全正常。

  1. 保留请求域名、错误原文、响应头和时间,不公开 Key。
  2. 检查服务商状态页、控制台余额、RPM/TPM、并发和模型倍率。
  3. 用一个最小请求验证,不要在多个设备同时压测。
  4. 确认错误来自哪一层:本地客户端、网关、上游 OpenAI,还是另一个模型服务。

换 Key、轮询账号或购买共享 Key 不是可靠的限流治理方式。来源不明的 Key 还可能带来余额盗用、数据泄露和账号停用风险。

Codex 429 常见问题

Codex 429 Too Many Requests 是什么意思?

429 表示当前请求受到用量或速率限制,但根因不止一种。ChatGPT 登录可能是 Codex 套餐用量窗口耗尽;API Key 可能是 RPM、TPM 等速率限制,或 API 余额和月度使用上限不足。应先看认证方式和完整错误原文。

Codex 用 ChatGPT 登录和 API Key 报 429 有什么区别?

ChatGPT 登录使用套餐包含的 Codex 用量和 Credits,应查看 Codex Usage 页面;API Key 按 OpenAI Platform API 单独计费,应查看组织和项目的 Limits、Usage 与 Billing。两套额度不能互相替代。

Rate limit reached for requests 怎么解决?

先降低并发和请求突发,读取 x-ratelimit-remaining-*x-ratelimit-reset-* 响应头,再使用带随机抖动和最大次数的指数退避。失败请求也会计入每分钟限制,不能无限立即重试。

insufficient_quota 或 exceeded your current quota 怎么解决?

这是 API 余额、Credits 或组织月度使用上限方向的问题,不是普通的每分钟速率限制。到 OpenAI Platform 检查当前 Organization、Project、Billing 和 Limits;充值 ChatGPT Plus 或 Pro 不会自动补充 API 余额。

Codex 429 可以一直重试吗?

不可以。OpenAI 说明失败请求也会计入每分钟限制。应设置最大重试次数,使用指数退避和随机抖动;若错误是套餐用量耗尽或 insufficient_quota,继续重试不会解决。

Codex 429 应该等 Retry-After 还是 x-ratelimit-reset?

如果实际响应提供 Retry-After,就按该值等待;OpenAI API 还会在响应头提供 x-ratelimit-reset-requestsx-ratelimit-reset-tokens 等重置时间。以真实响应头为准,并给重试增加随机抖动。

RPM、RPD、TPM、TPD 分别是什么?

RPM 和 RPD 是每分钟与每天的请求数限制,TPM 和 TPD 是每分钟与每天的 Token 限制。任意一项先达到都可能触发限流,限制通常按 API 组织和项目而不是个人用户计算,并会随模型变化。

升级 ChatGPT Plus 或 Pro 能解决 API 429 吗?

不能直接解决。ChatGPT 套餐与 OpenAI Platform API 分开计费。只有错误来自 ChatGPT 登录下的 Codex 套餐用量时,更高套餐或额外 Credits 才可能相关;API 429 应在 Platform 检查速率和账单。

Codex 429 换模型或换 API Key 有用吗?

只有在官方文档和账号 Limits 明确显示模型限制不同时,切换模型才可能改变速率限制。轮换多个 Key 规避同一组织或项目限制通常无效,也可能掩盖账单或上游问题;不要购买来源不明的 Key。

OpenAI API 有余额为什么 Codex 仍然报 429?

余额只是 API 可用条件之一。有余额仍报 429,还可能是 Key 属于另一个组织或项目、项目预算或月度使用上限、RPM/TPM、模型家族共享限额、第三方 provider 共享上游或服务状态事件。应以实际 Project、Limits、Usage、错误正文和响应头判断。

Exceeded Retry Limit, Last Status: 429 Too Many Requests 怎么解决?

这表示客户端多次重试后仍收到 429,最后一行不是根因。先停止自动任务并找到最早一条 429;只有明确的速率限制才做有限次数退避,insufficient_quota、套餐 Usage limit 或上游容量问题必须先改变额度、窗口或服务状态。

提交 Codex 429 故障需要保存哪些信息?

保存发生时间和时区、Codex 客户端版本、ChatGPT 或 API Key 认证方式、脱敏后的完整错误、模型、请求 ID、Organization 和 Project、相关限流响应头与最小复现步骤。不要公开 API Key、auth.json、Session 或项目代码。

来源与利益关系说明

本文由 Hi Codex 服务团队根据 OpenAI 官方 Codex 套餐说明、API Rate limits、Error codes、429 帮助与 Cookbook 整理。团队提供独立人工充值协助,与 ChatGPT / Codex 套餐主题存在商业利益关系;与 OpenAI 不存在隶属、代理或官方授权关系。

速率、套餐与产品规则会变化。排查时以当前账号 Usage、OpenAI Platform Limits、实际响应头和官方文档为准;本文不提供第三方 API 中转、共享 Key、限流绕过或凭证代管。

仅当确认是 ChatGPT 套餐用量不足Plus ¥140 · Pro 5x ¥745 · Pro 20x ¥1320

API 速率限制、insufficient_quota、自定义 provider 或客户端故障不会因为重复充值自动修复。先完成上面的技术分流。

查看套餐与价格