# Vertex AIでNano Bananaを動かす設定と料金

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

- URL: https://blog.laozhang.ai/ja/posts/vertex-ai-nano-banana-api
- Published: 2026-09-24
- Updated: 2026-09-24
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ja/about)
- Category: APIガイド
- Tags: Vertex AI, Nano Banana, Nano Banana 2, Nano Banana Pro, Gemini Enterprise Agent Platform, Google Gen AI SDK, 画像生成API

---
2026年9月24日時点で、Vertex AI経由でNano Bananaを動かすために押さえる点は3つです。

1. モデル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`です。
2. locationは`global`を指定する。ProとLiteは`global`でしか提供されておらず、Nano Banana 2だけが`us`と`eu`にも対応しています。
3. 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/`以下に移っています（[リリースノート](https://docs.cloud.google.com/gemini-enterprise-agent-platform/release-notes)）。「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](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/3-1-flash-image)、[Nano Banana Pro](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/3-pro-image)、[Nano Banana 2 Lite](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/3-1-flash-lite-image)、[初代Nano Banana](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/gemini/2-5-flash-image)の各モデルページ（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の廃止スケジュール](https://ai.google.dev/gemini-api/docs/deprecations)では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自身も[移行ガイド](https://ai.google.dev/gemini-api/docs/migrate-to-cloud)で「特定のエンタープライズ向け管理機能が必要な場合を除き、ほとんどの開発者は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 モデル、料金、動くコード](https://blog.laozhang.ai/ja/posts/nano-banana-ai-image-generation-api)」にまとめています。
- 日本国内にデータ処理を留める必要がある場合、どのNano Bananaモデルのページにも東京などアジアのリージョンは載っていません。この要件はNano Bananaでは満たせないので、社内の要件側で`global`を許容できるか確認が必要です。

画像に限らずGemini全般でどちらの基盤を選ぶかは、「[Gemini API と Vertex AI API の選び方：速く始めるか、クラウド運用で固めるか](https://blog.laozhang.ai/ja/posts/gemini-api-vs-vertex-api)」で比較しています。

## 最初の1枚を生成する

事前に、Google Cloudプロジェクトで課金を有効にし、Agent Platform API（サービス名`aiplatform.googleapis.com`）を有効化しておきます。呼び出すユーザーやサービスアカウントには、`roles/aiplatform.user`などモデルの予測を実行できるロールが必要です。

コードを書く前に動作だけ見たい場合は、コンソールのAgent Studioで試せます。英語UIでは「Create prompt」を開き、「Switch model」でモデルを選び、「Outputs」パネルで「Image and text」を選んでからプロンプトを送ります。

### ローカルでの認証と環境変数

```bash
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=True
```

`gcloud auth application-default login`はローカル開発用のアプリケーションのデフォルト認証情報（ADC）を作ります。Cloud RunやGKEなどGoogle Cloud上で動かす場合は、実行環境にサービスアカウントを割り当てれば同じコードがその権限で動くので、鍵ファイルを配る必要はありません。環境変数3つは[公式の画像生成ガイド](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/multimodal/image-generation)のPythonサンプルと同じ組み合わせです。

### 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）

```bash
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モード](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/start/express-mode/overview)が用意されています。@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入力を整理](https://blog.laozhang.ai/ja/posts/nano-banana-pro-api-guide)」で詳しく扱っています。

## 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の説明](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/dynamic-shared-quota)）。`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の料金ページ](https://cloud.google.com/vertex-ai/generative-ai/pricing)の単価に当てはめると、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です。

![Nano Banana 2の解像度別の1枚あたり定価をStandard（global）、Standard（us・eu）、Flex・Batchの3区分で比べた棒グラフ](https://blog.laozhang.ai/posts/ja/vertex-ai-nano-banana-api/img/cost-per-image.webp)

Gemini APIの[料金ページ](https://ai.google.dev/gemini-api/docs/pricing)でも、Nano Banana 2とProの画像出力単価は`global`と同じ額です。Vertexにしても安くはならず、高くなるのはNano Banana 2で`us`・`eu`を選んだときだけです。

無料で試したい場合、Gemini APIではNano Banana 2とProに無料枠がありません。Google Cloudの[無料トライアル](https://docs.cloud.google.com/free/docs/free-cloud-features)（90日間・$300クレジット）は、対象外として「AI StudioでのGemini APIの料金」を挙げていますが、Agent Platform上のGeminiは対象外の一覧に入っていないため、Vertex経由のNano Bananaに充てられると読めます。実際に、このクレジットでVertex経由のNano Banana Proを試した手順が[note](https://note.com/makari_5108010/n/n46facecec769)で公開されています（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.` | 共有の処理能力を超えた | 次の節の手順で対処する |

![エラーを手元のSDK、Google側の拒否、429の3段階に分け、表示される例外と直し方を並べた図](https://blog.laozhang.ai/posts/ja/vertex-ai-nano-banana-api/img/error-triage.webp)

`ValueError`や`DefaultCredentialsError`はすべて手元で起きるエラーなので、課金は発生しません。Google側の障害かどうかを見分けたいときは「[Nano Banana 2は障害中？公式ステータスと自分だけの不具合を切り分ける](https://blog.laozhang.ai/ja/posts/is-nano-banana-2-down)」の手順が使えます。

### 429が続くとき

Vertexの429には2種類あり、従量課金（PayGo）では`Resource exhausted, please try again later.`、Provisioned Throughputの枠を超えた場合は`Too many requests. Exceeded the Provisioned Throughput.`と返ります（[エラーコード429の説明](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/provisioned-throughput/error-code-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の対処として挙げている次の方法です。

1. 個別リージョンや`us`・`eu`ではなく`global`エンドポイントを使う。
2. 上限付きの指数バックオフで再試行する。google-genai 2.25.0は初期設定では再試行しないため、`HttpRetryOptions`で有効にします（下のコード）。
3. 生成リクエストをキューに入れて時間的に均し、秒単位の集中を避ける。Standard PayGoの説明には、1分あたりの平均が少なくても、瞬間的に集中したリクエストは制限されることがあると書かれています。
4. 利用量を急に増やさず、段階的に増やす（急増すると加速制限で429になることがある）。
5. 確実に処理能力が必要な本番処理はProvisioned Throughputで容量を予約する。

```python
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](https://discuss.ai.google.dev/t/nano-banana-pro-vertex-ai-api-unreliable/113884)では2026年1〜3月に、Vertex経由のNano Banana Proで「利用量が少ないのに429が続く」「同時5〜6リクエストで429になる」という報告が出ていました。Gemini APIに切り替えたら解消したという投稿や、1月8日にGoogle側が修正を入れたという回答もあります。いずれもpreview版の時期の個別報告で、現在のGA版の安定性を示すものではありません。Gemini API側の制限の仕組みは「[Nano Banana 2 の制限は1日何回？回復の仕組み](https://blog.laozhang.ai/ja/posts/nano-banana-2-limits-daily-quotas-guide)」で解説しています。

## ウォーターマーク：見えるロゴと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](https://docs.laozhang.ai/en/api-capabilities/nano-banana-image)も選択肢になります。これは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の例と近い形で試せます。
