Skip to main content
很多人以为 Gemini 图片模型「一次只能出一张图」。实测不是:只要提示词是「给我 N 个变体 / 分几步讲 / 做个分镜」这种形态,模型会在同一个响应里返回多张各自独立的成品图,每张前面还配一段说明文字。实测一次最多拿到 10 张 本文结论来自 2026-08-27 对 API易 生产网关的 92 次实测(6 类提示词 × 8 次触发率测试 + 张数上限 + 两个模型对照 + 分辨率叠加 + OpenAI 兼容路径),以及对生产日志 24 小时内 1212 条高输出记录的归因。
这和 开发指南 · 偶现多图输出 讲的不是同一回事。那里说的是复杂编辑任务下模型自己产生的思考中间稿(同一张图的逐稿修正,取最后一张即可);本文讲的是你主动要求、每张都是独立成品的多图输出——这种情况下「取最后一张」会把用户真正要的图丢掉。两者怎么区分见下文 和思考中间稿怎么区分

结论速览

响应长什么样

一条「给 3 个 logo 变体」的提示词,实际返回:
对应的 usage:
三张图的 sha256 完全不同,文件大小也不同(914KB / 632KB / 796KB),是三个不同的设计方案,不是同一张图的三次迭代

什么提示词会触发

触发是概率性的、由提示词形态决定。同一条提示词跑 8 次的实测触发率:
想稳定拿到多图,写成「每一张之间有叙述关系」的形态——分步骤、分镜头、分变体、分风格。单纯罗列 N 个不相干的物体反而不触发(0/8),模型会把它们画进同一张图里。这条最反直觉:提示词里写死「生成 4 张独立的图」并不管用,写成「第 1 步…第 2 步…」才管用。

一次最多几张

明确要求 6 张和 10 张,各跑 6 次: 触发的时候张数就是你要的数;没触发的时候退回 1 张。finishReason 始终是 STOP,说明 10 张不是上限被截断,只是我们没往上试。

计费:两种模型完全相反

这是本文最需要注意的一条。

gemini-3.1-flash-image(Nano Banana 2)—— 按量,张数直接乘上去

每张图按固定 tokens 计入 candidatesTokensDetails输出 tokens 随张数严格线性增长 imageSize 对每一张都生效,单张量按档位走:
这张表只适用于 gemini-3.1-flash-image(NB2)。Pro 的档位换算完全不同,实测同一提示词各 2 次:两者像素尺寸相同(1408×768 / 2816×1536 / 5632×3072),但 NB2 在 2K 和 4K 档上单张 token 更贵。 Pro 的明细见 usage 字段与输出解读; 由于 Pro 按次固定计价,这些 token 数不进 Pro 的账单。
多图 + 4K 会让单次费用上一个数量级。3 张 4K = 7560 图片 tokens,实测单次 $0.18,是单张 1K($0.035)的 5 倍多。如果你的应用把用户输入直接透传给模型,用户随手写一句「给我几个方案」就可能触发多图。按量计费下建议在提示词层显式约束张数,或改用下面的 Pro 按次计费。

gemini-3-pro-image(Nano Banana Pro)—— 按次固定,多图不加价

Pro 是按次计费 $0.09/次,不看 tokens。实测同一条「3 个 logo 变体」提示词跑 8 次: 3 张图和 1 张图一个价。 加上 Pro 本来就 1–4K 同价,所以在 Pro 上「一次要 3 个 4K 变体」和「一次要 1 张 1K 图」的费用完全相同,都是 $0.09。
需要多方案比选的场景(logo / 海报 / 配图选型),Pro 的按次计费明显更划算。同样是 3 张 4K:Pro 按次 $0.09;NB2 按量约 $0.18。而单张 1K 时反过来,NB2($0.035)比 Pro($0.09)便宜。按次 vs 按量的性价比分界点,就在「一次要几张、多大」上。

和思考中间稿怎么区分

两种多图长得很像——都在同一个 candidate 里、都带 thoughtSignature、都没有 thought: true 标记。判据是图和图之间有没有文字段 实测对照:一条复杂编辑提示词(去背景 + 换影棚渐变 + 加标题文字 + 加价格角标 + 光照匹配)跑 6 次,6/6 都只返回 1 张,排列是 ;而分步教程提示词 8/8 返回 3 张,排列是 文 图 文 图 文 图
既有文档里「取最后一张即可」的建议,只适用于思考中间稿那一类。 在交替生成场景下照做,会把用户要的 3 个 logo 丢掉 2 个。安全的写法是先看排列再决定:图片之间夹着文字 → 全部保留;图片连续无文字 → 取最后一张。

取图代码

不要写死 parts[0]parts[1],也不要写死 mimeType——实测 image/pngimage/jpeg 都出现过,落盘后缀一律以响应里的 mimeType 为准。详见 usage 字段与输出解读

responseModalities 能去掉说明文字

如果你只要图、不要那几段解说,在 generationConfig 里传 responseModalities: ["IMAGE"]。同一条多变体提示词各跑 12 次:
  • 文本段被完全抑制(12/12 零文本段),但三张图照出。
  • 输出 tokens 少 258(−6.3%),省的是实打实的整段解说文字。
  • 注意:这会让上面那条「看图之间有没有文字」的判据失效(因为文字全没了)。如果你打算靠排列来区分中间稿,就别加这个参数。
单张出图的普通提示词,["IMAGE"] 只省约 2.8%(且统计上不显著)——因为单图响应本来就很少带文本。这个参数只在多图交替场景下有实际收益。

OpenAI 兼容路径也能拿到全部图

/v1/images/generations 时,多张图会作为 data 数组的多个元素返回,实测 5/6 拿到 3 个元素、互不重复:
OpenAI 路径会丢掉说明文字,所以「看图之间有没有文字」这条判据在这条路径上用不了,无法区分交替生成和思考中间稿。需要区分就走原生 generateContent 路径。另外别只读 data[0]——那样会静默丢掉后面的图,而费用是按全部张数收的。

速查总结

  • Nano Banana 系列可以一次返回多张独立成品图,实测最多 10 张,全在同一个 candidate 的 parts
  • 触发靠提示词形态:分步教程(8/8)> 分镜(7/8)> N 个变体(5/8);单纯罗列 N 个物体不触发(0/8)
  • 要几张给几张,finishReason 仍是 STOP
  • 计费两种模型完全相反:NB2 按量、张数直接乘(10 张 $0.278);Pro 按次固定、多图不加价(3 张仍是 $0.09)
  • NB2 单张 tokens:1K = 1120、2K = 1680、4K = 2520,imageSize 对每张都生效(Pro 的档位换算不同,见正文表格)
  • 别无脑「取最后一张」:图之间夹文字 = 交替生成要全取,图片连续 = 思考中间稿取最后一张
  • 只要图不要文字用 responseModalities: ["IMAGE"],省约 6%,但会让上面那条判据失效

相关文档

Nano Banana 开发指南

请求构造、解析加固,以及思考中间稿那一类多图的详解

usage 字段与输出解读

响应结构、usage 各字段含义与对账口径

Nano Banana 系列价格总览

四个型号的按次 / 按量价格明细

图片压缩与输出分辨率

imageSize 与 aspectRatio 的取值与效果