如何使用 Nano Banana 進行開發:完整開發者教學

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

TL;DR

針對 Google Nano Banana 模型的完整開發者指南,涵蓋 API 設定、圖像生成、對話式編輯,以及使用 Python 和 JavaScript 進行照片修復的教學。

來自 @patloeber: Google 最近發布了 Gemini 2.5 Flash Image,這是一個強大的新型圖像生成與編輯模型,也以其代號 Nano Banana 聞名。此模型引入了最先進的圖像創作與操作能力,開啟了各式各樣的全新應用。

本指南為開發者提供完整的逐步教學,說明如何透過 Gemini Developer API 將 Gemini 2.5 Flash Image(即 Nano Banana)整合到應用程式中。

本指南將涵蓋:

  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 code 方式打造 Nano Banana 網頁應用程式,網址為

ai.studio/apps ,或探索程式碼並重新混搭一個

現有應用程式

2. 專案設定

若要遵循本指南,你將需要以下項目:

步驟 A:產生 API 金鑰

請遵循以下步驟:

  • 在 Google AI Studio 中,點擊左側導覽面板中的 獲取 API 金鑰
  • 在下一頁,點擊 建立 API 金鑰
  • 選擇一個現有的 Google Cloud 專案,或建立一個新的專案。此專案用於管理 API 使用量的帳單。

流程完成後,你的 API 金鑰將會顯示出來。請複製並安全儲存。

步驟 B:啟用帳單

雖然在 AI Studio 中進行原型設計是免費的,但透過 API 使用模型則是一項付費服務。你必須在 Google Cloud 專案上啟用帳單功能。

在 API 金鑰管理畫面中,點擊專案旁邊的 設定帳單,然後依照螢幕上的指示操作。

Google AI Studio - inline image

Nano Banana 的費用是多少?

使用 Nano Banana 生成圖像的費用為 每張圖像 $0.039 美元 *。花費 $1 美元,大約可以生成 25 張圖像。

* 官方定價為每百萬個輸入 Token $0.30 美元,每百萬個輸出 Token $30 美元。一張標準的 1024x1024px 輸出圖像會消耗 1290 個 Token,相當於每張圖像 $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和黃色的計程車駛過。"""
11
12image = Image.open("cat.png")
13
14# 將文字提示和圖像都傳遞到 'contents' 列表中
15response = client.models.generate_content(
16 model="gemini-2.5-flash-image-preview",
17 contents=[prompt, image],
18)
19
20for part in response.candidates[0].content.parts:
21 if part.text is not None:
22 print(part.text)
23 elif part.inline_data is not None:
24 image = Image.open(BytesIO(part.inline_data.data))
25 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 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章