Skip to main content
Google Gemini 是一个非常强大的 AI 对话系统,通过输入提示就能在几秒内生成流畅自然的回复。本文档主要描述 Gemini Generate Content API 的使用方法,这是 Google 官方原生 API 格式,支持 generateContentstreamGenerateContent 两个端点。

与 Chat Completions API 的区别

Gemini Generate Content API 使用 Google 官方原生请求格式(contents 字段),而不是 OpenAI 兼容格式(messages 字段)。如果你已经使用 Google Gemini SDK 或熟悉官方 API 格式,可以直接使用此 API 而无需修改请求格式。

当前支持范围

当前支持文本、图片、视频、思考配置和自定义函数声明。以下能力暂不开放:
  • 音频输入或音频输出;
  • codeExecutiongoogleSearchurlContext 等内置工具;
  • cachedContent 显式上下文缓存。
这些能力需要完整、可核验的细分用量后才能准确计费;提交相关字段时接口会返回明确的 400,不会静默忽略或按普通文本计费。

申请流程

使用 Gemini Generate Content API 前,请先访问 Gemini Generate Content API 页面,点击 “获取” 按钮来获得请求所需的凭证。 如果尚未登录或注册,会自动跳转到登录页面。首次申请会有免费额度。

基本用法

Non-Streaming(非流式)

发送 POST 请求到 /v1beta/models/{model}:generateContent
提示gemini-3.x 系列 flash 为思考模型,会先消耗 reasoning tokens;请把 generationConfig.maxOutputTokens 设到 512 以上,否则可能只返回空内容。
返回结果示例:
usageMetadata 中的 token 字段会按原生 Gemini 语义计费:
  • promptTokenCount 包含 cachedContentTokenCount,缓存命中的部分按缓存读取价格计算,不会重复计为普通输入。
  • promptTokensDetailscacheTokensDetails 会规范化为 usage.prompt_tokens_details 下的 text_tokensimage_tokensvideo_tokensaudio_tokens 及对应 cached_* 明细。这些值分别包含在 prompt_tokenscached_tokens 中;不同模态仅按各自价格重算,不会重复计费。
  • candidatesTokenCountthoughtsTokenCount 均按输出 token 价格计算。
  • toolUsePromptTokenCount 是独立的工具输入 token,按输入 token 价格计算。
Ace Data Cloud 额外返回规范化的 usage 对象,跨模型协议统一从 usage.cost 读取本次调用费用。cost 是可选的费用预览;价格预览暂时不可用时,模型响应仍会正常返回,但可能不包含该字段。最终账单以用量记录为准。

Streaming(流式)

发送 POST 请求到 /v1beta/models/{model}:streamGenerateContent?alt=sse
流式返回会以 SSE(Server-Sent Events)格式逐步返回内容。中间事件通常只包含增量内容;含权威用量的终态事件会包含 usageMetadata 和规范化的 usage,费用仍位于 usage.cost
连接关闭即表示流结束;原生 Gemini 流不会发送 data: [DONE]。如果终态价格预览暂时不可用,usage 仍会返回 token 用量,但会省略 cost

支持的模型

高级功能

系统指令

生成配置

JSON 模式

思考模式(Thinking)

支持思考功能的模型(如 gemini-2.5-flash、gemini-2.5-pro)可以启用思考模式:

函数调用

多轮对话

图片理解

安全设置

可通过 safetySettings 控制内容过滤:

错误处理