generateContent 和 streamGenerateContent 两个端点。
与 Chat Completions API 的区别
Gemini Generate Content API 使用 Google 官方原生请求格式(contents 字段),而不是 OpenAI 兼容格式(messages 字段)。如果你已经使用 Google Gemini SDK 或熟悉官方 API 格式,可以直接使用此 API 而无需修改请求格式。
当前支持范围
接口接受文本、图片、视频和音频输入(inlineData 或 fileData)、思考配置及自定义函数声明。音频输出、内置工具和显式上下文缓存等原生字段尚无统一可用性保证,请以具体模型的实际返回为准。
使用 fileData.fileUri 提交音频等文件时,请确保文件可通过 HTTPS 直接访问,不依赖登录态,并让签名链接的有效期覆盖整个请求处理时间。非流式音频分析需要在模型完成处理后才返回结果,可能超过 90 秒;客户端应按文件大小和业务场景设置足够长的总超时,避免在服务端仍在处理时断开连接。
申请流程
使用 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,缓存命中的部分按缓存读取价格计算,不会重复计为普通输入。promptTokensDetails与cacheTokensDetails会规范化为usage.prompt_tokens_details下的text_tokens、image_tokens、video_tokens、audio_tokens及对应cached_*明细。这些值分别包含在prompt_tokens与cached_tokens中;不同模态仅按各自价格重算,不会重复计费。candidatesTokenCount和thoughtsTokenCount均按输出 token 价格计算。toolUsePromptTokenCount是独立的工具输入 token,按输入 token 价格计算。
usage 对象,跨模型协议统一从 usage.cost 读取本次调用费用。cost 是可选的费用预览;价格预览暂时不可用时,模型响应仍会正常返回,但可能不包含该字段。最终账单以用量记录为准。
Streaming(流式)
发送 POST 请求到/v1beta/models/{model}:streamGenerateContent?alt=sse:
usageMetadata 和规范化的 usage,费用仍位于 usage.cost:
data: [DONE]。如果终态价格预览暂时不可用,usage 仍会返回 token 用量,但会省略 cost。
支持的模型
高级功能
系统指令
生成配置
JSON 模式
思考模式(Thinking)
支持思考功能的模型(如 gemini-2.5-flash、gemini-2.5-pro)可以启用思考模式:函数调用
多轮对话
图片理解
安全设置
可通过safetySettings 控制内容过滤:

