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 ではオプション名が変更される場合があるため、インストール済みバージョンのドキュメントに従ってください。
課金設定が有効で、必要なサービスが有効化され、リクエスト用の認証情報が承認済みのプロジェクトを使用してください。サービスアカウントファイルとアクセストークンは、ソースコード、ページ本文、画像プロンプトの外で管理してください。Cloud API の料金は、LlamaGen のどのプランとも別です。
- 正確なモデル ID gemini-nano-banana-2.1 を使用してください。
- このモデルのドキュメントに記載された global ロケーションを使用してください。
- ご利用環境に合わせて、Google の認証とプロジェクト設定手順に従ってください。
このエンドポイントが対応する設定を送る
この Cloud モデルで文書化されている出力サイズは 1K、2K、4K です。現在の Cloud モデルページでは、プロンプトあたりの入力画像は最大 14 枚、インライン画像データは 1 ファイル 7 MB までと案内されています。Cloud Storage 入力には別の制限があります。これらはエンドポイント固有の制限であり、すべての組み合わせが良い制作ブリーフになるという意味ではありません。
Cloud のドキュメントでは、Nano Banana 2.1 では seed、temperature、topP、topK、logprobs は対応していないと明記されています。テキスト生成の例からこれらの設定を流用したり、seed をこのモデルの再現性制御として説明したりしないでください。
- プロンプトと、関連性の高い少数の参照素材は、すぐ確認できるようにしておきます。
- 実際の入力バイトに一致する MIME タイプを使用してください。
- モデル、出力設定、参照ハッシュを、結果とあわせて記録してください。
実際に画像が返っているか確認する
出力ファイルを書き込む前に、レスポンス内のパーツにインライン画像データがあるか確認してください。テキスト応答、フィルタ済み結果、画像なしの応答は、完了した生成ではなく、確認すべき結果として扱います。
むやみに再試行しないでください。機微情報を含まないリクエストのメタデータとレスポンス状態を保存し、公開されている制限を確認し、返却理由を調べてください。曖昧な失敗を再試行する場合は、まず提供元の現在の課金仕様を理解してください。
- 認証情報や、非公開の入力画像全体はログに残さないでください。
- 拡張子を選ぶ際は、返却された画像の MIME タイプを保持してください。
- 返却された画像は、まだ目視確認が必要な候補として扱ってください。
変わる要素を分けて考える
これらの確認項目は、Google Cloud への直接ルートを説明するものです。API アクセスを付与するものではなく、Google の最新セットアップ文書の代わりにもなりません。
| リクエストの一部 | 使用する/確認する | 想定しない |
|---|---|---|
| 認証 | 承認済みのご自身の Google Cloud プロジェクトと認証情報 | LlamaGen のサブスクリプションで Cloud API リクエストが認証されること |
| モデルとロケーション | global の gemini-nano-banana-2.1 | 似たモデル名の別名でも同じモデルが選ばれること |
| 画像設定 | 対応アスペクト比、出力サイズ、参照形式 | seed やテキストモデルのサンプリングパラメータが対応していること |
| レスポンス | 実際の画像バイト列、MIME タイプ、確認可能な結果 | 成功した HTTP 応答のすべてに公開可能な画像が含まれること |
実践的なワークフロー
小さなリクエストから確認可能なファイルへ
まずは、シンプルなオリジナル画像リクエスト 1 件から始めます。下の例は、ローカル生成ワークフローで使っている直接 SDK 形式に沿っています。プロジェクト環境を置き換え、ご自身の承認済み環境で認証してください。
調整用のたたき台プロンプト
雨の通りをランタンを持って歩く、オリジナルのイラスト配送員を作成してください。シルエットをはっきりさせ、見やすいシーンにしてください。文字やロゴは追加しないでください。
このブリーフは、表示結果の逐語的な依頼ログではなく、調整可能なひな型です。まったく同じ結果や、1回目の生成成功を保証するものではありません。生成記録には元の依頼内容が保持されます。
ワークフローを試す
- 認証情報とプロジェクト設定はソースファイルの外で準備する。
- 対応した画像設定で小さなリクエストを実行する。
- 返却された画像パーツを確認し、正しい 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 をサポートしていません。リクエストパラメータを追加する前に、対象エンドポイントのドキュメントを確認してください。
画像なしの応答が返ったら、すぐ再試行すべきですか?
まずはレスポンスと、現在の提供元ガイダンスを確認してください。フィルター、制限、一時的な障害によって結果は変わります。このガイドは、再試行が成功することや無料であることを保証しません。
