API 錯誤

本頁面提供 GenerateContent API 傳回的後端錯誤代碼參考資料,說明 gRPC 錯誤回應格式,並提供疑難排解步驟。

HTTP 錯誤代碼

下表列出常見的後端錯誤代碼、原因說明和建議解決方案:

HTTP 程式碼 狀態 說明 範例 解決方案
400 INVALID_ARGUMENT 要求主體格式錯誤。 要求中有錯別字,或缺少必填欄位。 請參閱 API 參考資料,瞭解要求格式、範例和支援的版本。如果使用較舊的端點,可能會發生錯誤。
400 FAILED_PRECONDITION 你所在的國家/地區不支援 Gemini API 免費方案。請在 Google AI Studio 中為專案啟用帳單功能。 您在不支援免費層級的區域提出要求,且尚未在 Google AI Studio 中為專案啟用帳單資訊。 如要使用 Gemini API,請透過 Google AI Studio 設定付費方案。
403 PERMISSION_DENIED 您的 API 金鑰沒有必要權限。 您使用的 API 金鑰有誤;您嘗試使用微調模型,但未經過適當的驗證 確認 API 金鑰已設定且具有適當的存取權。請務必完成適當的驗證程序,才能使用微調模型。
404 NOT_FOUND 找不到要求的資源。 系統找不到要求中參照的圖片、音訊或影片檔案。 確認要求中的所有參數都適用於您的 API 版本。
429 RESOURCE_EXHAUSTED 您已超過其中一項 API 使用頻率限制 (RPM、TPM、RPD、支出等)。 您傳送的要求過多、使用的符記過多,或超出帳戶帳單記錄和層級的支出限制。 確認您未超出模型的速率限制。請稍候片刻再重試。降低要求速率或縮減要求大小。如有需要,請要求提高速率限制
499 已取消 作業已取消 (通常由呼叫端取消)。 API 尚未完成回應,用戶端就已關閉連線。 檢查用戶端或網路基礎架構是否過早關閉連線 (例如因用戶端逾時)。
500 內部資源 Google 發生未預期的錯誤。 輸入內容過長。 查看 Gemini API 狀態頁面,瞭解是否有任何進行中的事件。縮減輸入內容的脈絡,或暫時改用其他模型 (例如從 Gemini 2.5 Pro 改用 Gemini 2.5 Flash),看看是否能解決問題。或者稍後再試一次。如果重試後問題仍未解決,請使用 Google AI Studio 的「提供意見」按鈕回報。
503 無法使用 該服務可能暫時超載或關閉。 這項服務的容量暫時不足。 查看 Gemini API 狀態頁面,瞭解是否有任何進行中的事件。暫時切換至其他模型 (例如從 Gemini 2.5 Pro 切換至 Gemini 2.5 Flash),看看是否能正常運作。或者稍後再試一次。如果重試後問題仍未解決,請使用 Google AI Studio 的「提供意見」按鈕回報。
504 DEADLINE_EXCEEDED 服務無法在期限內完成處理。 提示 (或情境) 過大,無法及時處理。 在用戶端要求中設定較大的「逾時」,即可避免這個錯誤。

錯誤回應格式

如果 GenerateContent 要求失敗,API 會設定 HTTP 狀態碼 (例如 400 Bad Request403 Forbidden429 Too Many Requests),並傳回包含 gRPC 狀態詳細資料的 JSON 回應主體:

{
  "error": {
    "code": 400,
    "message": "API key not valid. Please pass a valid API key.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "API_KEY_INVALID",
        "domain": "googleapis.com",
        "metadata": {
          "service": "generativelanguage.googleapis.com"
        }
      },
      {
        "@type": "type.googleapis.com/google.rpc.LocalizedMessage",
        "locale": "en-US",
        "message": "API key not valid. Please pass a valid API key."
      }
    ]
  }
}
欄位 類型 說明
code 整數 HTTP 狀態碼。
message 字串 使用者容易理解的錯誤說明。
status 字串 SCREAMING_CASE 中的 gRPC 狀態碼。
details 陣列 其他錯誤脈絡,例如 ErrorInfoLocalizedMessage

後續步驟