OpenAI API 429 報錯怎麼解決:Too many requests 與 insufficient_quota 的區別

OpenAI API 返回 429 不一定是「請求太快」,也可能是餘額用完、組織用量上限或你自己設的支出上限到了。本文按官方錯誤碼文檔教你看 error.code 分清兩類 429,各自怎麼處理,並給出遵守 Retry-After 的指數退避重試代碼。

NNathaniel bigo··原創首發·AI 輔助撰寫
10 分鐘讀完
資料核對於 2026-10-07 · 依據官方文檔與公開資料整理 其他 帳號
本文根據 OpenAI 開發者文檔(Error codes、Rate limits、Spend limits)和幫助中心《Troubleshooting API rate limits and 429 errors》(2026-10-07 當天更新)整理,資料核對於 2026-10-07。

適用於誰

  • 調用 OpenAI API 時遇到 429 Too Many Requests、RateLimitError 的人;
  • 報錯裏帶 quota、insufficient_quota 字樣,明明剛開始用就被拒的人;
  • 批量跑任務、並發一高就報錯,想寫個靠譜重試邏輯的人。

結論先說

  1. 429 有兩類,處理方法完全相反:
  • 臨時限速(請求或 token 發得太快)——等一等、降速、重試就能恢復;
  • 額度 / 帳單類(餘額用完、用量上限、支出上限)——重試沒用,必須先充值或調整上限。
  1. 怎麼分:看返回體裏的 error.code。官方說明額度類錯誤的 error.type 可能統一顯示為 insufficient_quota,具體原因以 error.code 為準。
  2. 重試要講規矩:響應頭有 Retry-After 就至少等這麼久;沒有就用指數退避加隨機抖動,並限制次數和總時長。官方 SDK 本身已會自動重試,自己再套一層要先關掉 SDK 重試。
  3. 餘額為正也可能 429:速率限制、組織月度用量上限、支出上限和預付餘額是互相獨立的。

第一步:讀懂這次是哪種 429

報錯訊息 / error.code屬於原因怎麼辦
Rate limit reached for requests / tokens臨時限速超過每分鐘請求數(RPM)或 token 數(TPM)等限制降速,按 Retry-After 等待後重試
slow_down(type 為 rate_limit_error)臨時限速流量增長太快,即使沒超 RPM / TPM 也會觸發先降速再逐步加量
credit_balance_exhausted額度類預付額度已用完去 Billing 充值
organization_usage_limit_exceeded額度類達到 OpenAI 給組織分配的月度用量上限在 Limits 頁申請提高上限
organization_spend_limit_exceeded額度類達到你給組織設的硬性支出上限提高 / 取消上限,或等下個月重置
project_spend_limit_exceeded額度類達到項目的硬性支出上限同上,在項目設定裏改

用 Python SDK 時,429 會拋出 openai.RateLimitError,可以直接讀 e.code、e.type 和 e.response.headers。

臨時限速:怎麼降下來

  1. 先看自己的限額:開發者平台 Settings → Organization → Limits,能看到當前使用檔位和各模型的限額。RPM 和 TPM 是兩個獨立的限制,可能只撞上其中一個。
  2. 避免突發:幫助中心提醒,限額可能按比顯示週期更短的窗口執行,例如「每分鐘 60 次」也可能按每秒檢查。一次性並發幾十個請求,平均值再低也會被攔。
  3. 限額是組織和項目共享的,不是每個人一份。同事在跑大任務、或者一個 Key 被多個程序共用,都會擠佔額度。另外部分模型族共享同一份限額。
  4. 減少 token:刪掉提示詞裏重複的上下文和示例;max_output_tokens(Chat Completions 是 max_completion_tokens)不要設得遠大於實際需要——官方說明限速按這個上限和請求估算 token 數中較大的計算,推理 token 也包含在內。
  5. 不急的任務用 Batch API:批處理有獨立且更高的限額,不佔用同步請求的速率。
  6. 平穩加量:官方經驗值是流量到每分鐘 100 萬輸入 token 後,每 15 分鐘增加不超過 50%,避免觸發 slow_down。
  7. 確認請求走的是哪個組織:屬於多個組織時,不同組織的檔位和帳單不同,檢查預設組織設定或請求頭裏的組織 / 項目 ID。
  8. 升檔:組織累計充值達到門檻後,使用檔位(Build、Launch、Grow)會自動升級,限額通常更高,門檻見 Rate limits 頁面。

額度 / 帳單類:重試前先處理

  • 餘額用完:到 Settings → Billing 購買額度,幾分鐘後餘額更新再試。注意自動充值失敗時會收到電郵,餘額耗盡後調用就會停止。
  • 用量上限:在 Limits 頁申請更高的已批准用量上限,或聯絡官方支持。
  • 支出上限:有權限的人去組織或項目的 Limits 裏提高或取消硬上限;不改的話下個月自動重置。修改生效需要一點時間。

預付額度、自動充值和支出上限的設定方法,詳見 /guides/openai-api-pricing-billing。

帶 Retry-After 的指數退避示例(Python)

下面的代碼只對臨時限速和 5xx 重試,遇到額度類 429 直接拋出:

python
import random
import time

import openai
from openai import OpenAI

client = OpenAI(max_retries=0)  # 由下面的函數統一重試,避免與 SDK 自帶重試疊加

BILLING_CODES = {
    "credit_balance_exhausted",
    "organization_usage_limit_exceeded",
    "organization_spend_limit_exceeded",
    "project_spend_limit_exceeded",
}

def create_with_backoff(max_attempts=6, base_delay=1.0, max_delay=60.0, **kwargs):
    for attempt in range(1, max_attempts + 1):
        try:
            return client.responses.create(**kwargs)
        except (openai.RateLimitError, openai.InternalServerError) as e:
            if e.code in BILLING_CODES or e.type == "insufficient_quota":
                raise  # 餘額 / 限額問題,重試沒有用
            if attempt == max_attempts:
                raise
            try:
                delay = float(e.response.headers.get("retry-after"))
            except (TypeError, ValueError):
                delay = min(max_delay, base_delay * 2 ** (attempt - 1))
            if delay > max_delay:
                raise  # 伺服器要求等太久,改為稍後再處理,不要提前重試
            time.sleep(delay + random.uniform(0, 1))  # 加隨機抖動,避免多個客戶端同時重試

resp = create_with_backoff(model="gpt-6-astra", input="用一句話介紹你自己。")
print(resp.output_text)

要點說明:

  • 官方 Python SDK 預設會對 429、5xx 和連接錯誤自動重試 2 次;如果像上面這樣自己管重試,就把 max_retries 設為 0,或者把 SDK 的重試次數算進總預算,避免請求次數成倍放大;
  • 失敗的請求同樣計入每分鐘限額,無間隔地連續重發只會讓情況更糟;
  • 流式請求已經開始輸出後中斷的,不要自動重放,以免重複內容。

別和 503 搞混

503 + server_is_overloaded 表示模型暫時過載,不是你的問題。同樣按 Retry-After 等待後重試;持續出現就去 status.openai.com 看有沒有故障。Python 裏 429 拋 RateLimitError,503 拋 InternalServerError,兩個都要處理。

常見問題

Q:新註冊就 429,餘額顯示有錢也不行?

先看 error.code。如果是 credit_balance_exhausted,說明預付額度為 0 或剛充值還沒到賬;如果是限速類,看 Limits 頁當前檔位的限額是不是太低。

Q:我有 ChatGPT Plus,為什麼 API 還說額度不足?

ChatGPT 訂閱和 API 是兩套獨立計費,Plus 不包含 API 額度。開通 API 計費見 /guides/openai-api-key。

Q:聯絡官方支持要準備什麼?

完整的報錯訊息和錯誤碼、相關的 request ID、出錯時間(帶時區)、Limits 頁顯示的限額,以及你已經嘗試過的步驟。不要附上 API Key。

Q:怎麼看是不是我這邊的網絡問題?

幫助中心建議在 Service Health(服務健康)面板按單個模型、服務檔位和項目篩選,打開 HTTP Requests 看各狀態碼的數量;客戶端報錯但面板裏沒有對應記錄,說明請求很可能根本沒到達 OpenAI。

參考資料

  • OpenAI 開發者文檔:Error codes — https://developers.openai.com/api/docs/guides/error-codes
  • OpenAI 開發者文檔:Rate limits — https://developers.openai.com/api/docs/guides/rate-limits
  • OpenAI 幫助中心:Troubleshooting API rate limits and 429 errors — https://help.openai.com/en/articles/5955604
  • OpenAI 開發者文檔:Spend limits — https://developers.openai.com/api/docs/guides/spend-limits
  • OpenAI 幫助中心:Setting up and managing prepaid API billing — https://help.openai.com/en/articles/8264644-setting-up-and-managing-prepaid-api-billing
  • OpenAI 幫助中心:Troubleshooting API errors and latency — https://help.openai.com/en/articles/1000499-troubleshooting-api-errors-and-latency
  • openai-python 官方倉庫 README(Retries、Handling errors)— https://github.com/openai/openai-python
  • OpenAI 開發者文檔:Batch API — https://developers.openai.com/api/docs/guides/batch
  • OpenAI Status — https://status.openai.com/
需要開通或續費?ChatGPT Plus 充值 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    ChatGPT 搜尋怎麼用:聯網搜尋、查看來源與結果不準怎麼辦

    ChatGPT 能聯網搜尋最新資訊並附上來源連結。本文按官方幫助中心講清怎麼手動開啟搜尋、怎麼看引用來源、本地結果不準的原因(位置設定)、搜尋按鈕不見了怎麼排查,以及什麼時候該用深度研究。

    ChatGPT0
  2. 02

    ChatGPT 出現 network error 怎麼辦:長回答中斷、連接失敗與公司網絡的處理方法

    ChatGPT 提示 A network error occurred 或 websocket 連接錯誤、長回答寫到一半斷掉?本文按官方幫助中心講清原因、個人排查步驟,以及公司網絡需要放行的域名、WebSocket 和語音端口。

    ChatGPT0
  3. 03

    AI商品圖怎麼做:從實拍原圖到白底圖、場景圖、模特圖的完整流程

    用 AI 做電商商品圖,怎麼既好看又不「貨不對板」?本文按 OpenAI、Google 官方提示指南整理一套流程:拍好原圖 → 摳圖白底 → 場景合成 → 模特上身 → 檢查細節,附提示詞模板,並提醒廣告法對商品展示真實性的要求。

    ChatGPT其他 AI 工具0
  4. 04

    AI 做 PPT 哪個好:直接生成文件、Office 插件、Google 幻燈片、專用工具四條路線對比

    AI 做 PPT 用哪個?不排名,按官方文檔對比四條路線:在 ChatGPT / Claude 對話裏直接生成 pptx、用 PowerPoint 裏的 AI 插件、用 Google 幻燈片裏的 Gemini、用 Gamma 等專用工具;講清各自能不能編輯、套不套得了模板、適合什麼場景,並給出通用的五步做法。

    ChatGPTClaude0
  5. 05

    Codex CLI 怎麼安裝、怎麼更新:官方 4 種安裝命令(腳本、npm、Homebrew)、查看版本和 codex update

    Codex CLI 怎麼裝、怎麼更新?官方有 macOS/Linux 與 Windows 的安裝腳本、npm、Homebrew 四種方式,更新多是重跑同一條命令。本文原樣列出官方命令,講查版本、codex update 和首次登入。

    ChatGPTCodex0
  6. 06

    ChatGPT 公式怎麼複製到 Word、公式亂碼怎麼辦:用 Word 自帶的 LaTeX 輸入,什麼寫法會不識別

    ChatGPT 給的公式粘進 Word 亂碼?Word(Microsoft 365)支持 LaTeX 輸入:Alt + = 插入公式區,格式選 LaTeX,粘貼後轉成專業格式。按微軟文檔講步驟、寫法對照和不識別的關鍵詞。

    ChatGPT0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~