Nano Banana API 教程:官方文档、模型选择与代码,默认用 2.1
Nano Banana API 是 Gemini API 的图像模型:AI Studio 建 key,默认用 Nano Banana 2.1,NB2 已弃用;API 出图无免费层。
文章目录

Nano Banana 的官方 API 就是 Google Gemini API 里的一组图像模型,文档在 ai.google.dev 的「Nano Banana image generation」页,调用用的是 Google AI Studio 创建的 Gemini API key。新项目默认用 2026 年 10 月 6 日正式发布(GA)的 Nano Banana 2.1,model ID 是 gemini-nano-banana-2.1,按 Google 的建议走 Interactions API;图像输出在 API 里没有免费层,项目需要开通结算。
截至 2026 年 10 月 8 日,和之前的教程相比有三处变化:
- 默认模型换成 2.1:原来的主力 Nano Banana 2(
gemini-3.1-flash-image)已在 Gemini API 弃用,Google 没有公布停用日期,现有代码还能调用,但官方要求迁移到gemini-nano-banana-2.1。 - 2.1 只有 1K、2K、4K 三档,没有 512px;每张等效价 1K $0.0336、2K $0.0504、4K $0.113,1K 和 2K 是 Nano Banana 2 的一半。
- preview 图像模型 ID 全部停用,
gemini-2.5-flash-image的停用日期在 Google 两个页面上写法不一致,替换方法见后面的旧代码一节。
下面的代码按 Google 官方文档的示例结构改写,模型 ID 换成了 2.1,没有用 Google 官方 key 实际运行过;可对照的运行记录只有经 laozhang.ai 网关调用 2.1 的几次请求,放在尺寸一节,并注明了路线。
说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。
官方 Nano Banana API 是什么,文档该看哪一节
Google 对 Nano Banana 的定义是 Gemini 的原生图像生成能力。下面这些模型共用同一个 key、同一个接口,区别只在 model ID:
| 名称 | model ID | 状态与官方定位 |
|---|---|---|
| Nano Banana 2.1 | gemini-nano-banana-2.1 | 2026 年 10 月 6 日 GA;Flash 档现行模型,Google 建议所有新项目使用 |
| Nano Banana 2 Lite | gemini-3.1-flash-lite-image | 最快的一档,只出 1K;不适合多参考图和连续多轮编辑 |
| Nano Banana Pro | gemini-3-pro-image | 最复杂的视觉任务、专业素材、精确文字与品牌一致性 |
| Nano Banana 2 | gemini-3.1-flash-image | 已弃用,未公布停用日期;官方要求迁移到 2.1 |
| Nano Banana(初代) | gemini-2.5-flash-image | 旧模型,官方建议迁移到 Lite;停用日期两处页面写法不一致 |
名字里带"Nano Banana API 文档"的网站不一定是 Google 的。不少同名站点自己发 token、换自己的域名,接口格式也和 Google 不同;在那里拿到的 key 不能调用 generativelanguage.googleapis.com,反过来也一样。判断很简单:官方文档域名是 ai.google.dev,官方接口域名是 generativelanguage.googleapis.com,key 从 Google AI Studio 创建。
Nano Banana 也没有可下载的模型权重,只能通过 Gemini API 或 Google Cloud 的 Vertex AI 调用,不存在"本地部署"版本。Vertex AI 上 2.1 同样已 GA,区域只有 global,模型的停用时间表也和 Gemini API 分开计算,企业团队的配置方式另见 Vertex AI 调用 Nano Banana:正确配置与费用。
官方图片生成页很长,按任务找章节会快很多:
| 你要做的事 | 官方文档对应章节 | 先用哪个模型 |
|---|---|---|
| 文字生成图片 | Image generation (text-to-image) | Nano Banana 2.1 |
| 上传一张图再改 | Image editing (text-and-image-to-image) | Nano Banana 2.1;简单局部修改可试 Lite |
| 在上一张图基础上连续修改 | Multi-turn image editing | Nano Banana 2.1 或 Pro,不用 Lite |
| 多张参考图、人物一致 | Use up to 14 reference images | Nano Banana 2.1;要风格参考图选 Pro |
| 需要实时信息(天气、比分、新闻) | Grounding with Google Search | Nano Banana 2.1 或 Pro;Lite 不支持 |
| 指定比例、2K/4K 输出 | Generate images up to 4K resolution、Aspect ratios and image size | Nano Banana 2.1 或 Pro;Lite 只有 1K |
| 用视频画面做封面、海报 | Video-to-image generation | Nano Banana 2.1 或 Lite |
| 一次输出图文交错的故事、步骤图 | Interleaved text and images | Pro |
| 大批量生成、不急着要结果 | Generate images in batch(配合 Batch API 页) | 任意;价格约为标准价一半 |
key、配额、价格、停用时间不在图片生成页,分别在同站的 API keys、Rate limits、Pricing、Deprecations 页。
先选模型:默认 Nano Banana 2.1,Lite 和 Pro 要有理由
Google 的图片生成指南现在把 Nano Banana 2 称作上一代模型,建议所有新项目使用 Nano Banana 2.1。2.1 是 Nano Banana 2 的更新版,速度和成本仍在 Flash 档,Google 列出的改进是画质、提示词遵循、多轮编辑中的人物一致性、文字渲染,以及 1:4、4:1、1:8、8:1 这类长条比例。第一版集成用它就行,遇到下面的具体情况再换:
- 换 Lite:只要 1K 图、单次出图或简单局部修改,最在意速度。它的 1K 出图单价和 2.1 一样,都是 $0.0336,省在输入和思考 token 的单价上。它不支持使用 Google 搜索建立依据,也不适合多参考图和连续多轮编辑。
- 换 Pro:图里的文字必须一字不差(海报、菜单、包装),图片是最终交付的专业素材,需要风格参考图,或要一次生成图文交错的内容。在 Nano Banana 2.1 vs Pro vs GPT Image 2.5 对比:9 组同题实测 的 9 道同题测试里(1K,每题出一张),Pro 保留了要求的文字,2.1 在 3 道文字题里改了措辞。
- 暂留 Nano Banana 2:已有集成短期内可以,Google 没定停用日期;需要 512px 预览图时也只有它支持。新项目没有理由再选它。
- 2.5 Flash Image:尽快迁移,原因见旧代码一节。

几个会直接改变选择的能力差异:
| 能力 | Nano Banana 2.1 | Lite | Pro | Nano Banana 2(已弃用) | 2.5 Flash Image |
|---|---|---|---|---|---|
| 输出尺寸 | 1K、2K、4K | 仅 1K | 1K、2K、4K | 512px、1K、2K、4K | 1024px |
| 参考图上限 | 14 张(10 张物体图 + 4 张人物图) | 14 张物体图,无人物/风格位 | 6 张物体图 + 5 张人物图 + 3 张风格图(合计 14) | 10 张物体图 + 4 张人物图 | 建议不超过 3 张 |
| 使用 Google 搜索建立依据 | 网页搜索与图片搜索 | 不支持 | 网页搜索 | 网页搜索与图片搜索 | 官方页未列出 |
| 思考档位 | minimal / medium(默认)/ high | minimal(默认)/ high | 默认开启,不可调 | minimal(默认)/ high | — |
| 视频输入 | 支持 | 支持 | 不支持 | 支持 | 不支持 |
| 付费层每张等效价 | $0.0336(1K)、$0.0504(2K)、$0.113(4K) | $0.0336(1K) | $0.134(1K/2K)~ $0.24(4K) | $0.045(0.5K)~ $0.151(4K) | $0.039 |
价格来自 Gemini API 官方价格页的 Standard 付费层,按输出 token 折算成每张图,美元计,截至 2026 年 10 月 8 日。2.1 的 1K、2K 正好是 Nano Banana 2($0.067、$0.101)的一半;4K 的 $0.113 比 Nano Banana 2 的 $0.151 只便宜约 25%(0.113 ÷ 0.151 ≈ 0.75)。2.1 的 4K 价格在 10 月 6 日至 7 日的价格页上曾写作 $0.0756,之后改成了 $0.113,看到旧数字的话以现在的为准。
思考 token 另外计费,2.1 是每百万 token $7.50,输入是每百万 $1.50。走 Batch API 大约减半,2.1 的 1K、2K、4K 分别为 $0.0168、$0.0252、$0.0567。API 调用出图没有免费额度,详见 Gemini 图片生成 API 免费吗:已无免费层,标准价最低每张 $0.0336;输入 token 费用和按月估算放在 Nano Banana API 价格:Lite、Nano Banana 2、Pro、免费边界与路线选择 里单独算。
所有生成的图片都带 SynthID 隐形水印,各个模型相同。
第一步:拿到 API key,并确认项目能出图

打开 Google AI Studio 的 API Keys 页即可创建 key。每个 key 都属于一个 Google Cloud 项目,账单、配额和权限都挂在项目上:
- 新用户:接受服务条款后,AI Studio 会自动建一个默认项目和一个 key。
- 已经在用 Google Cloud 的账号:AI Studio 不会自动建项目,要先在 Projects 页点 Import projects 导入现有项目,再到 API Keys 页建 key。
2026 年起 key 的规则有两处变化:
- 从 2026 年 5 月 28 日起,AI Studio 新建的 key 默认都是 auth key(authorization key,绑定到一个服务账号,默认只能调用 Gemini API,泄露后能被较快封停)。
- 不带任何限制的旧式 standard key 会被 Gemini API 拒绝。已经加了限制的 standard key 还能用;长期没用、又没加限制的 key 从 2026 年 5 月 7 日起会显示 Blocked。遇到这两种情况,在 API Keys 页给旧 key 选 "Restrict to Gemini API only",或者直接新建一个 auth key 替换。
key 不要写进代码。官方 SDK 会自动读取环境变量 GEMINI_API_KEY 或 GOOGLE_API_KEY,两个都设置时以 GOOGLE_API_KEY 为准:
export GEMINI_API_KEY="你的 key"因为 API 出图没有免费层,项目必须关联结算账号,才能真正拿到图片。在 AI Studio 界面里用 Nano Banana 出图同样算付费功能:自 2026 年 3 月 23 日起新用户要先预付,最低 $5,余额为 0 时请求返回 HTTP 402。
关联结算后项目进入 Tier 1,结算上限 $250。配额按项目计算而不是按 key,建多个 key 不会多出额度。每日请求数在太平洋时间午夜重置,图像模型另有每分钟出图数(IPM)限制;Tier 1 项目每 10 分钟的消费上限是 $10,超过会返回 429 RESOURCE_EXHAUSTED。截至 2026 年 10 月 8 日,Gemini API 的速率限制页还没有 2.1 这一行,各模型实际的 RPM、IPM 只在 AI Studio 的项目页里显示;三类 429 怎么区分见 Gemini 图片生成 429 速率限制:先分清每分钟、每日和花费上限。API 配额和 Gemini 应用里的用量是两套规则,区别见 Nano Banana 2 限制与每日额度:按算力还是按张。
在中国大陆能不能直接用
截至 2026 年 10 月 8 日,Google AI Studio 与 Gemini API 的可用地区列表(最后更新于 2026 年 4 月 28 日)里没有中国大陆,也没有香港。也就是说,从这两个地区直接注册、创建项目和调用官方 API 都不在 Google 支持的范围内。在可用地区开发和部署的团队,按上面的官方流程接入即可。
只能在国内环境使用时,另一种做法是第三方 API 网关,但它不是 Google 的官方渠道,请求格式和可用功能未必与官方一致。以 laozhang.ai 为例,它对 2.1 按次收费 $0.045,不分 1K、2K、4K;每次返回 HTTP 200 都计费,即使响应里没有图片。两条路线的取舍见 Nano Banana API 便宜稳定路线:Google 直连、laozhang.ai 或双路线。
说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。
跑通第一张图:Python、JavaScript 和 REST
安装 SDK
Interactions API 是 Google 在 Gemini API 里推出的新调用接口,官方中文页也直接用英文名,它支持在服务端保存对话历史、按步骤返回结果。Google 的说法是 generateContent 继续完整支持,但所有新开发都推荐用 Interactions API,官方图片生成页现在也只放 Interactions 的示例。
Python 用 google-genai,JavaScript 用 @google/genai,两者都要 2.3.0 或更高版本才有 Interactions:
# Python
pip install -U google-genai
pip show google-genai # 确认 Version 不低于 2.3.0
# JavaScript / TypeScript
npm install @google/genai
npm ls @google/genai # 同样确认不低于 2.3.0还在用 google-generativeai 这个旧包的代码,没有 Interactions 接口,换成 google-genai 再对照下面的写法改。
本节和后面几节的 Interactions 代码,都是按 Google 图片生成页的示例改写的:只把 model 换成 gemini-nano-banana-2.1、提示词换成中文,没有实际运行过。
Python
import base64
from google import genai
client = genai.Client() # 自动读取 GEMINI_API_KEY
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="一碗放在未来感餐厅里的香蕉甜品,俯拍,柔和的自然光",
)
image = interaction.output_image
if image is None:
raise SystemExit("这次没有返回图片,检查 interaction.steps 里的文字说明")
with open("first_image.png", "wb") as f:
f.write(base64.b64decode(image.data))
print("interaction id:", interaction.id) # 后面多轮修改要用interaction.output_image 是 SDK 提供的便捷属性,直接取最后一张图,图片数据是 base64,需要先解码再写文件。默认情况下模型会同时返回文字和图片,文字部分可以用 interaction.output_text 查看。返回的图片格式不一定是 PNG,需要固定格式时在 response_format 里设 mime_type,见尺寸一节。
JavaScript
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({}); // 自动读取 GEMINI_API_KEY
async function main() {
const interaction = await ai.interactions.create({
model: "gemini-nano-banana-2.1",
input: "一碗放在未来感餐厅里的香蕉甜品,俯拍,柔和的自然光",
});
const image = interaction.output_image;
if (!image) {
console.log("这次没有返回图片,检查 interaction.steps");
return;
}
fs.writeFileSync("first_image.png", Buffer.from(image.data, "base64"));
console.log("interaction id:", interaction.id);
}
main();REST(curl)
接口地址是 POST https://generativelanguage.googleapis.com/v1beta/interactions,key 放在 x-goog-api-key 请求头里:
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-nano-banana-2.1",
"input": "一碗放在未来感餐厅里的香蕉甜品,俯拍,柔和的自然光",
"response_format": {"type": "image", "aspect_ratio": "16:9", "image_size": "1K"}
}' > response.json返回的 JSON 里,id 是这次 interaction 的编号,生成内容在 steps 数组中 type 为 model_output 的那一步,图片是其中 type 为 image 的内容块,data 字段是 base64。用 jq 取出来保存:
jq -r '.steps[] | select(.type == "model_output") | .content[] | select(.type == "image") | .data' response.json \
| head -n 1 | base64 --decode > first_image.png
jq -r '.id' response.json请求返回 200 却没有图片,可能是提示词被拦截、模型只返回了文字,或代码读错了字段,按返回字段逐项排查的方法见 Nano Banana API 不出图:按返回字段逐项排查。遇到 429、503 或请求被拒,先看 Nano Banana API 报错:先分清 429、503、无图像和请求被拒。
改图、多轮修改和多张参考图
用一张图改图
把 input 改成列表:一个文字块写修改要求,一个图片块放 base64 编码的原图。
import base64
from google import genai
client = genai.Client()
with open("product.png", "rb") as f:
source_b64 = base64.b64encode(f.read()).decode("utf-8")
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=[
{"type": "text", "text": "把背景换成浅灰色摄影棚,产品的形状、颜色和包装文字保持不变"},
{"type": "image", "data": source_b64, "mime_type": "image/png"},
],
)
with open("edited.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))图片较大时,官方建议改用 Files API 上传后再引用,做法在官方的图片理解(Image understanding)页。
在上一张图上继续改
多轮修改不需要把上一张图再传一遍,只要带上前一次的 previous_interaction_id,服务端会接着上一轮的上下文生成:
second = client.interactions.create(
model="gemini-nano-banana-2.1",
input="把画面里的英文全部改成简体中文,其他元素不要动",
previous_interaction_id=interaction.id,
response_format={"type": "image", "aspect_ratio": "16:9", "image_size": "2K"},
)
with open("edited_zh.png", "wb") as f:
f.write(base64.b64decode(second.output_image.data))REST 写法相同,把上一轮 response.json 里的 id 读出来填进去:
PREVIOUS_INTERACTION_ID=$(jq -r '.id' response.json)
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d @- > response2.json <<EOF
{
"model": "gemini-nano-banana-2.1",
"input": "把画面里的英文全部改成简体中文,其他元素不要动",
"previous_interaction_id": "$PREVIOUS_INTERACTION_ID",
"response_format": {"type": "image", "aspect_ratio": "16:9", "image_size": "2K"}
}
EOF这依赖 Interactions 默认的保存机制(store=true):付费层项目的记录保存 55 天,免费层 1 天。请求里设了 store=false 就不会保存,也就不能再用 previous_interaction_id 接着改。连续多轮编辑用 2.1 或 Pro,Lite 在官方说明里明确不适合这类任务。改图里的文字时,如果改完的字必须逐字准确,按前面选模型一节的结论换 Pro 更稳。
多张参考图合成
多张参考图就是在 input 里放多个图片块。官方示例用 5 张人像合成一张办公室合影:
import base64
from google import genai
client = genai.Client()
blocks = [{"type": "text", "text": "把这几位同事合成一张办公室合影,每个人都在做鬼脸"}]
for path in ["p1.png", "p2.png", "p3.png", "p4.png", "p5.png"]:
with open(path, "rb") as f:
blocks.append({
"type": "image",
"data": base64.b64encode(f.read()).decode("utf-8"),
"mime_type": "image/png",
})
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input=blocks,
response_format={"type": "image", "aspect_ratio": "5:4", "image_size": "2K"},
)
with open("office.png", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))参考图数量按模型分上限:2.1 和 Nano Banana 2 一样,最多 10 张物体图加 4 张人物图;Pro 最多 6 张物体图、5 张人物图和 3 张风格图;旧的 2.5 Flash Image 官方建议不超过 3 张。提示词怎么写得更稳,可以参考 如何给 Nano Banana 写提示词:实用方法与 50 个可测试模板。
尺寸、比例和输出格式:2.1 只有 1K、2K、4K
输出控制都放在 response_format 里,type 设为 "image" 时可以加这几个字段:
aspect_ratio:比例。2.1 支持 14 种:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9,以及长条的 1:4、4:1、1:8、8:1。其他模型支持哪些、各比例对应多少像素,见官方页的 Aspect ratios and image size 表格。image_size:"1K"、"2K"、"4K",默认 1K。K 必须大写,写成"1k"会被拒绝。Lite 只支持 1K;2.1 不支持 512px,这一档只有已弃用的 Nano Banana 2 有,Interactions 下的具体写法以官方页为准。mime_type:可选,例如"image/jpeg"。
不指定比例时,有输入图就跟随输入图的尺寸,没有输入图就生成 1:1 方图。
能对照的运行记录来自 2026 年 10 月 8 日经 laozhang.ai 网关、用 generateContent 格式调用 2.1 的 7 次请求(每种设置只跑一次,不代表 Google 官方接口的行为):1K 无比例返回 1024×1024,2K 16:9 返回 2752×1536,4K 16:9 返回 5504×3072(文件约 8.6 MB),没指定格式时全部是 JPEG,每次约 19–35 秒。imageSize 传 "512" 时没有报错,而是返回 1K 图并照常计费;前一天同样的请求还返回过 400。结论很简单:2.1 不要传 512。
说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。
response_format 还决定返回什么。只传一个图片格式对象,就只返回图片、不带说明文字;想同时要文字和图片,传一个数组:
interaction = client.interactions.create(
model="gemini-nano-banana-2.1",
input="写一首关于星夜的短诗,并为它配一张图",
response_format=[{"type": "text"}, {"type": "image"}],
)搜索依据、思考档位、图文交错与批量生成
这几项在官方页各有独立章节,用到时再读即可,先知道它们的开关和限制。
使用 Google 搜索建立依据(Grounding with Google Search):加上 tools=[{"type": "google_search"}],模型会先搜索再出图,适合天气图、比分图、近期事件信息图。2.1 和 Nano Banana 2 还能同时用图片搜索,写法是 tools=[{"type": "google_search", "search_types": ["web_search", "image_search"]}]。官方页对 Nano Banana 2 图片搜索的要求是界面必须展示返回结果里的 search_suggestions,用 2.1 时按同样要求处理。Lite 不支持这项功能。搜索按次计费,Gemini 3 系列模型共享每月 5,000 次免费额度,超出后每 1,000 次 $14。
思考档位:Nano Banana 2、Lite 和 Pro 默认先"思考"再出图,API 里关不掉,过程中最多生成两张不计费的中间草图。2.1 有 minimal、medium、high 三档,默认 medium;Nano Banana 2 和 Lite 只有 minimal 和 high,默认 minimal;Pro 不可调。写法是 generation_config={"thinking_level": "high"}。思考产生的 token 要计费,从 Nano Banana 2 迁到 2.1 时,默认档位从 minimal 变成了 medium,等待时间和 token 用量都可能上升。
前面那组网关调用里,2K 16:9 设成 high 比 minimal 多等了约 10 秒(34.8 秒对 24.7 秒),但 minimal 的思考 token 并不更少(936 对 847)。这只是一对样本,能说明的只有一点:调成 minimal 不保证省 token。
图文交错:Pro 这类模型能在一次响应里输出"文字、图、文字、图"的内容。这时 output_image 只拿到最后一张,要遍历 steps:
for step in interaction.steps:
if step.type == "model_output":
for i, block in enumerate(step.content):
if block.type == "text":
print(block.text)
elif block.type == "image":
with open(f"part_{i}.png", "wb") as f:
f.write(base64.b64decode(block.data))批量生成:图片生成页的所有能力都能用 Batch API 跑,速率上限更高、价格约为标准价一半,代价是结果最长要 24 小时返回,适合批量商品图这类不需要立刻出结果的任务。2.1 支持 Batch,不支持 Flex 和 Priority;截至 2026 年 10 月 8 日,速率限制页的 Batch 排队 token 上限表里还没有 2.1。
Pro 专用的 JSON 请求模板、YAML 配置和 PDF 输入另见 Nano Banana Pro API 怎么调用:JSON 请求、YAML 配置与 PDF 转图。
旧教程和旧代码:哪些已经失效,怎么改
2025 年的中文教程大多基于 gemini-2.5-flash-image-preview 和 generateContent。照着写的代码如果报 404、模型不存在或字段错误,按下表逐项对照。所有 preview 图像模型 ID 都已在 Gemini API 停用,代码或 ComfyUI 节点里还在发送这些 ID 的,请求会失败:
| 旧写法 | 现状(截至 2026 年 10 月 8 日) | 改成 |
|---|---|---|
gemini-2.0-flash-preview-image-generation | 2025 年 11 月 14 日已停用 | gemini-nano-banana-2.1 |
gemini-2.5-flash-image-preview | 2026 年 1 月 15 日已停用 | gemini-nano-banana-2.1 |
gemini-3-pro-image-preview | 2026 年 6 月 25 日已停用 | gemini-3-pro-image |
gemini-3.1-flash-image-preview | 2026 年 6 月 25 日已停用 | gemini-nano-banana-2.1 |
gemini-3.1-flash-image(Nano Banana 2) | 2026 年 10 月 6 日宣布弃用,未公布停用日期 | gemini-nano-banana-2.1 |
gemini-2.5-flash-image(初代 Nano Banana) | 弃用页写 2027 年 3 月 15 日停用;价格页仍留着"2026 年 10 月 2 日停用"的旧提示 | gemini-3.1-flash-lite-image;需要 2K/4K 或多轮编辑选 gemini-nano-banana-2.1 |
Imagen 4(imagen-4.0-generate-001 及 ultra、fast 版) | 2026 年 8 月 17 日已停用 | gemini-nano-banana-2.1 |
2.1 的 image_size 写成 512 或 0.5K | 2.1 不支持这一档 | "1K" |
Interactions 返回里取 interaction.outputs[-1] | 旧 outputs 结构已于 2026 年 6 月 8 日移除 | 读 steps,或用 output_image / output_text |
Interactions 请求里写 response_mime_type | 已移除 | 统一写进 response_format |
image_size 写成 "1k"、"2k" | 小写会被拒绝 | "1K"、"2K"、"4K" |
SDK 版本低于 2.3.0,或用旧包 google-generativeai | 没有 interactions 接口 | 升级 google-genai / @google/genai |
| 不带限制的旧 standard key | 请求会被拒绝 | 给 key 加 "Restrict to Gemini API only",或新建 auth key |
已停用的模型不会恢复,只能换 ID。gemini-2.5-flash-image 的两处日期互相矛盾,10 月 2 日已经过去,不要指望它一直可用,尽快在测试环境换成 Lite 或 2.1 对比一轮效果。
从 Nano Banana 2 换到 2.1:改 ID 之外还要检查三处
Nano Banana 2 在 Gemini API 上没有停用日期。2.1 发布当天,弃用页一度列出过 2026 年 10 月 29 日,到 10 月 7 日已撤下,所以眼下没有硬性截止日;Vertex AI 上 Nano Banana 2 的退役时间写的是"2027 年 5 月 28 日或之后"。不急着停服,但新功能都在 2.1 上,换 ID 时顺手检查这三处:
- 尺寸:代码里用了 512px 的,改成 1K;2.1 没有更小的档位,1K 单价 $0.0336 反而比 Nano Banana 2 的 512px($0.045)低。
- 思考档位:2.1 默认是 medium,不是 minimal。对延迟敏感的场景,显式传
thinking_level,再按实际耗时决定。 - 采样参数:Vertex AI 的 2.1 文档写明,请求带
seed、topK、logprobs、temperature、topP会返回 API 错误。旧代码里带这些参数的,迁移时先去掉再测;也别指望用 seed 在 2.1 上复现同一张图。
价格、入口和 Gemini 应用里的变化,见 Nano Banana 2.1 价格与入口:1K/2K 比 NB2 便宜一半,4K 只省 25%;几个模型的定位差异见 Nano Banana 2、2.1、Pro 和 Lite 区别怎么选:2 已弃用。ComfyUI 用户要注意,2.1 的官方 Partner Node 需要 ComfyUI 0.39.1 或更新版本,旧工作流里填 preview ID 的节点要换掉。
暂时不迁到 Interactions:generateContent 对照写法
generateContent 仍然完整可用,已有集成不必马上重写,但要注意图像参数的字段名和 Interactions 不同:生成配置里用 responseModalities 声明要图片,比例和尺寸放在 imageConfig(aspectRatio、imageSize),不是 response_format。下面两段按 Gemini API 的 generateContent 参考文档字段写成,同样没有用 Google 官方 key 运行过。Python:
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-nano-banana-2.1",
contents="一碗放在未来感餐厅里的香蕉甜品,俯拍,柔和的自然光",
config=types.GenerateContentConfig(
response_modalities=["IMAGE"],
image_config=types.ImageConfig(aspect_ratio="16:9", image_size="2K"),
),
)
for part in response.candidates[0].content.parts:
if part.inline_data:
with open("output.jpg", "wb") as f:
f.write(part.inline_data.data) # SDK 已解码为字节REST:
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-nano-banana-2.1:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "一碗放在未来感餐厅里的香蕉甜品,俯拍,柔和的自然光"}]}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
}
}'图片在 candidates[].content.parts[] 的 inlineData.data 里,同样是 base64,inlineData.mimeType 标明实际格式。generateContent 的参考文档列出的 imageSize 取值是 512、1K、2K、4K,这是所有图像模型的合集;2.1 只接受 1K、2K、4K。比例共 14 种,某个模型具体支持哪些,仍以图片生成页的表格为准。
常见问题
Nano Banana API 能免费调用吗?
不能。Gemini API 的图像输出没有免费层,项目要关联结算才能出图。创建 key 本身不收费,Gemini 应用里的出图用量也和 API 是两套规则。
Nano Banana 2.1、Nano Banana 2、Pro 的 model ID 分别是什么?
Nano Banana 2.1 是 gemini-nano-banana-2.1,Nano Banana 2 是 gemini-3.1-flash-image(已弃用),Nano Banana Pro 是 gemini-3-pro-image,Nano Banana 2 Lite 是 gemini-3.1-flash-lite-image,最早的 Nano Banana 是 gemini-2.5-flash-image。
Nano Banana 2 还能用吗,什么时候停用?
截至 2026 年 10 月 8 日还能调用。它已在 Gemini API 弃用,但 Google 没有公布停用日期,网上流传的 10 月 29 日是发布当天短暂出现、随后撤下的日期。新项目直接用 2.1,旧项目按上面三处检查迁移。
generateContent 还能用吗,要不要马上改成 Interactions API?
能用,Google 说明 generateContent 继续完整支持。新项目建议直接用 Interactions API;已有代码可以先只把停用和弃用的 model ID 换掉,再按需要迁移。
第三方"Nano Banana API"网站给的 key,能调用 Google 官方接口吗?
不能。那些 key 只在发放它的服务上有效,接口地址和请求格式也由对方决定。官方 key 只从 Google AI Studio 创建。
不写代码,只想在网页上生成图片怎么办?
用 Gemini 应用即可。Gemini 产品页写的是免费用户用 Nano Banana 2、有 Google AI 方案的用户用 2.1;截至 2026 年 10 月 8 日,帮助中心的图片页还只写 Nano Banana 2,也没有公布每天能出几张。入口和用量见 Gemini 图片生成教程:入口、模型、额度与 API 调用,免费版的次数规则见 Gemini 免费生图次数限制:一天能出几张,用完怎么办。想在 Claude Code 里直接调用 Nano Banana 出图,可以看 Claude Code 接入 Nano Banana:配置与修复。
该用 Gemini API 还是 Vertex AI?
个人开发者和小团队用 Gemini API 更快上手;需要 Google Cloud 的 IAM 权限管理和云上治理时再考虑 Vertex AI。两者的取舍见 Gemini API 和 Vertex AI API 怎么选:先看开发速度还是云上治理。
官方文档
接入参数、价格与扣费规则以老张API开发文档为准:Nano Banana 系列 API 文档。
说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。





