Skip to main content
POST
Gemini 图像生成 API

Gemini 图像生成 API

Gemini 图像模型统一使用官方 generateContent 格式生图,适合直接复用 contents / parts 结构。
  • 路径为 POST /v1beta/models/{model}:generateContent
  • 文生图和图生图都走同一套 contents[].parts[] 结构。
  • 参考图通过 parts[].inlineData 传入。
  • generationConfig.responseModalities 建议同时请求 IMAGETEXT
  • 返回里既可能直接给 inlineData.data Base64,也可能给图片 URL。

支持模型

  • gemini-3-pro-image-preview
  • gemini-2.5-flash-image-preview
  • gemini-3.1-flash-image-preview
  • gemini-3.1-flash-lite-image

模型差异

Body

contents
array<object>
required
输入内容列表。每项通常包含 roleparts
contents[].role
string
角色字段,常用值为 user
contents[].parts
array<object>
required
内容片段数组。提示词和参考图都在这里构造。
contents[].parts[].text
string
文本提示词。
contents[].parts[].inlineData
object
参考图输入。包含 mimeTypedata 两个字段。
contents[].parts[].inlineData.mimeType
string
图片 MIME 类型,常见值为 image/jpegimage/pngimage/webp
contents[].parts[].inlineData.data
string
Base64 编码的图片内容。
generationConfig
object
required
生成配置对象。
generationConfig.responseModalities
array<string>
返回模态列表。建议同时请求 IMAGETEXT
generationConfig.imageConfig
object
required
图像配置对象。
generationConfig.imageConfig.aspectRatio
string
图片比例。常见值包括 1:116:99:164:33:43:22:321:9
generationConfig.imageConfig.imageSize
string
图片清晰度。gemini-3-pro-image-preview 支持 1K2Kgemini-2.5-flash-image-previewgemini-3.1-flash-image-previewgemini-3.1-flash-lite-image 会实际回落为 1K
safetySettings
array<object>
安全设置。可不传。

图生图请求结构

Gemini 不提供单独的编辑接口。图生图请求会将参考图直接作为输入内容写入 contents[].parts[] 可简化理解为:
  • 文生图:parts[] 里只有文本。
  • 图生图:parts[] 里同时包含文本和图片。
也就是说,提示词与参考图会在同一次请求中一并提交给模型。

文生图 vs 图生图

图生图字段构造

请求构造可遵循以下规则:
  • 第一类内容是提示词:{ "text": "..." }
  • 第二类内容是参考图:{ "inlineData": { "mimeType": "...", "data": "BASE64..." } }
构造请求时通常先放文本提示词,再将每一张参考图转成 Base64,按顺序追加到同一个 parts[]

图生图示例

方法与路径

请求示例

图生图示例

图生图字段解释

参考图数量

多参考图可以按顺序追加多个 inlineData
  • 支持 1 张参考图
  • 也支持多张参考图
  • 多张时就是连续放多个 inlineData

返回值说明

Gemini 生图返回的图片通常在:
  • candidates[0].content.parts[].inlineData.data
这个字段可能有两种情况:
  1. 直接是 Base64 图片数据
  2. 直接是图片 URL
因此文档示例中用 BASE64_OR_URL 表示这两种可能的返回形式。

响应示例

Response

candidates[].content.parts[].inlineData.mimeType
string
返回图片 MIME 类型。
candidates[].content.parts[].inlineData.data
string
图片数据。可能是 Base64,也可能直接是图片 URL。
usageMetadata
object
Token 统计信息。

异步调用

Gemini 图像模型也支持通过统一图像异步入口提交任务:
异步入口使用 OpenAI Images 兼容 JSON,而不是本页的 Gemini 原生 contents[].parts[] 请求体。model 可以传 gemini-3-pro-image-previewgemini-2.5-flash-image-previewgemini-3.1-flash-image-previewgemini-3.1-flash-lite-image。提交成功后读取返回的 id / task_id,再通过 GET /v1/images/generations/async/{taskId} 查询状态和结果。

相关接口