跳转到主要内容

Nano Banana API 教程:官方文档、模型选择与代码,默认用 2.1

Nano Banana API 是 Gemini API 的图像模型:AI Studio 建 key,默认用 Nano Banana 2.1,NB2 已弃用;API 出图无免费层。

LaoZhang AI Team发布于更新于 26 分钟阅读
文章目录
Nano Banana API 官方教程概念图:默认 Nano Banana 2.1,从 AI Studio 密钥与 Interactions API 到保存和检查图片,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.1gemini-nano-banana-2.12026 年 10 月 6 日 GA;Flash 档现行模型,Google 建议所有新项目使用
Nano Banana 2 Litegemini-3.1-flash-lite-image最快的一档,只出 1K;不适合多参考图和连续多轮编辑
Nano Banana Progemini-3-pro-image最复杂的视觉任务、专业素材、精确文字与品牌一致性
Nano Banana 2gemini-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 editingNano Banana 2.1 或 Pro,不用 Lite
多张参考图、人物一致Use up to 14 reference imagesNano Banana 2.1;要风格参考图选 Pro
需要实时信息(天气、比分、新闻)Grounding with Google SearchNano Banana 2.1 或 Pro;Lite 不支持
指定比例、2K/4K 输出Generate images up to 4K resolution、Aspect ratios and image sizeNano Banana 2.1 或 Pro;Lite 只有 1K
用视频画面做封面、海报Video-to-image generationNano Banana 2.1 或 Lite
一次输出图文交错的故事、步骤图Interleaved text and imagesPro
大批量生成、不急着要结果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,1K 速度任务评估 Lite,专业文字和风格素材评估 Pro,旧 Nano Banana 2 迁移且停用日期未公布

几个会直接改变选择的能力差异:

能力Nano Banana 2.1LiteProNano Banana 2(已弃用)2.5 Flash Image
输出尺寸1K、2K、4K仅 1K1K、2K、4K512px、1K、2K、4K1024px
参考图上限14 张(10 张物体图 + 4 张人物图)14 张物体图,无人物/风格位6 张物体图 + 5 张人物图 + 3 张风格图(合计 14)10 张物体图 + 4 张人物图建议不超过 3 张
使用 Google 搜索建立依据网页搜索与图片搜索不支持网页搜索网页搜索与图片搜索官方页未列出
思考档位minimal / medium(默认)/ highminimal(默认)/ 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,并确认项目能出图

Nano Banana 2.1 的 Interactions 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 的规则有两处变化:

  1. 从 2026 年 5 月 28 日起,AI Studio 新建的 key 默认都是 auth key(authorization key,绑定到一个服务账号,默认只能调用 Gemini API,泄露后能被较快封停)。
  2. 不带任何限制的旧式 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 为准:

bash
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:

bash
# 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

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

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 请求头里:

bash
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 取出来保存:

bash
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 编码的原图。

python
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,服务端会接着上一轮的上下文生成:

python
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 读出来填进去:

bash
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 张人像合成一张办公室合影:

python
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 还决定返回什么。只传一个图片格式对象,就只返回图片、不带说明文字;想同时要文字和图片,传一个数组:

python
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:

python
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-generation2025 年 11 月 14 日已停用gemini-nano-banana-2.1
gemini-2.5-flash-image-preview2026 年 1 月 15 日已停用gemini-nano-banana-2.1
gemini-3-pro-image-preview2026 年 6 月 25 日已停用gemini-3-pro-image
gemini-3.1-flash-image-preview2026 年 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.5K2.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 时顺手检查这三处:

  1. 尺寸:代码里用了 512px 的,改成 1K;2.1 没有更小的档位,1K 单价 $0.0336 反而比 Nano Banana 2 的 512px($0.045)低。
  2. 思考档位:2.1 默认是 medium,不是 minimal。对延迟敏感的场景,显式传 thinking_level,再按实际耗时决定。
  3. 采样参数: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:

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:

bash
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 是我们自己的服务,其价格是平台报价,不是独立比较的结论。