Vertex AIでNano Bananaを動かす設定と料金
Vertex AI経由のNano BananaはGA版のモデルIDとglobalで動きます。旧preview IDは提供終了済みで、画像の定価はGemini APIと同じです。
目次

2026年9月24日時点で、Vertex AI経由でNano Bananaを動かすために押さえる点は3つです。
- モデルIDはGA版を使う。Nano Banana 2は
gemini-3.1-flash-image、Nano Banana Proはgemini-3-pro-image、Nano Banana 2 Liteはgemini-3.1-flash-lite-imageです。 - locationは
globalを指定する。ProとLiteはglobalでしか提供されておらず、Nano Banana 2だけがusとeuにも対応しています。 - Google Gen AI SDKでは
GOOGLE_GENAI_USE_ENTERPRISE=True(またはコード内でenterprise=True)を付け、APIキーではなくGoogle Cloudプロジェクトの認証情報で呼び出す。
2025年から2026年前半のコードで使われていたgemini-3-pro-image-previewやgemini-3.1-flash-image-previewは、2026年7月17日にVertex側で提供が終了しています。画像1枚あたりの定価はAI StudioのAPIキーで使うGemini API(有料枠)と同じなので、Vertexを選ぶ理由は安さではなく、IAMによる認証、Google Cloudの請求へのまとめ、VPC Service ControlsやCMEKといった管理機能にあります。
名称とモデルIDの対応表
2026年4月22日、GoogleはVertex AIをGemini Enterprise Agent Platformに統合しました。Vertex AI StudioはAgent Studio、Vertex AI APIはAgent Platform APIという名前になり、公式ドキュメントもdocs.cloud.google.com/gemini-enterprise-agent-platform/以下に移っています(リリースノート)。「Vertex AI」と「Agent Platform」は同じサービスを指し、APIのホストも今まで通りaiplatform.googleapis.comです。コードで変わったのはSDKのフラグで、google-genaiではenterpriseが現在の指定、vertexaiは従来の指定として残っています。
Agent Platformで使えるNano Bananaモデルは次の通りです。
| 通称 | モデルID | Agent Platformでの状態 | 使えるlocation | 出力解像度 |
|---|---|---|---|---|
| Nano Banana 2 | gemini-3.1-flash-image | GA(2026年5月28日)、廃止は2027年5月28日以降 | global、us、eu | 512、1K、2K、4K |
| Nano Banana Pro | gemini-3-pro-image | GA(2026年5月28日)、廃止は2027年5月28日以降 | globalのみ | 1K、2K、4K |
| Nano Banana 2 Lite | gemini-3.1-flash-lite-image | GA(2026年6月23日)、廃止は2027年6月28日以降 | globalのみ | 1K |
| Nano Banana(初代) | gemini-2.5-flash-image | 非推奨、2027年3月15日に廃止予定 | globalと米国・欧州の各リージョン | 1024×1024相当 |
| 旧preview版 | gemini-3.1-flash-image-preview、gemini-3-pro-image-preview | 2026年7月17日に提供終了 | — | — |
モデルごとの状態とlocationは、Nano Banana 2、Nano Banana Pro、Nano Banana 2 Lite、初代Nano Bananaの各モデルページ(2026年9月22日更新)によります。廃止日は過去にも延長されたことがあるので、長期運用ではモデルページの「Retirement date」を定期的に確認してください。
古いコードが「モデル名」で止まる理由
preview版のIDを使ったコードは、importもクライアントの作成も問題なく通ります。google-genaiはモデルIDを手元で検証しないためです。バージョン2.25.0(2026年9月22日リリース)で確かめると、gemini-3.1-flash-image-previewを指定しても.../models/gemini-3.1-flash-image-preview:generateContentという送信先URLがそのまま組み立てられ、失敗するのはリクエストがGoogleに届いてからです。生成の段階で初めて失敗するなら、まずモデルIDを疑ってください。
置き換え先は-previewを外したIDです。2026年7月17日付のリリースノートにはgemini-3-flash-imageへの移行を促す一文がありますが、同じノートの5月28日付の移行表とモデルページでは、Pro版の移行先はgemini-3-pro-imageになっています。
同じモデルIDでも終了日が違う
Gemini API(AI StudioのAPIキー)とAgent Platformは同じモデルIDを使いますが、提供終了日は別々に決まっています。初代のgemini-2.5-flash-imageは、Gemini APIの廃止スケジュールでは2026年10月2日に終了し、Agent Platformでは2027年3月15日まで延長されました。Gemini APIで初代モデルを使い続けているアプリは、Vertexに移せば半年ほど延命できます。ただしGoogleがAgent Platform側で案内している移行先はgemini-3.1-flash-lite-imageなので、延命は移行作業の時間稼ぎと考えるのが無難です。
Vertex経由にするか、AI StudioのAPIキーで足りるか
「Google Gemini API方式(APIキーが必要)」と「Google Cloud API方式(project・locationが必要)」という区別が、そのままGemini APIとVertexの違いです。
| 項目 | Gemini API(AI StudioのAPIキー) | Vertex AI(Agent Platform) |
|---|---|---|
| 認証 | APIキー | ADCやサービスアカウントのアクセストークン(expressモードのみAPIキー) |
| 送信先 | generativelanguage.googleapis.com | aiplatform.googleapis.com(us・euは専用ホスト) |
| SDKの指定 | api_key | enterprise=Trueとproject・location |
| 公式サンプルの書き方 | Interactions API中心 | generateContentとimageConfig |
| 画像出力の定価 | Nano Banana 2は100万トークンあたり$60 | globalは同額、us・euは10%高い |
| 無料で試す方法 | Nano Banana 2とProには無料枠がない | Google Cloud無料トライアルの$300クレジット |
| 処理能力の上限 | Gemini APIの利用枠に従う | 画像モデルは共有容量で上限値は非公開、Provisioned Throughputで予約可能 |
| 管理機能 | — | データ所在地、CMEK、VPC-SC、アクセスの透明性(AXT) |
Google自身も移行ガイドで「特定のエンタープライズ向け管理機能が必要な場合を除き、ほとんどの開発者はGemini Developer APIを使うべき」と書いています。判断の目安は次の通りです。
- Vertexが向くのは、会社のGoogle Cloud請求にまとめたい場合、APIキーを配らずサービスアカウントで運用したい場合、VPC-SCやCMEKが社内規程で必要な場合、画像生成の処理を米国またはEU内に留めたい場合(Nano Banana 2のみ)、Provisioned Throughputで容量を確保したい場合です。
- 個人開発や小規模な検証で、キー1本で済ませたいならGemini APIで足ります。手順は「Nano Banana API Key ガイド 2026:公式 Gemini モデル、料金、動くコード」にまとめています。
- 日本国内にデータ処理を留める必要がある場合、どのNano Bananaモデルのページにも東京などアジアのリージョンは載っていません。この要件はNano Bananaでは満たせないので、社内の要件側で
globalを許容できるか確認が必要です。
画像に限らずGemini全般でどちらの基盤を選ぶかは、「Gemini API と Vertex AI API の選び方:速く始めるか、クラウド運用で固めるか」で比較しています。
最初の1枚を生成する
事前に、Google Cloudプロジェクトで課金を有効にし、Agent Platform API(サービス名aiplatform.googleapis.com)を有効化しておきます。呼び出すユーザーやサービスアカウントには、roles/aiplatform.userなどモデルの予測を実行できるロールが必要です。
コードを書く前に動作だけ見たい場合は、コンソールのAgent Studioで試せます。英語UIでは「Create prompt」を開き、「Switch model」でモデルを選び、「Outputs」パネルで「Image and text」を選んでからプロンプトを送ります。
ローカルでの認証と環境変数
pip install --upgrade google-genai
gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT=your-project-id
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=Truegcloud auth application-default loginはローカル開発用のアプリケーションのデフォルト認証情報(ADC)を作ります。Cloud RunやGKEなどGoogle Cloud上で動かす場合は、実行環境にサービスアカウントを割り当てれば同じコードがその権限で動くので、鍵ファイルを配る必要はありません。環境変数3つは公式の画像生成ガイドのPythonサンプルと同じ組み合わせです。
Python
from google import genai
from google.genai import types
# 環境変数からenterprise・project・locationを読み込む
client = genai.Client()
# 明示する場合:
# client = genai.Client(enterprise=True, project="your-project-id", location="global")
response = client.models.generate_content(
model="gemini-3.1-flash-image",
contents="夕暮れの京都の路地を歩く三毛猫、映画のようなライティング",
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(aspect_ratio="16:9", image_size="2K"),
),
)
for i, part in enumerate(response.candidates[0].content.parts):
if part.text:
print(part.text)
elif part.inline_data:
ext = part.inline_data.mime_type.split("/")[-1]
with open(f"nano-banana-{i}.{ext}", "wb") as f:
f.write(part.inline_data.data)このコードでgoogle-genai 2.25.0が組み立てる送信先はhttps://aiplatform.googleapis.com/v1beta1/projects/your-project-id/locations/global/publishers/google/models/gemini-3.1-flash-image:generateContentで、生成設定はimageConfigのaspectRatio・imageSizeとして送られます。書き換えるときの注意点は次の3つです。
- Proを使うなら
model="gemini-3-pro-image"、Liteならgemini-3.1-flash-lite-imageに替えます。Liteは1Kしか出力できないのでimage_sizeは外すか"1K"にします。 - 既存コードの
vertexai=Trueは今もenterprise=Trueと同じ送信先になるので、急いで書き換える必要はありません。ただしenterprise=Trueとvertexai=Falseを同時に書くとエラーになります。 ImageConfigのoutput_mime_type、output_compression_quality、prominent_people、image_output_optionsは、SDKの説明で「Gemini APIでは非対応」とされているAgent Platform専用の項目です。これらを使うコードはAPIキー方式にそのまま戻せません。
REST(curl)
PROJECT_ID=your-project-id
MODEL_ID=gemini-3.1-flash-image
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/publishers/google/models/${MODEL_ID}:generateContent" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "夕暮れの京都の路地を歩く三毛猫"}]}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
}
}' > response.json画像はcandidates[0].content.parts[]のinlineData.dataにBase64で入って返ります。公式のRESTサンプルはv1、Python SDKはv1beta1を使いますが、どちらも同じgenerateContentです。
expressモードのAPIキー
APIキーでVertexを使いたい場合は、expressモードが用意されています。@gmail.comのGoogleアカウント向けのプレビュー機能で、Google Cloudを初めて使う人は、支払い情報なしで最大90日間、割り当ての範囲内で無料で試せます。SDKではgenai.Client(enterprise=True, api_key="...")と書き、projectとlocationは指定しません。
ただし、次の条件で扱いが変わります。
- すでにGoogle Cloudを使っている人や、課金を有効にした時点で、90日間の無料枠はなくなり有料枠に切り替わります。
- Google Cloudの無料トライアル($300クレジット)とは別の仕組みで、無料トライアル経由では使えません。
- 2026年9月24日時点で、expressモードの対応モデル表には提供終了済みのpreview版IDと初代
gemini-2.5-flash-image(毎分10リクエスト)が載ったままで、GA版のgemini-3.1-flash-imageやgemini-3-pro-imageが無料枠で使えるかは記載がありません。Nano Banana 2やProを無料で使える前提で計画を立てるのは避けてください。
ai.google.devのコードをそのまま移さない
Gemini APIのドキュメント(ai.google.dev)は、Nano Bananaの例をInteractions API(client.interactions.createとresponse_format)で書くようになりました。一方、Agent Platformの画像生成ガイドに載っているのはgenerate_contentとimage_configの形だけです。ai.google.devのサンプルを出発点にしてVertexへ移すなら、上のPythonコードの形に書き換えるのが確実です。Gemini API側のリクエスト構造は「Nano Banana Pro APIの使い方:公式JSON、YAML、PDF入力を整理」で詳しく扱っています。
locationの選び方と送信先
locationの値によって、SDKが接続するホストと使えるモデル、さらに料金まで変わります。google-genai 2.25.0でクライアントを作ったときの送信先は次の通りです。
locationの値 | SDKが接続するホスト | 使えるNano Banana |
|---|---|---|
global | https://aiplatform.googleapis.com/ | すべてのモデル |
us | https://aiplatform.us.rep.googleapis.com/ | Nano Banana 2のみ |
eu | https://aiplatform.eu.rep.googleapis.com/ | Nano Banana 2のみ |
us-central1などの個別リージョン | https://us-central1-aiplatform.googleapis.com/ | 初代gemini-2.5-flash-imageのみ |
| なし(expressモードのAPIキー) | https://aiplatform.googleapis.com/ | expressモードの対応モデル |
迷ったらglobalです。Googleは複数リージョンにまたがる大きな容量を使え、空きのある場所へリクエストを振り分けられるglobalエンドポイントをベストプラクティスとしています(Standard PayGoの説明)。us・euは2026年8月31日にNano Banana 2向けに追加されたマルチリージョンで、画像生成の処理を米国またはEU内に留めたい場合に選びます。その代わり画像出力の単価はglobalより10%高くなります。
よくある落とし穴がus-central1です。公式ガイドのNode.jsサンプルは、GOOGLE_CLOUD_LOCATIONが未設定だとus-central1を使い、モデルも初代のgemini-2.5-flash-imageになっています。モデル名だけNano Banana 2やProに書き換えると、us-central1はどちらのモデルページにも載っていないlocationなので動きません。Node.jsでもPythonでも、GOOGLE_CLOUD_LOCATION=globalを明示しておくのが安全です。
解像度別の1枚あたりコスト
Vertexの画像出力はトークン課金です。1枚のコストは次の式で計算できます。
1枚の出力コスト=出力画像のトークン数×画像出力の単価(100万トークンあたり)÷1,000,000
出力画像のトークン数は解像度で決まり、Nano Banana 2は512で747、1Kで1,120、2Kで1,680、4Kで2,520トークン、Proは1Kと2Kが1,120、4Kが2,000トークン、Liteは1Kで1,120トークンです。これをAgent Platformの料金ページの単価に当てはめると、2026年9月24日時点の定価は次のようになります(USD、画像出力分のみ)。
| モデルと料金区分 | 画像出力の単価(100万トークン) | 512 | 1K | 2K | 4K |
|---|---|---|---|---|---|
Nano Banana 2 Standard(global) | $60 | $0.0448 | $0.0672 | $0.1008 | $0.1512 |
Nano Banana 2 Standard(us・eu) | $66 | $0.0493 | $0.0739 | $0.1109 | $0.1663 |
Nano Banana 2 Flex・Batch(global) | $30 | $0.0224 | $0.0336 | $0.0504 | $0.0756 |
| Nano Banana Pro Standard | $120 | — | $0.1344 | $0.1344 | $0.24 |
| Nano Banana Pro Flex・Batch | $60 | — | $0.0672 | $0.0672 | $0.12 |
| Nano Banana 2 Lite Standard | $30 | — | $0.0336 | — | — |
| Nano Banana 2 Lite Flex・Batch | $15 | — | $0.0168 | — | — |
表の読み方で押さえておきたい点があります。
- Proは1Kと2Kのトークン数が同じなので、Proを使うなら2Kにしても1枚の出力コストは変わりません。
- Flex PayGoとバッチ推論はStandardの半額です。すぐに結果が要らない大量生成なら、たとえばNano Banana 2の2Kを1,000枚作る場合、Standardで約$100.80、バッチで約$50.40になります。
- 表は画像出力だけの金額です。参照画像を入力すると、参照画像1枚につきNano Banana 2で1,120トークン(約$0.00056)、Proで560トークン(約$0.00112)が加わり、テキストや思考のトークンは別途テキスト出力の単価(Nano Banana 2は100万トークンあたり$3)で課金されます。
- 料金ページによると、課金されるのはHTTP 200を返したリクエストだけで、429などの4xxや5xxは入出力とも課金されません。
- 初代の
gemini-2.5-flash-imageは1024×1024の画像1枚が1,290トークンで、約$0.039です。

Gemini APIの料金ページでも、Nano Banana 2とProの画像出力単価はglobalと同じ額です。Vertexにしても安くはならず、高くなるのはNano Banana 2でus・euを選んだときだけです。
無料で試したい場合、Gemini APIではNano Banana 2とProに無料枠がありません。Google Cloudの無料トライアル(90日間・$300クレジット)は、対象外として「AI StudioでのGemini APIの料金」を挙げていますが、Agent Platform上のGeminiは対象外の一覧に入っていないため、Vertex経由のNano Bananaに充てられると読めます。実際に、このクレジットでVertex経由のNano Banana Proを試した手順がnoteで公開されています(Makari、2026年1月13日)。
エラー文から原因を切り分ける
下のエラー文は、google-genai 2.25.0を認証情報のない環境で動かし、クライアントを組み立てた段階で出る例外を記録したものです。Googleにはリクエストを送っていないため、サーバーが返すエラー文や生成時間は含みません。SDKのバージョンが変わると文言も変わることがあります。
| 表示されるメッセージ・症状 | 原因 | 直し方 |
|---|---|---|
ValueError: Gemini API does not support project/location. | projectとlocationを渡したのにenterpriseの指定がなく、Gemini API向けのクライアントとして作られた | enterprise=Trueを付けるか、GOOGLE_GENAI_USE_ENTERPRISE=Trueを設定する |
ValueError: No API key was provided... | 何も設定されていない。環境変数を設定したつもりでも、IDE・Docker・cronなど実行中のプロセスに届いていない | 実際に動くプロセスの環境で3つの環境変数を設定する |
Missing key inputs argument! ... provide (vertexai, project & location) arguments. | 古いSDKで起きていた、上の2つと同じ原因のエラー | SDKを更新し、同じ設定を行う |
ValueError: enterprise and vertexai flags have conflicting values... | enterprise=Trueとvertexai=Falseを同時に指定している | enterpriseだけを残す |
DefaultCredentialsError: Your default credentials were not found... | ADCが作られていない | ローカルはgcloud auth application-default login、本番はサービスアカウントを割り当てる |
| 「Both GOOGLE_GENAI_USE_ENTERPRISE and GOOGLE_GENAI_USE_VERTEXAI are set with conflicting values」という警告 | 2つの環境変数の値が食い違っている(GOOGLE_GENAI_USE_ENTERPRISEが優先される) | どちらか一方を削除する |
| クライアントは作れるが、生成リクエストで失敗する | preview版のIDを使っている、モデルが対応していないlocation(Proとusなど)を指定している | 上の対応表でIDとlocationを確認する |
429 Resource exhausted, please try again later. | 共有の処理能力を超えた | 次の節の手順で対処する |

ValueErrorやDefaultCredentialsErrorはすべて手元で起きるエラーなので、課金は発生しません。Google側の障害かどうかを見分けたいときは「Nano Banana 2は障害中?公式ステータスと自分だけの不具合を切り分ける」の手順が使えます。
429が続くとき
Vertexの429には2種類あり、従量課金(PayGo)ではResource exhausted, please try again later.、Provisioned Throughputの枠を超えた場合はToo many requests. Exceeded the Provisioned Throughput.と返ります(エラーコード429の説明)。
Nano Bananaの画像モデルには、1分あたり何枚まで生成できるという公開された上限値がありません。Standard PayGoの説明では、Gemini 3.1 Flash Image、3.1 Flash-Lite Image、3 Pro Image、2.5 Flash Imageの4モデルについて、Standard PayGoには対応するものの、支出額に応じて処理能力の基準値が上がる利用枠(Usage Tiers)は適用されないと明記されています。各モデルページでも固定の割り当て(Fixed quota)は「Not supported」です。つまり、画像生成の処理能力は他の利用者と共有する容量からベストエフォートで割り当てられ、支出を増やしたり割り当ての引き上げを申請したりして上限を上げる方法は用意されていません。
そのうえで効果があるのは、Googleが429の対処として挙げている次の方法です。
- 個別リージョンや
us・euではなくglobalエンドポイントを使う。 - 上限付きの指数バックオフで再試行する。google-genai 2.25.0は初期設定では再試行しないため、
HttpRetryOptionsで有効にします(下のコード)。 - 生成リクエストをキューに入れて時間的に均し、秒単位の集中を避ける。Standard PayGoの説明には、1分あたりの平均が少なくても、瞬間的に集中したリクエストは制限されることがあると書かれています。
- 利用量を急に増やさず、段階的に増やす(急増すると加速制限で429になることがある)。
- 確実に処理能力が必要な本番処理はProvisioned Throughputで容量を予約する。
from google import genai
from google.genai import types
client = genai.Client(
http_options=types.HttpOptions(
retry_options=types.HttpRetryOptions(attempts=5),
),
)HttpRetryOptionsを渡すと、SDKは408、429、500、502、503、504の応答を受けたときに、約1秒から始めて待ち時間を倍にしながら再試行します(attemptsは最初の1回を含む回数)。料金の節で触れた通り、429などのエラーになったリクエストは課金されませんが、再試行が成功すればその分は課金されます。
参考までに、Google AI Developers Forumでは2026年1〜3月に、Vertex経由のNano Banana Proで「利用量が少ないのに429が続く」「同時5〜6リクエストで429になる」という報告が出ていました。Gemini APIに切り替えたら解消したという投稿や、1月8日にGoogle側が修正を入れたという回答もあります。いずれもpreview版の時期の個別報告で、現在のGA版の安定性を示すものではありません。Gemini API側の制限の仕組みは「Nano Banana 2 の制限は1日何回?回復の仕組み」で解説しています。
ウォーターマーク:見えるロゴとSynthIDは別物
Vertexで生成した画像に目に見えるロゴは入らず、Agent Platformのドキュメントにもロゴを重ねるという記載はありません。ただし、見えない透かしは入っています。Geminiの画像生成ドキュメントは「生成されるすべての画像にSynthIDの透かしが含まれる」と明記しており、Google Cloudのブログも、Vertex上のNano BananaにSynthIDが組み込まれていること、Nano Banana 2ではSynthIDとC2PAのコンテンツ認証情報(Content Credentials)を組み合わせていることを説明しています。モデルページでもNano Banana 2とProはC2PA対応です。
つまり、Vertexで生成した画像も、SynthIDの検出やC2PAのメタデータによってAI生成だと確認できます。「AI生成であることが分からない画像」を作る手段としてVertexを選ぶことはできません。
Vertex固有の管理機能が要らない場合の別経路
VPC-SC、CMEK、データ所在地、GoogleのSLA、Provisioned Throughputのどれも必要ない場合や、会社でGoogle Cloudの請求アカウントを開けない場合は、Nano Bananaを1回単価で提供しているlaozhang.aiも選択肢になります。これはVertexではなく第三者のAPIサービスで、上に挙げた管理機能はありません。
2026年9月24日時点の公開価格は、gemini-3.1-flash-imageが1回$0.055、gemini-3-pro-imageが$0.09、gemini-3.1-flash-lite-imageが$0.025で、出力解像度によって変わりません。上の表のStandardの定価と比べると、Nano Banana 2の1K以上とProの全解像度では1回単価の方が安くなります。反対に、Nano Banana 2の512($0.0448)や、Flex・Batchで処理できる大量生成では、4K以外はVertexの方が安くなります。接続先はhttps://api.laozhang.aiで、Geminiと同じgenerateContent形式のリクエストにimageConfigを付けて呼べるため、上のRESTの例と近い形で試せます。





