Nano Banana
Nano Banana Pro と Flash の制限、極端な 4 種のアスペクト比、そして無料の relax レーン。
Nano Banana は ListenHub における Google の画像モデルファミリーです。精細さ重視の gemini-3-pro-image
(Nano Banana Pro)と、速度重視の gemini-3.1-flash-image(Nano Banana Flash)があります。どちらも共通の
画像エンドポイントで動作します。エンドポイント、リクエストスキーマ、非同期の流れ、エラーコードについては
画像生成の概要 を参照してください。本ページで扱うのは
Nano Banana 固有の内容だけです。
モデル
| モデル | 表示名 | 主な用途 |
|---|---|---|
gemini-3-pro-image | Nano Banana Pro | カタログの中で最も精細な出力 |
gemini-3.1-flash-image | Nano Banana Flash | より高速・低コストな生成。Nano Banana ファミリーの中で極端な比率に対応する唯一のティア |
どちらも provider: "google" を指定します。プレビュー版の ID gemini-3-pro-image-preview と
gemini-3.1-flash-image-preview は引き続き受け付けられ、上記の GA の ID に正規化されます。
制限
| 制限項目 | gemini-3-pro-image | gemini-3.1-flash-image |
|---|---|---|
| 画像サイズ | 1K、2K、4K | 1K、2K、4K |
| アスペクト比 | 標準 10 種 | 極端な 4 種を含む 14 種すべて |
| デフォルトのアスペクト比 | 1:1(スキーマのデフォルト) | 1:1(スキーマのデフォルト) |
| 参照画像 | 最大 14 件 | 最大 14 件 |
quality | 無視されます | 無視されます |
本ファミリーの中で 1:4、4:1、1:8、8:1 に対応するのは Flash だけです — gemini-3-pro-image
に送ると 400 と code: 29003 が返ります。Nano Banana でのアスペクト比の拒否は毎回 29003 を返し、
GPT-Image と Wan 2.7 が使う 26019 ではありません。
どちらのモデルもファミリーレベルの参照画像の上限を宣言していないため、スキーマ全体の上限である 14 件が実質的な 上限になります — カタログの中で最も多い数です。
極端な比率
標準の比率セットでは表現できないバナー、縦長のストリップ、パノラマのために、4 種の比率があります。
| 比率 | 形状 | 典型的な用途 |
|---|---|---|
1:4 | 細長い縦長 | サイドバー用の画像、縦長のストリップ |
4:1 | 幅広の横長 | ページバナー、ヘッダー |
1:8 | 極端な縦長 | 縦にスクロールするパネル |
8:1 | パノラマ | 幅広のパノラマ、フッターのストリップ |
Nano Banana ファミリーの中では Flash だけが対応します。ファミリーの外では seedream-5-0-pro も受け付けます
— このモデルは比率ではなくサイズで検証しているためです。
無料枠
どちらのモデルにも専用の無料枠リソースがあり、使えるのは 1K と 2K だけです — 4K のリクエストは必ず
クレジットで課金されます。無料枠の獲得方法と参照方法は
概要 にあります。
| モデル | 無料枠リソース |
|---|---|
gemini-3-pro-image | gemini-3-pro-image-relax-1k-2k |
gemini-3.1-flash-image | gemini-3.1-flash-image |
relax レーン
gemini-3-pro-image は、カタログの中で無料枠に独立した実行レーンを持つ唯一のモデルです。どのように実行される
かは、アカウントの種類によって決まります。
- 課金実績のあるアカウント(有効なサブスクリプション、チャージ、またはクレジットパックの購入)は、無料枠を 消費している間も完全な優先度、通常の処理能力、通常のフォールバックを保ちます — 無料枠が変えるのは課金方法で あって、実行されるレーンではありません。
- 完全無料アカウント(一度も課金していないアカウント)は、スループットに固定の上限がある最低優先度の無料 レーンで実行されます。ピーク時にはリクエストがキューに入ったり、再試行可能な busy / timeout レスポンスで 拒否されたりすることがあります。その場合、クレジットは一切消費されず、無料枠も消費されません — 時間を おいて再試行してください。
完全無料アカウントの relax 失敗では、ローカライズされた文言を解析しなくても判別できる機械可読なメタデータが 返ります。
failReasonはfree_relax_busyまたはfree_relax_timeoutになります。retryableはtrueになります。- 無料枠が払い戻されると
freeUsageRolledBackがtrueになります。 userMessageは同期エラーレスポンスのボディに、ローカライズ可能な分かりやすい文言を載せます。非同期の タスクオブジェクトは同じ文言をfailUserMessageとして公開します。2 つのサーフェスではフィールド名が異なり ます — 両方の経路を扱うなら両方を読んでください。
同期リクエストではこれはエラーレスポンスのボディに現れ、非同期リクエストでは失敗したタスクの詳細(およびタスク 一覧)に現れます。どちらの理由も「時間をおいて再試行、課金は発生していない」として扱ってください。
料金
どちらのモデルも画像サイズごとの固定クレジットコストで課金され(pricing.mode は fixed)、どちらも
requiresSubscription を設定することはありません。4K は 2K より、2K は 1K より高くなります。正確な
数値はハードコードせず、モデルとサイズを指定して
POST /v1/images/generation/estimate-credits
を呼び出して取得してください。
例
curl -X POST "https://api.marswave.ai/openapi/v1/images/generation/async" \
-H "Authorization: Bearer $LISTENHUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "google",
"model": "gemini-3.1-flash-image",
"prompt": "A panoramic mountain range at dawn, layered mist, muted palette",
"imageConfig": { "imageSize": "2K", "aspectRatio": "8:1" }
}'完全なパラメータ一覧と参照画像を含むリクエストの形式は、 画像生成の概要 を参照してください。