Nano Banana 2.1 工作流程
透過 Google Cloud 圖像 API 運行 Nano Banana 2.1
本地腳本可以直接向 Google Cloud 發出請求。請明確處理驗證、模型選擇、圖像設定同結果處理,避免失敗的圖片回應被悄悄當成成功匯出。
你會製作甚麼
一個你自行控制的 Google Cloud 專案的直接 SDK 請求同審核清單。這唔係公開的 LlamaGen API 存取。
Nano Banana 2.1 需要付費 LlamaGen 計劃。生成前請先查看目前積分消耗同匯出選項。直接使用 Google Cloud API 會另行計費。 計劃與積分

主視覺係 AI 生成的展示概念圖,呈現成品喺情境中的樣子。它唔係客戶相片、應用程式截圖,亦唔係另一個獨立的模型表現測試。
內容已審閱:
檢視生成示例
以下示例係我哋記錄工作流程下直接產生嘅模型輸出。請檢視實際圖片,唔好假設模型已完全跟足每項指令。

準備你自己的 Google Cloud 存取
Google 最新文件將此平台稱為 Gemini Enterprise Agent Platform;不過好多開發者仍然用舊名 Vertex AI 去搜尋。此處示例跟隨 @google/genai 1.45.0,即我哋本地生成工作流程安裝的版本,並使用 vertexai: true。較新的 SDK 版本可能會重命名選項;請以你已安裝版本的文件為準。
請使用已開啟收費、已啟用所需服務,並且憑證已授權該請求的專案。請將 service-account 檔案同存取權杖放喺源碼、頁面內容同圖片提示詞以外。Cloud API 收費同任何 LlamaGen 計劃都係分開的。
- 請使用準確的模型 ID gemini-nano-banana-2.1。
- 請使用此模型文件所列的 global 位置。
- 請根據你嘅環境,跟隨 Google 的驗證同專案設定指引。
只傳送此端點支援的設定
就此 Cloud 模型而言,文件列明的輸出尺寸為 1K、2K 同 4K。目前的 Cloud 模型頁面列出每個提示詞最多 14 張輸入圖片,而內嵌圖片資料每個檔案上限為 7 MB;Cloud Storage 輸入則有不同限制。呢啲都係端點特定限制,唔代表每種組合都一定係好嘅創作簡報。
Cloud 文件明確指出,seed、temperature、topP、topK 同 logprobs 都唔支援 Nano Banana 2.1。唔好由文字生成示例直接複製呢啲設定,亦唔好將 seed 描述為此模型的可重現性控制。
- 保持提示詞同一組細少而相關的參考資料,方便檢查。
- 請使用與實際輸入位元組相符的 MIME 類型。
- 將模型、輸出設定同參考雜湊值一併記錄喺你自己結果之中。
檢查是否真的有返回圖片
在寫出輸出檔案前,請先檢查回應部分有冇內嵌圖片資料。文字回應、被過濾結果,或者沒有圖片的回應,都應該視為要檢查的結果,而唔係已完成生成。
唔好盲目重試。請保存非敏感請求中繼資料同回應狀態,查看已記錄限制,並調查返回原因。如果你要重試一個不明確的失敗,請先了解供應商目前的計費方式。
- 唔好記錄憑證或完整的私有輸入圖片。
- 揀檔案副檔名時,請保留返回圖片的 MIME 類型。
- 將返回圖片視為仍需視覺審查的候選結果。
將各個環節分開
呢啲檢查說明直接 Google Cloud 路線,唔會授予 API 存取權,亦唔會取代 Google 最新設定文件。
| 請求的一部分 | 使用或檢查 | 避免假設 |
|---|---|---|
| 驗證 | 你自己已授權的 Google Cloud 專案同憑證 | 以為 LlamaGen 訂閱就可驗證 Cloud API 請求 |
| 模型及位置 | global 中的 gemini-nano-banana-2.1 | 以為相似的模型別名會揀到同一個模型 |
| 圖像設定 | 支援的長寬比、輸出尺寸同參考格式 | 以為 seed 或文字模型抽樣參數都支援 |
| 回應 | 實際圖片位元組、MIME 類型同可供審查的結果 | 以為每個成功的 HTTP 回應都一定有可發佈圖片 |
實用工作流程
由一個小請求到一個可審查檔案
先由一個簡單的原創圖片請求開始。下方示例沿用我哋本地生成工作流程使用的直接 SDK 格式;請自行更換專案環境,並透過你獲批准的設定完成驗證。
可調整的起始提示詞
創作一個原創插畫信差,手持燈籠,行喺雨街。輪廓要清晰,場景要易讀。唔好加文字或標誌。
這份簡報是一個可調整的配方,唔係圖中成品嘅逐字請求記錄。它不保證會有完全相同的結果,亦不保證第一次生成就成功。生成記錄會保留原始請求。
試用工作流程
- 喺源文件以外準備憑證同專案。
- 以支援的圖像設定執行一個小型請求。
- 檢查返回的圖片部分,以正確 MIME 類型儲存,並審視實際檔案。
要檢查甚麼
- 實際有圖片部分返回嗎?
- 已儲存的檔案可以正常開啟嗎?
- 視覺效果同簡報是否足夠匹配,可以保留?
直接 Google Cloud SDK 示例
這是一個使用你自己專案同憑證的直接 Google Cloud 請求,唔係公開的 LlamaGen API 端點。請唔好將私鑰貼入提示詞或公開頁面。
import { GoogleGenAI } from "@google/genai";
import { writeFile } from "node:fs/promises";
// @google/genai 1.45.0, matching the documented local workflow.
// Authenticate outside this file using Google Cloud credentials.
const ai = new GoogleGenAI({
vertexai: true,
project: process.env.GOOGLE_CLOUD_PROJECT,
location: "global",
httpOptions: { apiVersion: "v1" },
});
const response = await ai.models.generateContent({
model: "gemini-nano-banana-2.1",
contents: [{ role: "user", parts: [{
text: "Create an original illustrated courier carrying a lantern in a rainy street. No text or logos.",
}] }],
config: {
responseModalities: ["IMAGE"],
candidateCount: 1,
imageConfig: { aspectRatio: "3:2", imageSize: "2K" },
thinkingConfig: { thinkingLevel: "HIGH" },
},
});
const image = response.candidates?.[0]?.content?.parts?.find(
(part) => part.inlineData?.data,
)?.inlineData;
if (!image?.data) throw new Error("No image returned; inspect the response before retrying.");
const extensions = { "image/png": "png", "image/jpeg": "jpg", "image/webp": "webp" };
const extension = extensions[image.mimeType];
if (!extension) throw new Error("Inspect the returned MIME type before saving.");
await writeFile(`nano-banana-2-1.${extension}`, Buffer.from(image.data, "base64"));開始前問題
呢個係公開的 LlamaGen API 嗎?
唔係。呢段程式會用 Google 的 SDK,以你自己嘅專案同憑證直接呼叫 Google Cloud。LlamaGen 的模型頁面係獨立嘅產品項目。
我可以設定 seed 或 temperature 嗎?
目前 Cloud 模型文件寫明 Nano Banana 2.1 唔支援 seed、temperature、topP、topK 同 logprobs。加請求參數前,請先睇返相關 endpoint 文件。
回應冇圖片,係咪代表我要即刻重試?
請先檢查回應同目前供應商指引。過濾、限制同暫時性失敗都可能令結果唔同。呢份指南唔保證重試一定成功,亦唔保證免費。
