来自 @patloeber: Google 最近发布了 Gemini 2.5 Flash Image,这是一个强大的新型图像生成和编辑模型,其代号为 Nano Banana。该模型引入了最先进的图像创建和操作能力,开启了广泛的新应用。
本指南为希望将 Gemini 2.5 Flash Image(即 Nano Banana)集成到其应用程序中的开发者提供了全面的教程,使用 Gemini Developer API。
本指南将涵盖:
- 在 AI Studio 中使用 Nano Banana
- 项目设置
- 图像创建
- 图像编辑
- 照片修复
- 多张输入图像
- 对话式图像编辑
- 最佳实践与有效提示
- 社区示例与灵感
- 资源
以下是本教程中你将构建的示例:
1prompt = "修复并给这张 1932 年的照片上色"23response = client.models.generate_content(4 model="gemini-2.5-flash-image-preview",5 contents=[prompt, image],6)

让我们开始吧!
1. 在 Google AI Studio 中使用 Nano Banana
虽然最终用户可以在 Gemini 应用 中使用 Nano Banana,但对于开发者而言,原型设计和测试提示的最佳环境是 Google AI Studio。AI Studio 是一个实验平台,在编写任何代码之前可以试用所有可用的 AI 模型,同时也是使用 Gemini API 进行构建的入口点。
你可以在 AI Studio 中免费使用 Nano Banana。要开始使用,请访问 aistudio.google.com,使用你的 Google 账号登录,然后从模型选择器中选择 Nano Banana。
如需直接访问,请使用此链接启动与该模型的新会话:ai.studio/banana

提示
:你还可以直接在 AI Studio 中通过 vibe coding 方式构建 Nano Banana 网页应用,访问
ai.studio/apps ,或者探索代码并重新混合一个
现有应用 。
2. 项目设置
要遵循本指南,你需要准备以下内容:
- 来自 Google AI Studio 的 API 密钥。
- 为你的项目启用结算。
- 适用于 Python 或 JavaScript/TypeScript 的 Google Gen AI SDK。
步骤 A:生成 API 密钥
请按照以下步骤操作:
- 在 Google AI Studio 中,点击左侧导航面板中的 Get API key。
- 在下一页,点击 Create API key。
- 选择一个现有的 Google Cloud 项目或创建一个新的项目。该项目用于管理 API 使用的结算。
流程完成后,将显示你的 API 密钥。请复制并安全存储。
步骤 B:启用结算
虽然在 AI Studio 中进行原型设计是免费的,但通过 API 使用模型是付费服务。你必须在你的 Google Cloud 项目上启用结算。
在 API 密钥管理界面,点击项目旁边的 Set up billing,然后按照屏幕上的说明操作。

Nano Banana 的费用是多少?
使用 Nano Banana 生成图像的费用为 每张图像 $0.039 *。花费 $1 可以生成大约 25 张图像。
* 官方定价为 $0.30/100 万输入 tokens 和 $30/100 万输出 tokens。一张标准的 1024x1024px 输出图像消耗 1290 个 tokens,相当于 $0.039 每张图像。详情请参阅
步骤 C:安装 SDK
选择你偏好的语言对应的 SDK。
1pip install -U google-genai2# 安装 Pillow 库用于图像处理3pip install Pillow
1npm install @google/genai
以下示例使用 Python SDK 进行演示。在 JavaScript 中使用 Nano Banana 的等效代码片段可以在这个
GitHub Gist 中找到。
3. 从文本生成图像
使用 Nano Banana 根据描述性文本提示生成一张或多张图像。所有 API 请求都使用模型 ID gemini-2.5-flash-image-preview。
1from google import genai2from PIL import Image3from io import BytesIO45# 使用你的 API 密钥配置客户端6client = genai.Client(api_key="YOUR_API_KEY")78prompt = """创建一张逼真的图像,内容是一只绿眼睛的橘猫9坐在沙发上。"""1011# 调用 API 生成内容12response = client.models.generate_content(13 model="gemini-2.5-flash-image-preview",14 contents=prompt,15)1617# 响应可以同时包含文本和图像数据。18# 遍历各部分以找到并保存图像。19for part in response.candidates[0].content.parts:20 if part.text is not None:21 print(part.text)22 elif part.inline_data is not None:23 image = Image.open(BytesIO(part.inline_data.data))24 image.save("cat.png")

输出
该模型是多模态的,因此响应的结构是一个包含交替文本和图像数据(inline_data)的部分列表。上述代码遍历这些部分以提取并保存生成的图像。
4. 使用文本和图像输入进行图像编辑
提供一张现有图像以及一个文本提示来执行编辑。该模型擅长保持输入图像中的角色和内容一致性。
1from google import genai2from PIL import Image3from io import BytesIO45client = genai.Client(api_key="YOUR_API_KEY")67prompt = """使用这张猫的图像,创建一张逼真的、8街景视角图像,内容是一只猫在纽约市社区的人行道上行走,9背景中还有模糊的行人腿部以及经过的黄色出租车。"""1011image = Image.open("cat.png")1213# 同时传递文本提示和图像到 'contents' 列表中14response = client.models.generate_content(15 model="gemini-2.5-flash-image-preview",16 contents=[prompt, image],17)1819for part in response.candidates[0].content.parts:20 if part.text is not None:21 print(part.text)22 elif part.inline_data is not None:23 image = Image.open(BytesIO(part.inline_data.data))24 image.save("cat2.png")

输入和输出
5. 使用 Nano Banana 进行照片修复
该模型的一个强大应用是照片修复。通过简单的提示,它可以修复老旧照片并为其上色,效果令人印象深刻。
1from google import genai2from PIL import Image3from io import BytesIO45client = genai.Client(api_key="YOUR_API_KEY")67prompt = "修复并给这张 1932 年的照片上色"89image = Image.open("lunch.jpg") # 《摩天楼顶上的午餐》,1932 年1011response = client.models.generate_content(12 model="gemini-2.5-flash-image-preview",13 contents=[prompt, image],14)1516for part in response.candidates[0].content.parts:17 if part.text is not None:18 print(part.text)19 elif part.inline_data is not None:20 image = Image.open(BytesIO(part.inline_data.data))21 image.save("lunch-restored.png")

原图和输出
6. 使用多张输入图像
你可以提供多张图像作为输入,用于更复杂的编辑任务。
1from google import genai2from PIL import Image3from io import BytesIO45client = genai.Client(api_key="YOUR_API_KEY")67prompt = "让女孩穿上这件 T 恤。背景保持不变。"89image1 = Image.open("girl.png")10image2 = Image.open("tshirt.png")1112response = client.models.generate_content(13 model="gemini-2.5-flash-image-preview",14 contents=[prompt, image1, image2],15)1617for part in response.candidates[0].content.parts:18 if part.text is not None:19 print(part.text)20 elif part.inline_data is not None:21 image = Image.open(BytesIO(part.inline_data.data))22 image.save("girl-with-tshirt.png")

输入 1 和 2 以及输出
7. 对话式图像编辑
为了进行迭代式优化,你可以使用聊天会话在多个请求之间保持上下文。这允许你以对话方式编辑图像。
1from google import genai2from PIL import Image3from io import BytesIO45client = genai.Client(api_key="YOUR_API_KEY")67# 创建一个聊天8chat = client.chats.create(9 model="gemini-2.5-flash-image-preview"10)1112# 进行第一次图像编辑13response1 = chat.send_message(14 [15 "将猫换成孟加拉猫,其他一切保持不变",16 Image.open("cat.png"),17 ]18)19# 显示/保存图像...2021# 继续聊天和编辑22response2 = chat.send_message("猫应该戴一顶搞笑的派对帽子")23# 显示/保存图像...

输入和输出 1 和 2
提示
:如果你发现在多次对话编辑后图像特征开始退化或“漂移”,最好使用最新的图像以及更详细、更整合的提示开始一个新的会话,以保持高保真度。
8. Nano Banana 的最佳实践与提示技巧
为了获得 Nano Banana 的最佳效果,请遵循以下提示指南:
- 极度具体: 你对主题、颜色、光照和构图提供的细节越多,你对输出的控制力就越强。
- 提供背景和意图: 解释图像的用途或期望的情绪。模型对上下文的理解将影响其创意选择。
- 迭代与优化: 不要期望第一次尝试就能完美。利用模型的对话能力进行增量更改并优化你的图像。
- 使用分步指令: 对于复杂的场景,将你的提示分解为一系列清晰、循序渐进的指令。
- 使用正面表述: 不要使用“没有汽车”这样的负面提示,而是正面描述你想要的场景:“一条没有交通迹象的空旷、荒凉的街道”。
- 控制相机视角: 使用摄影和电影术语来指导构图,例如“广角镜头”、“微距镜头”或“低角度视角”。
如需深入了解最佳实践,请参阅官方博客文章 提示词最佳实践 和文档中的 提示词指南。
9. 社区示例与灵感
探索社区正在用 Nano Banana 构建的内容:
- 改变相机视角 by @henrydaubrez:X 帖子
- 少样本学习用于一致的角色设计 by @multimodalart:X 帖子
- “红色箭头看到了什么” Google 地图转换 by @tokumin:X 帖子
- 从火柴人标注生成图像 by @yachimat_manga:X 帖子
- 从静态图像创建 3D 模型 by @deedydas:X 帖子
- 生成基于位置的 AR 体验 by @bilawalsidhu:X 帖子
- 将 2D 地图转换为 3D 图形 by @demishassabis:X 帖子
10. 资源与后续步骤
本指南涵盖了使用 Nano Banana(即 Gemini 2.5 Flash Image)进行构建的基础知识。你已经学会了如何设置环境、生成和编辑图像以及应用高级技术。现在,你可以开始将这些强大功能整合到自己的项目中。
如需进一步阅读,请查看官方资源:
- Google AI Studio
- Gemini API 文档
- Nano Banana Gemini API 文档
- 如何为 Gemini 2.5 Flash Image 生成编写最佳提示
- Nano Banana 文档提示词指南
- AI Studio 中的 Pixshop 应用
如果你正在用这个模型构建一些很酷的东西,我很想看看!欢迎在 X 上私信或 @ 我:@patloeber。

![[七夕赏] 最终预测](/cdn-cgi/image/width=1920,quality=90,format=auto,metadata=none/https%3A%2F%2Fcms-assets.youmind.com%2Fmedia%2F1783877092411_fg196t_HM8tQzHakAAbifc.jpg)



