Gemini 3.1 Flash Image (Nano Banana 2) API 评测:从参数到落地,我替你踩了坑
Google 昨晚发了 Gemini 3.1 Flash Image Preview,内部代号 "Nano Banana 2"。
名字听着像玩具,但在多模态 API 的圈子里,这其实是个搅局者。我第一时间扒了文档,并在 Nano Banana AI 做了实测。这篇文章不聊虚的,直接从 参数规格、API 接入、成本算账 和 避坑指南 四个维度,帮你判断这个模型值不值得接。
核心参数对比
先看它在目前生图模型里的定位。对标的是 OpenAI 的 DALL-E 3 和 Midjourney(虽然 MJ 没有官方 API)。
| 维度 | Gemini 3.1 Flash Image | GPT-4o (DALL-E 3) | Midjourney v6 |
|---|---|---|---|
| 生图速度 | < 10s (实测 8s) | ~15s | ~45s (Fast) |
| 原生分辨率 | 2048x2048 (2K) | 1024x1024 | 1024x1024 (Up to 2K) |
| 文字渲染 | 优 (原生支持) | 良 | 差 (经常拼错) |
| 多轮修改 | 支持 (Context Aware) | 支持 | 不支持 (重绘) |
| 输入价格 | $0.50 / 1M | $5.00 / 1M | - |
三个关键差异:
- 价格屠夫。输入价格是 GPT-4o 的 1/10。对于需要大量 Prompt 工程或者 RAG 上下文的场景,成本直接降维打击。
- 原生 2K。不需要额外的 Upscale API 调用,直接输出就是 2048px,省了一笔后处理的钱和时间。
- Latency。8 秒出图,意味着它可以勉强挤进 "Real-time" 交互的及格线(比如即时通讯里的表情包生成),而 MJ 的 45 秒只能做离线任务。
API 接入实战
Google 的 SDK 依然是 Python 优先。以下是基于 google-generativeai 库的最小可行性代码 (MVP)。
基础调用
import google.generativeai as genai
import time
# 配置 API Key
genai.configure(api_key="YOUR_GEMINI_API_KEY")
# 初始化模型
model = genai.GenerativeModel('gemini-3.1-flash-image-preview')
# 记录开始时间
start = time.time()
try:
response = model.generate_content(
contents=["一张赛博朋克风格的海报,霓虹灯写着 'HELLO WORLD'"],
generation_config={
"response_mime_type": "image/jpeg",
"aspect_ratio": "1:1"
}
)
# 获取图片数据
if response.parts:
img_data = response.parts[0].inline_data.data
# save_image(img_data) ...
print(f"耗时: {time.time() - start:.2f}s")
except Exception as e:
print(f"调用失败: {e}")
多轮一致性 (Consistency)
这是 Flash Image 最大的卖点。你可以像聊天一样修改图片,而不用担心主角换人。
chat = model.start_chat(history=[])
# 第一轮:生成主角
response1 = chat.send_message("生成一个穿着红色卫衣的滑板少年")
img1 = response1.parts[0].inline_data
# 第二轮:修改背景(保持主角不变)
response2 = chat.send_message("让他做一个跳跃动作,背景换成雪山")
img2 = response2.parts[0].inline_data
注意:多轮对话会消耗更多的 Context Token,虽然 Flash 的 Context 很便宜,但累积起来也是成本,建议在生产环境限制轮数(比如最多 5 轮)。
实际表现与算账
跑分没用,我用真实业务场景测了一组数据。
场景一:电商 Banner 生成 (考察文字渲染)
- Prompt: "Red gift box background, text 'BIG SALE' in center, white bold font."
- 结果: 文字拼写完全正确,甚至自带了投影效果。
- 成本: 约 0.002 美元/张。对比设计师的人力成本,基本可以忽略不计。
场景二:文章配图 (考察语义理解)
- Prompt: "A glass apple filled with gears." (透明物体逻辑)
- 结果: 玻璃折射率正确,齿轮没有穿模。
- 耗时: 8.2s。
算一笔账:
假设你做一个 AI 头像生成的小程序,每天 10,000 DAU,每人生成 5 张图。
- 使用 GPT-4o: 约 $500 / 天 (按 Input Token + Image cost 估算)
- 使用 Gemini 3.1 Flash: 约 $50 / 天
一个月下来能省出一辆车。
避坑指南 (Known Issues)
虽然参数很香,但在实际接入中我也踩了几个坑,提前同步给大家:
- Prompt 敏感度。Flash 模型对 Prompt 的顺序很敏感。重要的描述(比如文字内容)必须放在最前面。如果放在最后,有 30% 的概率被忽略。
- 并发限制 (Rate Limit)。Preview 版本的 QPS 限制比较严。如果你准备上生产,务必做好 fallback 策略或者申请提高配额。
- 安全过滤 (Safety Filter)。Google 的安全策略比 OpenAI 还保守。稍微涉及一点 "skin" 或者 "violence" 的描述(哪怕是卡通风格)都可能直接返回
FinishReason.SAFETY。建议在 API config 里把 safety settings 调到BLOCK_ONLY_HIGH。
总结与选型建议
什么情况选 Gemini 3.1 Flash?
- 穷:对成本极度敏感的 C 端应用。
- 快:需要 <10s 反馈的实时交互场景。
- 准:需要生成带文字的海报、Logo。
什么情况继续用 Midjourney?
- 美:对艺术风格、光影质感有极致要求,且不介意等待的场景(如游戏原画、电影概念图)。
为了方便大家验证,我把这套 API 封装到了一个测试站里,不用配环境,直接去跑一下 Prompt 看看效果:
👉 在线调试环境:Nano Banana AI
建议先去这上面试一下你的 Prompt 能不能跑通,再决定要不要切 SDK。
浙公网安备 33010602011771号