Skip to main content
POST
gemini-3-pro-image-preview 生图 API

gemini-3-pro-image-preview 生图 API

这个模型使用 Gemini 官方 generateContent 格式生图,适合直接复用 contents / parts 结构,并且支持 2K 尺寸档位。
  • 路径为 POST /v1beta/models/{model}:generateContent
  • model 固定传 gemini-3-pro-image-preview
  • 文生图和图生图都走同一套 contents[].parts[] 结构。
  • generationConfig.responseModalities 建议同时请求 IMAGETEXT
  • 返回里既可能直接给 inlineData.data Base64,也可能给图片 URL。

先看懂图生图

Gemini 这里的图生图,本质上就是:
  1. 把文字提示词放进 parts[].text
  2. 把参考图按顺序继续塞进同一个 parts[]
  3. 让模型在同一次 generateContent 里同时看到“文字要求 + 图片参考”
最关键的区别只有一处:
  • 文生图:parts[] 里只有 text
  • 图生图:parts[] 里除了 text,还会追加一个或多个 inlineData
也就是说,Gemini 不是单独再开一个“edit”接口;它是直接在 generateContent 里,把图片当作输入的一部分传进去。

文生图 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 表示这两种可能的返回形式。

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>
返回模态列表。建议使用 ["IMAGE", "TEXT"]
generationConfig.imageConfig
object
required
图像配置对象。
generationConfig.imageConfig.aspectRatio
string
图片比例。常见值包括 1:116:99:164:33:43:22:321:9
generationConfig.imageConfig.imageSize
string
图片清晰度。这个模型支持 1K2K
safetySettings
array<object>
安全设置。可不传。

响应示例

Response

candidates[].content.parts[].inlineData.mimeType
string
返回图片 MIME 类型。
candidates[].content.parts[].inlineData.data
string
图片数据。可能是 Base64,也可能直接是图片 URL。
usageMetadata
object
Token 统计信息。
gemini-3-pro-image-preview 会按请求里的 imageSize 下发,2K 会保留,不会被强制回落到 1K

异步调用

gemini-3-pro-image-preview 也支持通过统一图像异步入口提交任务:
异步入口使用 OpenAI Images 兼容 JSON。提交成功后读取返回的 id / task_id,再通过 GET /v1/images/generations/async/{taskId} 查询状态和结果。

相关接口