來自 @patloeber: Google 最近發布了 Gemini 2.5 Flash Image,這是一個強大的新型圖像生成與編輯模型,也以其代號 Nano Banana 聞名。此模型引入了最先進的圖像創作與操作能力,開啟了各式各樣的全新應用。
本指南為開發者提供完整的逐步教學,說明如何透過 Gemini Developer API 將 Gemini 2.5 Flash Image(即 Nano Banana)整合到應用程式中。
本指南將涵蓋:
- 在 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 code 方式打造 Nano Banana 網頁應用程式,網址為
ai.studio/apps ,或探索程式碼並重新混搭一個
現有應用程式 。
2. 專案設定
若要遵循本指南,你將需要以下項目:
- 來自 Google AI Studio 的 API 金鑰。
- 為你的專案設定好帳單。
- 適用於 Python 或 JavaScript/TypeScript 的 Google Gen AI SDK。
步驟 A:產生 API 金鑰
請遵循以下步驟:
- 在 Google AI Studio 中,點擊左側導覽面板中的 獲取 API 金鑰。
- 在下一頁,點擊 建立 API 金鑰。
- 選擇一個現有的 Google Cloud 專案,或建立一個新的專案。此專案用於管理 API 使用量的帳單。
流程完成後,你的 API 金鑰將會顯示出來。請複製並安全儲存。
步驟 B:啟用帳單
雖然在 AI Studio 中進行原型設計是免費的,但透過 API 使用模型則是一項付費服務。你必須在 Google Cloud 專案上啟用帳單功能。
在 API 金鑰管理畫面中,點擊專案旁邊的 設定帳單,然後依照螢幕上的指示操作。

Nano Banana 的費用是多少?
使用 Nano Banana 生成圖像的費用為 每張圖像 $0.039 美元 *。花費 $1 美元,大約可以生成 25 張圖像。
* 官方定價為每百萬個輸入 Token $0.30 美元,每百萬個輸出 Token $30 美元。一張標準的 1024x1024px 輸出圖像會消耗 1290 個 Token,相當於每張圖像 $0.039 美元。詳情請參閱
步驟 C:安裝 SDK
選擇你偏好的語言的 SDK。
1pip install -U google-genai2# 安裝 Pillow 函式庫以進行圖像操作3pip install Pillow
1npm install @google/genai
以下範例使用 Python SDK 進行示範。至於
在 JavaScript 中使用 Nano Banana
的等效程式碼片段,則提供於此
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人行道行走,背景有模糊的行人腿部10和黃色的計程車駛過。"""1112image = Image.open("cat.png")1314# 將文字提示和圖像都傳遞到 'contents' 列表中15response = client.models.generate_content(16 model="gemini-2.5-flash-image-preview",17 contents=[prompt, image],18)1920for 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")

輸入與輸出
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 打造什麼:
- 切換相機視角,作者 @henrydaubrez:X 貼文
- 使用少量樣本學習進行一致角色設計,作者 @multimodalart:X 貼文
- 「紅色箭頭看到了什麼?」Google Maps 轉換,作者 @tokumin:X 貼文
- 從火柴人註解生成圖像,作者 @yachimat_manga:X 貼文
- 從靜態圖像創建 3D 模型,作者 @deedydas:X 貼文
- 生成基於位置的 AR 體驗,作者 @bilawalsidhu:X 貼文
- 將 2D 地圖轉換為 3D 圖形,作者 @demishassabis:X 貼文
10. 資源與後續步驟
本指南涵蓋了使用 Nano Banana(即 Gemini 2.5 Flash Image)進行開發的基礎知識。你已經學會如何設定環境、生成與編輯圖像,以及應用進階技巧。現在,你已經準備好將這些強大的功能整合到你自己的專案中了。
欲進一步閱讀,請查看官方資源:
- Google AI Studio
- Gemini API 文件
- Nano Banana Gemini API 文件
- 如何為 Gemini 2.5 Flash Image Generation 設定提示以獲得最佳結果
- Nano Banana 文件提示指南
- AI Studio 中的 Pixshop 應用程式
如果你正在用這個工具打造什麼酷東西,我很想看看!歡迎透過 X 私訊或標記我:@patloeber。

![因無知損失 600 萬:房地產界區分「肥羊」與「受尊重客戶」的關鍵一問 [附真實案例]](/cdn-cgi/image/width=1920,quality=90,format=auto,metadata=none/https%3A%2F%2Fcms-assets.youmind.com%2Fmedia%2F1783878130911_13t77j_HM6aCr4b0AAhope.jpg)



