API 错误

本页提供了 GenerateContent API 返回的后端错误代码的参考文档,介绍了 gRPC 错误响应格式,并提供了问题排查步骤。

HTTP 错误代码

下表列出了常见的后端错误代码、原因说明和建议的解决方案:

HTTP 代码 状态 说明 示例 解决方案
400 INVALID_ARGUMENT 请求正文格式不正确。 您的请求中存在拼写错误,或者缺少必填字段。 请查看 API 参考文档,了解请求格式、示例和支持的版本。使用较新 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 CANCELLED 操作已取消(通常是被调用者取消)。 客户端在 API 完成响应之前关闭了连接。 检查您的客户端或网络基础架构是否过早关闭了连接(例如,由于客户端超时)。
500 INTERNAL Google 端发生了意外错误。 您的输入上下文过长。 查看 Gemini API 状态页面,了解是否有任何正在发生的事件。减少输入上下文,或暂时切换到其他模型(例如,从 Gemini 2.5 Pro 切换到 Gemini 2.5 Flash),看看是否有效。或者稍等片刻,然后重试请求。如果重试后问题仍然存在,请使用 Google AI Studio 中的发送反馈 按钮报告该问题。
503 UNAVAILABLE 服务可能暂时过载或关闭。 服务暂时容量不足。 查看 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 integer HTTP 状态代码。
message string 人类可读的错误说明。
status string SCREAMING_CASE 中的 gRPC 状态代码。
details array 其他错误上下文,例如 ErrorInfoLocalizedMessage

后续步骤