For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

錯誤代碼

瞭解 API 錯誤代碼與解決方法。

本指南概述使用 API 與我們的官方 Python 函式庫時可能遇到的錯誤代碼。概覽中列出的每個錯誤代碼都有專屬章節,提供進一步的指引。

API 錯誤

程式碼概覽
400 - 無效的 service_tier 引數原因: 專案不允許請求指定或系統判定的服務層級。
解決方法:service_tier 設為專案允許的層級,或在專案設定中更新允許的服務層級。
401 - 身分驗證無效原因: 身分驗證無效。
解決方法: 確認使用的 API 金鑰與發出請求的組織正確無誤。
401 - 提供的 API 金鑰不正確原因: 請求使用的 API 金鑰不正確。
解決方法: 確認使用的 API 金鑰正確無誤、清除瀏覽器快取,或產生新的金鑰
401 - 你必須是組織成員才能使用 API原因: 你的帳戶不屬於任何組織。
解決方法: 聯絡我們,讓我們將你加入新組織,或請組織管理員邀請你加入組織
401 - IP 未獲授權原因: 請求的來源 IP 不符合專案或組織設定的 IP 允許清單。
解決方法: 從正確的 IP 傳送請求,或更新 IP 允許清單設定
403 - 不支援的國家、地區或領土原因: 你正從不支援的國家、地區或領土存取 API。
解決方法: 請參閱此頁面以瞭解詳情。
429 - 點數餘額已用盡程式碼: credit_balance_exhausted
原因: 組織的預付點數已用盡。
解決方法: 加值點數以繼續使用 API。
429 - 已達請求速率限制原因: 你傳送請求的速度過快。
解決方法: 調整請求的傳送節奏,並在回應包含 Retry-After 標頭時遵循其指示。請閱讀速率限制指南
429 - 請降低速度類型: rate_limit_error
程式碼: slow_down
原因: 請求速率增加得太快。
解決方法: 如果回應包含 Retry-After 標頭,請遵循其指示。請先降低請求速率,再逐步提高。
429 - 已達組織支出上限程式碼: organization_spend_limit_exceeded
原因: 組織已達到強制執行的支出上限。
解決方法: 提高或移除組織支出上限
429 - 已達專案支出上限程式碼: project_spend_limit_exceeded
原因: 專案已達到強制執行的支出上限。
解決方法:專案設定中提高或移除支出上限。
429 - 已達組織用量上限程式碼: organization_usage_limit_exceeded
原因: 組織已達到 OpenAI 指定的用量上限。
解決方法: 申請提高核准的用量上限,或聯絡支援團隊
500 - 伺服器處理請求時發生錯誤原因: 我們的伺服器發生問題。
解決方法: 稍候片刻後重試請求;如果問題持續發生,請聯絡我們。請查看狀態頁面
503 - 模型暫時過載類型: service_unavailable_error
程式碼: server_is_overloaded
原因: 請求的模型暫時過載。
解決方法: 如果回應包含 Retry-After 標頭,請遵循其指示,再重試請求。

遇到帳務相關錯誤時,請檢查 error.code 以找出具體原因。較廣泛的分類 error.type 仍可能是 insufficient_quota

遇到帳務、支出或配額錯誤時,重試請求無法恢復 API 存取。請先更新相關點數或上限,再傳送另一個請求。

WebSocket 模式錯誤

如果你使用 Responses API 的 WebSocket 模式,可能還會遇到以下錯誤:

  • previous_response_not_found:無法根據可用狀態解析 previous_response_id。請提供完整的輸入上下文,並將 previous_response_id 設為 null 後重試。
  • websocket_connection_limit_reached:連線已達 60 分鐘的時限。請建立新的 WebSocket 連線以繼續。

Python 程式庫錯誤類型

Python 會針對 429 回應引發 RateLimitError,並針對 503 回應引發 InternalServerError。如果你的處理常式先前僅捕捉其中一種例外類別來處理限流和過載,請改為處理這兩種類別,並檢查 error.code。例如,影片過載現在會回傳 503,先前則回傳 429。各端點的具體變更請參閱遷移指南

類型概覽
APIConnectionError原因: 連線至我們的服務時發生問題。
解決方法: 檢查網路設定、代理伺服器組態、SSL 憑證或防火牆規則。
APITimeoutError原因: 請求逾時。
解決方法: 稍候片刻再重試請求;如果問題持續發生,請聯絡我們。
AuthenticationError原因: 你的 API 金鑰或 Token 無效、已過期或已遭撤銷。
解決方法: 檢查 API 金鑰或 Token,確認其正確且有效。你可能需要從帳戶儀表板產生新的金鑰或 Token。
BadRequestError原因: 請求格式錯誤,或缺少某些必要參數,例如 Token 或輸入。
解決方法: 錯誤訊息應會指出具體問題。請查閱所呼叫 API 方法的文件,並確認傳送的參數有效且完整。你可能也需要檢查請求資料的編碼、格式或大小。
ConflictError原因: 資源已由另一個請求更新。
解決方法: 嘗試再次更新資源,並確認沒有其他請求正在嘗試更新同一資源。
InternalServerError原因: 我們這邊發生問題。
解決方法: 稍候片刻再重試請求;如果問題持續發生,請聯絡我們。
NotFoundError原因: 請求的資源不存在。
解決方法: 請確認使用的資源識別碼正確。
PermissionDeniedError原因: 你沒有存取所請求資源的權限。
解決方法: 請確認使用的 API 金鑰、組織 ID 和資源 ID 都正確。
RateLimitError原因: 你已達到獲配的速率限制,或流量增加得太快。
解決方法: 請控制傳送請求的速度,並在回應包含 Retry-After 時遵循其指示,同時遵守你的重試限制。詳情請參閱我們的速率限制指南
UnprocessableEntityError原因: 請求格式正確,但仍無法處理。
解決方法: 請重試該請求。

持續發生的錯誤

如果問題持續發生,請透過線上對話聯絡我們的支援團隊,並提供以下資訊:

  • 你當時使用的模型
  • 你收到的錯誤訊息和錯誤碼
  • 你傳送的請求資料和標頭
  • 請求的時間戳記和時區
  • 任何其他可能有助於我們診斷問題的相關詳細資訊

我們的支援團隊會調查問題,並儘快回覆你。請注意,由於支援需求量大,等候時間可能較長。你也可以在我們的社群論壇發文,但務必移除所有敏感資訊。

處理錯誤

建議你透過程式處理 API 傳回的錯誤。你可以參考以下程式碼片段來實作:

import OpenAI from "openai";

const client = new OpenAI();

try {
  const response = await client.responses.create({
    model: "gpt-6-astra",
    input: "Hello world",
  });
  console.log(response.output_text);
} catch (error) {
  if (error instanceof OpenAI.APIConnectionError) {
    console.error("Failed to connect to the OpenAI API:", error.message);
  } else if (error instanceof OpenAI.RateLimitError) {
    console.error("OpenAI API request exceeded its rate limit:", error.message);
  } else if (error instanceof OpenAI.APIError) {
    console.error("OpenAI API returned an error:", error.status, error.message);
  } else {
    throw error;
  }
}