如何通过 API 使用 Nano Banana?(Gemini-2-5-flash-image)

CometAPI
AnnaAug 28, 2025
如何通过 API 使用 Nano Banana?(Gemini-2-5-flash-image)

“Nano Banana”是社区对 Google 的Gemini 2.5 Flash Image的昵称(也是内部简写)——一款高质量、低时延的多模态图像生成与编辑模型。本文是一份长篇指南(含代码、模式、部署步骤与 CometAPI 示例),介绍三种可在生产中使用的实用调用方式:(1)OpenAI 兼容的 Chat 接口(文本→图像),(2)Google 官方的 generateContent 文本→图像接口,以及(3)Google 官方的 generateContent 基于 Base64 输入/输出的图像→图像接口。你还将获得逐步的发布/部署建议、环境配置、如何从 CometAPI 获取 API 操作、价格与水印说明,以及获得稳定且成本高效结果的最佳实践。

什么是 Nano Banana(Gemini 2.5 Flash Image)?

Nano Banana 是对 Gemini 2.5 Flash Image 的非正式称呼,它是 Google Gemini 系列中最新的图像模型。它既适用于照片级真实感的图像生成,也适用于精确的图像编辑(局部编辑、多图融合、在多次编辑中保持角色一致性),并可通过 Google 的 Gemini API、Google AI Studio 和 Vertex AI 获取。该模型内置用于溯源的不可见 SynthID 水印。

为何这对开发者重要:Nano Banana 提供了一个高质量的多模态模型,可处理:

  • 文本 → 图像(根据文本提示创建新图像)
  • 图像 → 图像(编辑/变换提供的照片)
  • 多图融合(将多张图片合成为一张复合图)
    所有这些都可以通过 Google 官方的 generateContent 端点(Vertex AI / Gemini API)或经由第三方 API 网关(如 CometAPI、OpenRouter)提供的 OpenAI 兼容端点访问。这意味着你既可以将 Gemini 2.5 Flash Image 集成到现有的 OpenAI 兼容代码库,也可以直接调用 Google 的官方 SDK。

擅长什么

  • 目标明确的局部编辑(更改衬衫颜色、移除物体、微调姿势)。
  • 在多次重编辑中保持主体/角色的一致性。
  • 将多张图像融合为一致的合成图。
  • 相比更重的研究型模型,具备更低的时延与更高的性价比(Google 将“Flash”定位为高吞吐选项)。

我应如何设置开发环境以通过 API 调用 Nano Banana?

下面是一份可作为后文三种调用方式通用基线的逐步清单。

先决条件(账户、密钥、配额)

  1. Google 账户 + Cloud 项目——若计划通过 Google(Gemini API / Vertex AI)直接调用 Gemini,请创建 Google Cloud 项目并启用 Vertex AI / Gemini API。你需要配置结算与适当的角色(例如 Vertex AI Admin 或具备推理权限的 Service Account)。
  2. Gemini API 访问——部分 Gemini 图像模型处于预览/限量可用状态;你可能需要申请访问,或依据账户情况通过 Google AI Studio 或 Vertex AI 使用模型。
  3. CometAPI(可选网关)——如果你希望使用一个可代理多种模型(包括 Gemini)的厂商无关 API,请在 CometAPI 注册获取 API Key 并查看其模型列表(提供 Gemini 2.5 Flash 变体与 OpenAI 兼容端点)。CometAPI 可简化开发,让你在不改动应用代码的情况下切换提供商。

本地工具链

  • 语言运行时:建议 Node.js 18+、Python 3.10+。
  • HTTP 客户端:JS 侧 fetch/axios;Python 侧 requests/httpx(或官方 SDK)。
  • 图像辅助:Python 用 Pillow,Node 用 sharp,用于调整尺寸、格式转换与 Base64 编解码。
  • 安全:将密钥存储在环境变量或机密保管库(HashiCorp Vault、AWS Secrets Manager、Google Secret Manager),切勿提交 API Key。

安装 Google/兼容 SDK(可选)

Google 提供 SDK 与 openai 库的兼容垫片——你可以通过修改少量配置(base URL + API Key),用 OpenAI 客户端库调用 Gemini,但若要获得完整的多模态特性,建议使用原生的 Gemini/Google 客户端。若使用 CometAPI 或 OpenAI 兼容网关,使用 OpenAI 客户端可加速开发,示例:

Official Google route (Python):

python -m venv venv && source venv/bin/activate
pip install --upgrade pip
pip install google-genai           # official Google GenAI SDK

pip install Pillow requests jq     # for local image handling in examples

CometAPI / OpenAI-compatible client (Python):

pip install openai requests

我该如何在三种 Nano Banana 调用方式之间做选择?

选择调用方式取决于你的架构、时延/成本要求,以及你是否希望依赖 Google 官方端点或第三方 OpenAI 兼容网关。三种常见模式如下:

1) OpenAI 兼容的 Chat 接口(文本→图像)

当你已有 OpenAI 风格的代码或 SDK,且希望以最少改动切换模型时使用此方式。许多网关(CometAPI、OpenRouter)在 OpenAI 兼容的 REST 表面之下暴露 Gemini 模型,因此你现有的 chatcompletions 调用只需更换 base_url 与模型名即可。这通常是你不希望管理 Google Cloud 鉴权时最快的生产化路径。

2) Gemini 官方 generateContent —— 文本→图像

如果你需要官方、完全受支持的 SDK,以及访问最新特性(更细粒度的生成参数、流式传输、大型资产的 File API),并且希望使用 Google Cloud 的计费/监控,请使用 Google 的 generateContent(通过 genai 客户端或 Vertex AI)。当你需要生产支持与企业级控制时推荐此方式。

3) Gemini 官方 generateContent —— 图像→图像(Base64 输入/输出)

当你需要以内联(Base64)形式提交二进制图像,或希望实现图像编辑/图像到图像的流水线时使用此方式。Google 的 generateContent 支持内联(base64)图像,以及用于更大或可复用资产的 File API。生成/编辑的图像通常以 Base64 字符串返回,需在客户端解码并保存。该方式可提供最细致的多模态控制。

如何通过 OpenAI 兼容的 Chat 接口(文本→图像)调用 Nano Banana?

OpenAI 兼容的 chat 端点接受一系列 {role, content} 消息;你在 user 消息中描述想要的图像,网关(CometAPI 或 OpenAI 兼容垫片)会将其转换为对底层 Gemini 模型的调用。如果你的应用已经使用聊天流程,或希望在一次交互中组合文本生成与图像生成,这将非常方便。

步骤

1.在 CometAPI 注册并获取 API Key:在 CometAPI 注册、创建项目并复制你的 API Key。CometAPI 在统一的 base_url 背后暴露多个模型。()

  1. 安装 OpenAI 兼容客户端:Python:pip install openai,或使用许多网关采用的新式 openai/OpenAI SDK 封装。

  2. 将 SDK 指向 CometAPI 并调用 chat completions 端点

curl https://api.cometapi.com/v1/chat/completions \
  -H "Authorization: Bearer $COMET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-2-5-flash-image-preview",
     "stream": true,   
     "messages": [{"role": "user", 
                   "content": "Generate a cute kitten sitting on a cloud, in a                cartoon style"}]
      }'

注意:

  1. 必须将 stream 设为 true;响应会以流式返回。

  2. 响应结构由 CometAPI 做了 OpenAI 兼容封装。

  3. 响应包含 Base64 图像;根据需要在客户端解码并保存:

如何使用 Gemini 官方的 generateContent 文本→图像接口调用 Nano Banana?

Google 提供了 Gemini Developer API(Gemini API),并通过 Vertex AI 暴露 Gemini 模型。要以受支持的方式以编程化访问 Gemini 2.5 Flash Image(Nano Banana),官方的 generateContent 方法是用于纯文本或多模态生成的规范入口。请使用 Google 的 GenAI SDK(Python:google-genai)或直接调用 REST 端点。此方式可直接访问模型参数与模态,是调用 Google 端点进行高级功能(精确编辑、多图融合)时的推荐方案。

1.Use Google’s GenAI SDK (Python: google-genai)

发布/调用步骤(概览):

  1. 从 Google AI Studio 获取 API Key,或设置 Vertex AI 的服务账户(取决于平台)。
  2. 安装 SDK(pip install --upgrade google-genai)并进行鉴权(API Key 或 Google Application Default Credentials)。
  3. 选择模型:gemini-2.5-flash-image 或文档中显示的预览标识(具体标识取决于 GA/预览状态)。
  4. 调用 client.models.generate_content(...),使用纯文本提示(文本→图像)。
  5. 解码返回图像(如以 Base64 返回)并保存/存储。

Python(官方客户端)示例——文本→图像:

from google import genai
from base64 import b64decode, b64encode

client = genai.Client(api_key="YOUR_GEMINI_KEY")
prompt = {
  "content": "A hyperrealistic photo of a vintage motorcycle parked under neon lights at midnight",
  "mime_type": "text/plain"
}
# request generateContent for image output

result = client.generate_content(
  model="gemini-2-5-flash-image-preview",
  prompt=prompt,
  response_modalities=,
  image_format="PNG",
)
# handle binary or base64 in response (depends on API mode)

(注意:请查看官方客户端 API 以确认确切参数名称——以上示例遵循 Google 文档中的模式。)

2. 通过 REST 端点调用 Nano Banan

EST endpoint(文本→图像示例):https://api.CometAPI.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent

鉴权选项:在请求头中提供 x-goog-api-key: $CometAPI_API_KEY。(在 CometAPI 创建密钥。)

以下示例提交文本提示并保存返回的 base64 图像:

curl -s -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [
        { "text": "A photorealistic nano banana dish plated in a stylish restaurant, cinematic lighting, 3:2 aspect ratio" }
      ]
    }]
  }' \
| jq -r '.candidates.content.parts[] | select(.inline_data) | .inline_data.data' \
| base64 --decode > gemini-image.png

说明:图像二进制会以 base64 形式返回在 candidates.content.parts.inline_data.data 中。上面的示例使用 jq 提取内联数据并进行解码。官方文档也展示了同样的流程。

如何使用 Gemini 官方的 generateContent 图像→图像接口(Base64 输入/输出)调用 Nano Banana?

何时应使用图像→图像(base64 输入/输出)?

当你需要:

  • 编辑现有照片(修补、风格迁移、对象替换)。
  • 将多张源图合成为一张作品。
  • 在多次编辑中保留主体身份(这是 Nano Banana 的强项)。

Gemini 的 generateContent 支持通过 Base64 的内联图像数据(或文件 URI)输入,并以 Base64 字符串返回生成/编辑结果。文档对如何提供带有 mime_typedatainline_data 有明确示例。

发布/调用步骤(图像→图像)

  1. 准备输入图像:读取文件字节并进行 Base64 编码,或通过 SDK 帮助方法传递原始字节。
  2. 构造 contents 数组,其中一项为内联图像(包含 mimeTypedata),随后部分为文本编辑指令。
  3. 使用官方 SDK 或 REST 调用 generateContent
  4. 接收响应:API 会以 Base64 字符串返回生成/编辑后的图像。解码并本地保存。

示例——Python(使用 GenAI SDK 的内联字节进行图像→图像)

# pip install google-genai

from google import genai
from google.genai import types
import base64

client = genai.Client(api_key="YOUR_GOOGLE_API_KEY")

# Read local image

with open("input_photo.jpg", "rb") as f:
    img_bytes = f.read()

# Using SDK helper to attach bytes as a part

response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[
        types.Part.from_bytes(
            data=img_bytes,
            mime_type="image/jpeg"
        ),
        "Make a high-quality edit: change the subject's jacket color to teal, keep natural lighting and preserve the person's facial features."
    ],
)

# The returned image will typically be in response.candidates[].content.parts with base64-encoded data

# Decode and save (pseudo-access shown; check SDK response structure)
b64_out = response.candidates.content.parts.data  # example path

with open("edited.jpg","wb") as out:
    out.write(base64.b64decode(b64_out))

Python 示例:通过 rest point 使用 Base64 的图像→图像

import base64, json, requests

API_URL = "https://api.gemini.googleapis.com/v1/generateContent"
API_KEY = "YOUR_GEMINI_KEY"

# read and base64-encode image

with open("input.jpg","rb") as f:
    b64 = base64.b64encode(f.read()).decode("utf-8")

payload = {
  "model": "gemini-2-5-flash-image-preview",
  "input": [
    {"mime_type": "image/jpeg", "bytes_base64": b64},
    {"mime_type": "text/plain", "text": "Remove the lamppost and make the sky golden at sunset."}
  ],
  "response_modalities": 
}

resp = requests.post(API_URL, headers={"Authorization":f"Bearer {API_KEY}", "Content-Type":"application/json"}, json=payload)
resp.raise_for_status()
data = resp.json()
# data.candidates... may contain image base64 — decode and save

out_b64 = data
with open("edited.png","wb") as out:
    out.write(base64.b64decode(out_b64))

如果你希望通过 CometAPI 的 rest port 访问:

curl 
--location 
--request POST "https://api.CometAPI.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent" ^ 
--header "Authorization: sk-" ^ 
--header "User-Agent: Apifox/1.0.0 (https://apifox.com)" ^ 
--header "Content-Type: application/json" ^ 
--header "Accept: */*" ^ 
--header "Host: api.CometAPI.com" ^ 
--header "Connection: keep-alive" ^ 
--data-raw "{ \"contents\":  } ], \"generationConfig\": { \"responseModalities\":  }}"

对于内联:读取图像并进行 base64 编码。若需重复使用或文件大于 20MB,请通过 File API 上传,并在 generateContent 中引用文件句柄。适合需要输入图像与文本编辑指令、追求精确编辑的工作流。

使用 Nano Banana 的最佳技巧

提示工程与控制

  1. 明确具体:包含所需的纵横比、风格参考(如允许,使用艺术家名)、镜头、光照与构图。例如:“Photorealistic, 3:2, shallow depth-of-field, golden hour, Nikon 50mm lens.”
  2. 迭代式编辑:相较一次性的大范围修改,更偏向于以多次的小范围局部编辑——这有助于保留主体一致性。Nano Banana 的强项在于迭代编辑。

图像处理规范

  • 预处理输入:规范化色彩空间,如需隐私可移除嵌入的 EXIF,根据需要将分辨率控制在合理范围以节省开销。
  • 后处理输出:在人脸检测后,用轻量滤镜(Pillow / sharp)清理小瑕疵再返回用户。

安全、合规与内容政策

  • 实施自动化内容安全检查(视觉审核模型或黑名单检查),在存储/提供图像前先行过滤。
  • 若上传包含人物的图像,遵守适用的隐私法律(GDPR/CCPA),并获得必要授权。
  • 遵守模型使用政策与版权规则,涉及受版权保护的角色或现有作品时要特别注意。

结语

Nano Banana(Gemini 2.5 Flash Image)代表了实用、高保真度的多模态图像生成与编辑进展:它为多步编辑提供一致性,并具备更丰富的多模态推理能力。Nano Banana(Gemini 2.5 Flash Image)在图像生成/编辑方面意义重大——兼具高一致性与多种集成方式(如 CometAPI 等 OpenAI 兼容网关以及 Google 的 generateContent API)。为加速落地,像 CometAPI 这样的网关可让你复用 OpenAI 风格的代码。请始终对响应进行合理性检查,遵守内容政策与溯源特性(SynthID),并在迭代过程中监控成本。

快速开始

CometAPI 是一个统一的 API 平台,将来自头部提供商的 500 多个 AI 模型(如 OpenAI 的 GPT 系列、Google 的 Gemini、Anthropic 的 Claude、Midjourney、Suno 等)聚合到一个对开发者友好的接口之下。通过提供一致的鉴权、请求格式与响应处理,CometAPI 大幅简化了将 AI 能力集成到你的应用中的过程。无论你在构建聊天机器人、图像生成器、音乐创作工具,还是数据驱动的分析管道,CometAPI 都能帮助你更快迭代、控制成本并保持供应商无关性,同时紧跟 AI 生态的最新突破。

开发者可通过 CometAPI 访问 Gemini 2.5 Flash Image(Nano Banana 在 CometAPI 列表中的 gemini-2.5-flash-image-preview/gemini-2.5-flash-image 风格条目)。最新模型版本以文章发布时的目录为准。开始之前,请先在 Playground 中探索模型能力,并查阅 API guide 获取详细说明。访问前,请确保已登录 CometAPI 并获得 API Key。CometAPI 提供远低于官方价格的方案,便于你集成使用。

阅读更多

一个 API 中超 500 个模型

最高 20% 折扣