如何使用 Nano Banana 进行开发:完整开发者教程

@GoogleAIStudio
英语10个月前 · 2025年9月05日
611K
4.8K
675
35
6.4K

TL;DR

一份针对 Google Nano Banana 模型的完整开发者指南,涵盖了使用 Python 和 JavaScript 进行 API 设置、图像生成、对话式编辑以及照片修复的内容。

来自 @patloeber: Google 最近发布了 Gemini 2.5 Flash Image,这是一个强大的新型图像生成和编辑模型,其代号为 Nano Banana。该模型引入了最先进的图像创建和操作能力,开启了广泛的新应用。

本指南为希望将 Gemini 2.5 Flash Image(即 Nano Banana)集成到其应用程序中的开发者提供了全面的教程,使用 Gemini Developer API

本指南将涵盖:

  1. 在 AI Studio 中使用 Nano Banana
  2. 项目设置
  3. 图像创建
  4. 图像编辑
  5. 照片修复
  6. 多张输入图像
  7. 对话式图像编辑
  8. 最佳实践与有效提示
  9. 社区示例与灵感
  10. 资源

以下是本教程中你将构建的示例:

python
1prompt = "修复并给这张 1932 年的照片上色"
2
3response = client.models.generate_content(
4 model="gemini-2.5-flash-image-preview",
5 contents=[prompt, image],
6)
Google AI Studio - inline image

让我们开始吧!

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

Google AI Studio - inline image

提示

:你还可以直接在 AI Studio 中通过 vibe coding 方式构建 Nano Banana 网页应用,访问

ai.studio/apps ,或者探索代码并重新混合一个

现有应用

2. 项目设置

要遵循本指南,你需要准备以下内容:

步骤 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,然后按照屏幕上的说明操作。

Google AI Studio - inline image

Nano Banana 的费用是多少?

使用 Nano Banana 生成图像的费用为 每张图像 $0.039 *。花费 $1 可以生成大约 25 张图像。

* 官方定价为 $0.30/100 万输入 tokens 和 $30/100 万输出 tokens。一张标准的 1024x1024px 输出图像消耗 1290 个 tokens,相当于 $0.039 每张图像。详情请参阅

Gemini 2.5 Flash Image 定价表

步骤 C:安装 SDK

选择你偏好的语言对应的 SDK。

python
1pip install -U google-genai
2# 安装 Pillow 库用于图像处理
3pip install Pillow
javascript
1npm install @google/genai

以下示例使用 Python SDK 进行演示。在 JavaScript 中使用 Nano Banana 的等效代码片段可以在这个

GitHub Gist 中找到。

3. 从文本生成图像

使用 Nano Banana 根据描述性文本提示生成一张或多张图像。所有 API 请求都使用模型 ID gemini-2.5-flash-image-preview。

python
1from google import genai
2from PIL import Image
3from io import BytesIO
4
5# 使用你的 API 密钥配置客户端
6client = genai.Client(api_key="YOUR_API_KEY")
7
8prompt = """创建一张逼真的图像,内容是一只绿眼睛的橘猫
9坐在沙发上。"""
10
11# 调用 API 生成内容
12response = client.models.generate_content(
13 model="gemini-2.5-flash-image-preview",
14 contents=prompt,
15)
16
17# 响应可以同时包含文本和图像数据。
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")
Google AI Studio - inline image

输出

该模型是多模态的,因此响应的结构是一个包含交替文本和图像数据(inline_data)的部分列表。上述代码遍历这些部分以提取并保存生成的图像。

4. 使用文本和图像输入进行图像编辑

提供一张现有图像以及一个文本提示来执行编辑。该模型擅长保持输入图像中的角色和内容一致性。

python
1from google import genai
2from PIL import Image
3from io import BytesIO
4
5client = genai.Client(api_key="YOUR_API_KEY")
6
7prompt = """使用这张猫的图像,创建一张逼真的、
8街景视角图像,内容是一只猫在纽约市社区的人行道上行走,
9背景中还有模糊的行人腿部以及经过的黄色出租车。"""
10
11image = Image.open("cat.png")
12
13# 同时传递文本提示和图像到 'contents' 列表中
14response = client.models.generate_content(
15 model="gemini-2.5-flash-image-preview",
16 contents=[prompt, image],
17)
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("cat2.png")
Google AI Studio - inline image

输入和输出

5. 使用 Nano Banana 进行照片修复

该模型的一个强大应用是照片修复。通过简单的提示,它可以修复老旧照片并为其上色,效果令人印象深刻。

python
1from google import genai
2from PIL import Image
3from io import BytesIO
4
5client = genai.Client(api_key="YOUR_API_KEY")
6
7prompt = "修复并给这张 1932 年的照片上色"
8
9image = Image.open("lunch.jpg") # 《摩天楼顶上的午餐》,1932 年
10
11response = client.models.generate_content(
12 model="gemini-2.5-flash-image-preview",
13 contents=[prompt, image],
14)
15
16for 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")
Google AI Studio - inline image

原图和输出

6. 使用多张输入图像

你可以提供多张图像作为输入,用于更复杂的编辑任务。

python
1from google import genai
2from PIL import Image
3from io import BytesIO
4
5client = genai.Client(api_key="YOUR_API_KEY")
6
7prompt = "让女孩穿上这件 T 恤。背景保持不变。"
8
9image1 = Image.open("girl.png")
10image2 = Image.open("tshirt.png")
11
12response = client.models.generate_content(
13 model="gemini-2.5-flash-image-preview",
14 contents=[prompt, image1, image2],
15)
16
17for 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")
Google AI Studio - inline image

输入 1 和 2 以及输出

7. 对话式图像编辑

为了进行迭代式优化,你可以使用聊天会话在多个请求之间保持上下文。这允许你以对话方式编辑图像。

python
1from google import genai
2from PIL import Image
3from io import BytesIO
4
5client = genai.Client(api_key="YOUR_API_KEY")
6
7# 创建一个聊天
8chat = client.chats.create(
9 model="gemini-2.5-flash-image-preview"
10)
11
12# 进行第一次图像编辑
13response1 = chat.send_message(
14 [
15 "将猫换成孟加拉猫,其他一切保持不变",
16 Image.open("cat.png"),
17 ]
18)
19# 显示/保存图像...
20
21# 继续聊天和编辑
22response2 = chat.send_message("猫应该戴一顶搞笑的派对帽子")
23# 显示/保存图像...
Google AI Studio - inline image

输入和输出 1 和 2

提示

:如果你发现在多次对话编辑后图像特征开始退化或“漂移”,最好使用最新的图像以及更详细、更整合的提示开始一个新的会话,以保持高保真度。

8. Nano Banana 的最佳实践与提示技巧

为了获得 Nano Banana 的最佳效果,请遵循以下提示指南:

  • 极度具体: 你对主题、颜色、光照和构图提供的细节越多,你对输出的控制力就越强。
  • 提供背景和意图: 解释图像的用途或期望的情绪。模型对上下文的理解将影响其创意选择。
  • 迭代与优化: 不要期望第一次尝试就能完美。利用模型的对话能力进行增量更改并优化你的图像。
  • 使用分步指令: 对于复杂的场景,将你的提示分解为一系列清晰、循序渐进的指令。
  • 使用正面表述: 不要使用“没有汽车”这样的负面提示,而是正面描述你想要的场景:“一条没有交通迹象的空旷、荒凉的街道”。
  • 控制相机视角: 使用摄影和电影术语来指导构图,例如“广角镜头”、“微距镜头”或“低角度视角”。

如需深入了解最佳实践,请参阅官方博客文章 提示词最佳实践 和文档中的 提示词指南

9. 社区示例与灵感

探索社区正在用 Nano Banana 构建的内容:

10. 资源与后续步骤

本指南涵盖了使用 Nano Banana(即 Gemini 2.5 Flash Image)进行构建的基础知识。你已经学会了如何设置环境、生成和编辑图像以及应用高级技术。现在,你可以开始将这些强大功能整合到自己的项目中。

如需进一步阅读,请查看官方资源:

如果你正在用这个模型构建一些很酷的东西,我很想看看!欢迎在 X 上私信或 @ 我:@patloeber

\原文发布于 [Dev.to

二次创作

使用 YouMind 创作爆款文章

收集素材、拆解爆点、生成视觉资产、撰写内容,并在一个 AI 工作空间里完成分发。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章