Nano Banana 2 を使用して画像を生成する際、The input token count exceeds the maximum number of tokens allowed (65536) というエラーに遭遇したことがあるかもしれません。これは、開発者が Gemini 画像生成 API を呼び出す際に 最もよく直面する疑問の一つ です。公式モデルカードには入力トークン制限が 131,072 と明記されているのに、なぜ実際の制限は 65,536 なのでしょうか?
核心価値: 本記事を読み終えれば、Nano Banana 2 の入出力トークン制限、画像トークンの正確な計算式、そして 65536 エラーを解決するための 6 つの実用的な方法を完全に理解できるでしょう。

Nano Banana 2 モデル仕様 完全パラメータ表
Nano Banana 2 の基盤モデルIDは gemini-3.1-flash-image-preview です。以下は公式モデルカードから抽出した完全な仕様です。
| パラメータ | 値 | 説明 |
|---|---|---|
| モデルコード | gemini-3.1-flash-image-preview |
API呼び出し時に使用するmodelパラメータ |
| 入力タイプ | Text / Image / PDF | テキスト、画像、PDFファイルをサポート |
| 出力タイプ | Image / Text | 画像またはテキストを生成可能 |
| 入力トークン上限 | 65,536 ~ 131,072 | プラットフォームによって異なります (詳細は後述) |
| 出力トークン上限 | 32,768 | 画像とテキストトークンを含む |
| 最大入力画像数 | 14枚 (オブジェクト10枚 + キャラクター4枚) | 1回のリクエストあたり |
| 最大出力解像度 | 4096×4096 (4K) | 様々なアスペクト比をサポート |
| 入力画像上限 | 3072×3072 px | 超過した場合は自動スケーリング |
Nano Banana 2 機能サポートマトリックス
| 機能 | サポート状況 | 説明 |
|---|---|---|
| Image generation | ✅ サポート | コア機能 |
| Batch API | ✅ サポート | バッチ処理、50%割引 |
| Search grounding | ✅ サポート | 検索強化生成 |
| Thinking | ✅ サポート | 推論レベル調整可能 |
| Audio generation | ❌ 非サポート | — |
| Caching | ❌ 非サポート | コンテキストをキャッシュできません |
| Code execution | ❌ 非サポート | — |
| File search | ❌ 非サポート | — |
| Function calling | ❌ 非サポート | — |
| Google Maps | ❌ 非サポート | — |
| Live API | ❌ 非サポート | — |
| Structured outputs | ❌ 非サポート | — |
| URL context | ❌ 非サポート | — |
🎯 重要な注意点: Nano Banana 2 はキャッシング (コンテキストキャッシュ) をサポートしていません。これは、各リクエストで完全な入力内容を再送信する必要があることを意味します。大量の参照画像を含むシナリオでは、これによりトークン消費が大幅に増加します。APIYI apiyi.com プラットフォームを通じて呼び出す際は、各リクエストのトークン使用量を制御するために、入力内容を最適化することをお勧めします。
Nano Banana 2 トークン制限の核心問題:65536か、それとも131072か?

これは開発者が最も困惑する問題です。公式ドキュメントには131,072と記載されているのに、APIからは上限が65,536であるというエラーが返されます。
真相:プラットフォームポリシーの違いであり、モデル能力の違いではない
| ドキュメントソース | 入力トークン上限 | 出力トークン上限 |
|---|---|---|
| Firebase AI Logic | 65,536 | 32,768 |
| Google AI Studio / Gemini API | 131,072 | 32,768 |
| Vertex AI | 131,072 | 32,768 |
| Gemini 3 Flash (テキスト版) | 1,048,576 | 65,536 |
なぜ違いがあるのでしょうか?
Nano Banana 2は画像生成モデルとして、大量の計算リソースを画像合成プロセス(拡散ヘッド)に割り当てる必要があります。純粋なテキストモデルが入力理解のために全コンテキスト容量を使用できるのとは異なり、画像生成モデルは生成パイプラインを同時に維持する必要があります。
- Firebase AI Logicは、モバイルおよびエッジデバイスの安定性を考慮し、より保守的な65,536の制限を採用しています。
- Vertex AI / Google AIは、サーバーサイドおよびクラウド開発向けに、完全な131,072の制限を提供しています。
実際の影響:標準のGemini APIを介して呼び出しを行い、65,536のエラーを受け取った場合、以下の可能性があります。
- 使用しているSDKバージョンがデフォルトでFirebaseチャネルを経由している。
- プレビュー段階のプラットフォーム制限がまだ統一されていない。
- 特定の地域または階層のクォータ制限。
💡 実測からの推奨: APIYI apiyi.com プラットフォームを介してNano Banana 2を呼び出す際、入力トークンを65,536以内に制御することをお勧めします。これにより、基盤となるルーティングがどのプラットフォームであっても制限がトリガーされることはありません。APIYIプラットフォームは、最適な呼び出しパスを自動的に選択します。
Nano Banana 2 入力画像のトークン計算式
画像がどのようにトークンに変換されるかを理解することは、入力サイズの問題を解決する鍵となります。Geminiは、画像のトークン消費量を計算するために、タイリング戦略を使用しています。
基本計算ルール
ルール1:小画像(両辺が384px以下)
Token 消耗 = 258 tokens (固定値)
両辺が384ピクセルを超えない画像は、実際のサイズに関わらず、一律258トークンを消費します。これは最も経済的な選択肢です。
ルール2:大画像(いずれかの辺が384pxより大きい)
Token 消耗 = ceil(width ÷ 768) × ceil(height ÷ 768) × 258
大画像は768×768のブロック(タイル)に分割され、各ブロックは258トークンを消費します。
一般的な画像サイズのトークン消費量早見表
| 画像サイズ | ブロック数計算 | トークン消費量 | 説明 |
|---|---|---|---|
| 256×256 | 1×1 | 258 | 小画像の固定値 |
| 384×384 | 1×1 | 258 | 小画像の上限 |
| 512×512 | 1×1 | 258 | まだ1つのブロック内 |
| 768×768 | 1×1 | 258 | ちょうど1つのブロック |
| 1024×1024 | 2×2 | 1,032 | 一般的な入力サイズ |
| 1920×1080 | 3×2 | 1,548 | フルHD画像 |
| 2048×2048 | 3×3 | 2,322 | 2K画像 |
| 3072×3072 | 4×4 | 4,128 | 最大入力解像度 |
| 4096×4096 | — | 自動縮小され3072 | 上限を超えると自動処理 |
media_resolution パラメータ制御
Gemini 3シリーズモデルはmedia_resolutionパラメータをサポートしており、各入力画像のトークン消費量を正確に制御できます。
| パラメータ値 | トークン/枚 (Gemini 3) | トークン/枚 (Gemini 2.5) | 適用シナリオ |
|---|---|---|---|
LOW |
280 | 64 | 高速プレビュー、詳細不要 |
MEDIUM |
560 | 256 | 一般的な参照 |
HIGH (デフォルト) |
1,120 | 256 + Pan&Scan (~2,048) | 詳細分析が必要 |
ULTRA_HIGH |
2,240 | — | 最高精度 |
重要な発見: デフォルトのHIGH設定では、1枚の画像につき1,120トークンを消費します。もし1つのリクエストで14枚の参照画像(Nano Banana 2の上限)を渡した場合、画像だけで15,680トークンを消費します。これにテキストプロンプトが加わると、65,536の制限に容易に近づいてしまいます。
Nano Banana 2 出力トークン消費量の詳細
出力側にもトークン制限があります: 32,768トークン。生成される画像は、解像度に応じて異なる量の出力トークンを消費します:
| 出力解像度 | トークン消費量 | 1枚あたりの価格 (公式) | 1枚あたりの価格 (APIYI) |
|---|---|---|---|
| 512px | ~747 tokens | $0.045 | ~$0.02 |
| 1K (1024×1024) | ~1,120 tokens | $0.067 | $0.03 |
| 2K (2048×2048) | ~1,680 tokens | $0.101 | ~$0.04 |
| 4K (4096×4096) | ~2,520 tokens | $0.151 | ~$0.06 |
1回のリクエストあたりの最大出力枚数
32,768の出力トークン上限に基づくと:
| 出力解像度 | 1枚あたりのトークン数 | 最大出力枚数 | 説明 |
|---|---|---|---|
| 512px | 747 | 約43枚 | サムネイルのバッチ生成に適しています |
| 1K | 1,120 | 約29枚 | 通常のバッチ生成 |
| 2K | 1,680 | 約19枚 | 高解像度バッチ生成 |
| 4K | 2,520 | 約13枚 | 大判バッチ生成 |
🚀 バッチ生成の推奨事項: 大量の画像を生成する必要がある場合は、単一のリクエストに多数の画像を詰め込むのではなく、Batch API(50%の価格割引)を使用することをお勧めします。APIYI apiyi.com プラットフォームを通じてBatch API呼び出しがサポートされており、1K画像1枚あたり約$0.015で利用可能です。
Nano Banana 2 入力形式と制限の詳細
サポートされている入力画像形式
| 形式 | サポート | 説明 |
|---|---|---|
| PNG | ✅ | 推奨、ロスレス品質 |
| JPEG | ✅ | 推奨、ファイルサイズが小さい |
| WebP | ✅ | 最新の形式、品質と容量を両立 |
| HEIC | ✅ | iOSネイティブ形式 |
| HEIF | ✅ | 高効率画像形式 |
| GIF | ❌ | アニメーションは非対応 |
| BMP | ❌ | 非対応 |
| TIFF | ❌ | 非対応 |
ファイルサイズ制限
| アップロード方法 | サイズ上限 | 適用シーン |
|---|---|---|
| インライン (base64) | 7 MB | SDKから直接渡す場合 |
| Files API | 20 MB → 100 MB | 大容量ファイルのアップロード |
| Cloud Storage | 30 MB | Google Cloud Storage |
| リクエストボディ全体 | 500 MB | 全てのコンテンツを含む場合 |
入力画像解像度制限
- 最大入力解像度: 3072×3072ピクセル
- この解像度を超える画像は、自動的にアスペクト比を維持したまま 3072×3072以内に縮小されます。
- 縮小後もアスペクト比は変わりません。
PDF入力サポート
Nano Banana 2はPDFを入力としてサポートしていますが、トークン消費に注意が必要です:
- PDFは各ページが画像として処理され、トークン消費量は画像と同じです。
HIGH解像度(デフォルト)の場合、1ページあたり約1,120トークンを消費します。- 65,536トークンの上限では、最大で約58ページのPDFをサポートします。
- 推奨事項: 必要なページのみを渡し、ドキュメント全体を渡さないでください。
Nano Banana 2 がサポートするアスペクト比
Nano Banana 2 は、Nano Banana Pro と比較して、いくつかの極端なアスペクト比が新たに追加されました。
| アスペクト比 | 例示サイズ (1K) | 適用シーン | Nano Banana 2 | Nano Banana Pro |
|---|---|---|---|---|
| 1:1 | 1024×1024 | ソーシャルメディアのアイコン、商品画像 | ✅ | ✅ |
| 16:9 | 1024×576 | 動画のサムネイル、バナー | ✅ | ✅ |
| 9:16 | 576×1024 | スマートフォンの壁紙、ストーリーズ | ✅ | ✅ |
| 4:3 | 1024×768 | 従来の画面比率 | ✅ | ✅ |
| 3:4 | 768×1024 | 縦型ポスター | ✅ | ✅ |
| 3:2 | 1024×683 | 写真でよく使われる比率 | ✅ | ✅ |
| 2:3 | 683×1024 | 縦型写真 | ✅ | ✅ |
| 4:5 | 1024×1280 | Instagram推奨 | ✅ | ✅ |
| 5:4 | 1024×819 | 正方形に近い | ✅ | ✅ |
| 21:9 | 1024×439 | ウルトラワイドスクリーン | ✅ | ✅ |
| 4:1 | 1024×256 | 超ワイドバナー | ✅ | ❌ |
| 1:4 | 256×1024 | 超ナロー縦型 | ✅ | ❌ |
| 8:1 | 1024×128 | 極ワイドバナー | ✅ | ❌ |
| 1:8 | 128×1024 | 極ナロー縦型 | ✅ | ❌ |
💡 新規アスペクト比の説明: Nano Banana 2 に新たに追加された 4:1、1:4、8:1、1:8 の極端なアスペクト比は、ウェブサイトのバナー、長尺のインフォグラフィック、サイドバーの画像など、特殊なシーンでの生成に適しています。APIYI (apiyi.com) プラットフォームを通じて、すべての比率を直接使用できます。
Nano Banana 2 のトークン制限 65536 エラーを解決する6つの方法

The input token count exceeds the maximum number of tokens allowed (65536) エラーに遭遇した場合、以下の6つの方法で解決できます。
方法一: media_resolution パラメータを下げる (推奨)
効果: トークン消費を 50%-75% 削減
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apiyi.com/v1" # APIYI 統一インターフェース
)
# 入力画像の解像度を下げることでトークン消費を削減
# HIGH (デフォルト) = 1,120 トークン/枚
# MEDIUM = 560 トークン/枚 (50% 削減)
# LOW = 280 トークン/枚 (75% 削減)
Gemini ネイティブ API で `media_resolution` を設定する例を見る
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-3.1-flash-image-preview")
# 画像をアップロードする際に解像度を指定
image = genai.upload_file("input.jpg")
response = model.generate_content(
contents=[
"Edit this image to add a sunset background",
image
],
generation_config={
"response_modalities": ["IMAGE", "TEXT"],
"media_resolution": "MEDIUM" # HIGH から MEDIUM へ下げる
}
)
# MEDIUM: 560 トークン/枚 (HIGH: 1,120 トークン/枚 と比較)
# 14 枚の画像: 7,840 トークン (15,680 トークン と比較)
方法二: 入力画像を縮小する
効果: 1枚あたり 258 トークンまで究極に圧縮
API に送信する前に、参照画像を 384×384 ピクセル以内に縮小します。
from PIL import Image
def optimize_for_token(img_path, max_size=384):
"""画像を 384px 以内に縮小し、トークン消費を 258 に固定します"""
img = Image.open(img_path)
img.thumbnail((max_size, max_size), Image.LANCZOS)
optimized_path = img_path.replace(".", "_optimized.")
img.save(optimized_path, quality=85)
return optimized_path
# 最適化前: 1024x1024 = 1,032 トークン
# 最適化後: 384x384 = 258 トークン (75% 節約)
方法三: 参照画像の数を減らす
効果: トークン消費を線形に削減
Nano Banana 2 は最大 14 枚の入力画像をサポートしますが、ほとんどのシナリオでこれほど多くの画像は必要ありません。
| 参照画像の数 | トークン消費 (HIGH) | トークン消費 (MEDIUM) | トークン消費 (最適化後 384px) |
|---|---|---|---|
| 1 枚 | 1,120 | 560 | 258 |
| 3 枚 | 3,360 | 1,680 | 774 |
| 7 枚 | 7,840 | 3,920 | 1,806 |
| 14 枚 | 15,680 | 7,840 | 3,612 |
推奨: 本当に必要な参照画像のみを渡してください。キャラクターの一貫性が必要なシナリオでは、通常 2〜3 枚で十分であり、14 枚すべてを渡す必要はありません。
方法四: リクエストを分割する
効果: 1回のリクエスト制限を回避
大量の画像や長い PDF を処理する必要がある場合は、リクエストを複数の小さなリクエストに分割します。
def split_process(images, prompt, batch_size=3):
"""複数の画像リクエストを小さなバッチに分割します"""
results = []
for i in range(0, len(images), batch_size):
batch = images[i:i+batch_size]
response = client.images.generate(
model="nano-banana-2",
prompt=prompt,
# 毎回 batch_size 枚の画像のみを渡す
)
results.append(response)
return results
方法五: Files API を使用してインライン base64 を置き換える
効果: リクエストボディの肥大化を避け、より大きなファイルをアップロード可能に
インラインの base64 エンコーディングは、リクエストボディを約 33% 膨張させます。Files API を使用すると、まずファイルをアップロードして参照を取得し、その参照をリクエストで使用できます。
# Files API を使用して大容量画像をアップロード (20-100MB をサポート)
file = genai.upload_file("large_image.png")
# リクエストで参照を使用し、インライン化しない
response = model.generate_content([
"Based on this reference, generate a similar style image",
file # base64 ではなく参照
])
方法六: テキストプロンプトを簡潔にする
効果: 画像により多くのトークンを解放
テキストプロンプトもトークンを消費することを忘れないでください。冗長なプロンプトは貴重なトークン予算を占有します。
- ❌ 500語の詳細な説明 → 約750トークン
- ✅ 100語の洗練されたプロンプト → 約150トークン
- 節約: 約600トークン、これは MEDIUM 解像度の画像を1枚追加するのに相当します。
🎯 総合的な推奨: 実際の開発では、方法一 + 方法二 + 方法三 を組み合わせて使用することをお勧めします。APIYI (apiyi.com) プラットフォームを通じて Nano Banana 2 を呼び出す際、
media_resolutionを MEDIUM に設定し、入力画像を 384px に前処理し、必要な参照画像のみを渡すことで、トークン消費を 5,000 以内に抑え、65,536 の制限から遠ざけることができます。
Nano Banana 2 と他のモデルのトークン制限比較

| モデル | 入力トークン上限 | 出力トークン上限 | 出力画像トークン | 価格/枚 (1K) |
|---|---|---|---|---|
| Gemini 3 Flash (テキスト) | 1,048,576 | 65,536 | — | — |
| Nano Banana Pro | ~200,000 | 32,768 | ~1,120 | $0.134 |
| Nano Banana 2 | 65,536-131,072 | 32,768 | ~1,120 | $0.067 (公式) |
| Nano Banana 2 (APIYI) | 65,536-131,072 | 32,768 | ~1,120 | $0.03 |
| Gemini 2.5 Flash Image | — | 1,290/枚 | 1,290 固定 | $0.039 |
| Imagen 4 Fast | — | — | — | $0.020 |
主な違い:
- Nano Banana 2 の入力トークン上限は、純テキストモデルであるGemini 3 Flash (65K vs 1M) と比較してはるかに小さいです。これは画像生成アーキテクチャの制限によるものです。
- Nano Banana Pro の入力上限 (~200K) は Nano Banana 2 よりも高く、大量のコンテキストを必要とする複雑な編集に適しています。
- Gemini 2.5 Flash Image は、固定トークン/枚の簡略化されたモデルを採用しており、複雑なトークン計算は不要です。
よくある質問
Q1: 公式ドキュメントでは131,072と記載されているのに、APIでは65,536のエラーが出るのはなぜですか?
これはプラットフォームのポリシーの違いによるものです。Firebase AI Logicのドキュメントでは65,536と記載されており、Vertex AI / Google AIのドキュメントでは131,072と記載されています。どちらの数字も「正しい」ものであり、どのプラットフォームを通じて呼び出すかによって異なります。プレビュー段階では、すべてのプラットフォームで正常に動作するよう、入力トークンは65,536を基準に計画することをお勧めします。APIYI (apiyi.com) プラットフォームを通じて呼び出すと、ルーティングが自動的に最適化されます。
Q2: リクエストが消費するトークン数を素早く計算するにはどうすればよいですか?
簡単な公式: 総入力トークン ≈ テキストトークン + 画像数 × 1枚あたりのトークン。テキストは約英数字4文字で1トークン、日本語は約1〜2文字で1トークンです。画像トークンはmedia_resolutionによって異なり、LOW=280、MEDIUM=560、HIGH=1120です。例えば、日本語のプロンプト200文字(約300トークン)+ MEDIUM画像5枚(2,800トークン)≈ 3,100トークンとなり、65,536の範囲内に十分収まります。
Q3: PDF入力は最大何ページまで対応していますか?
HIGH解像度(デフォルト)で計算すると、1ページあたり約1,120トークンを消費します。65,536の上限では、最大約58ページまで対応可能です。MEDIUMに下げると、1ページあたり560トークンとなり、約117ページまで対応できます。本当に参照する必要があるページのみを渡すことをお勧めします。APIYI (apiyi.com) を通じて呼び出す際、トークン使用量は呼び出しログに詳細に表示されます。
Q4: 大きな画像を渡すと自動的にスケーリングされますか?
はい、されます。3072×3072ピクセルを超える画像は、自動的にアスペクト比を維持したまま3072×3072ピクセル以内に縮小されます。ただし、縮小後も実際のサイズに基づいてトークンが計算されます。最適なトークン効率を得るためには、送信前に画像を384×384(258トークンのみ)または768×768(258トークンのみ)に手動で縮小することをお勧めします。
Q5: Nano Banana 2 と Pro では、どちらの入力制限が大きいですか?
Nano Banana Pro の入力トークン上限(約200,000)は、Nano Banana 2(65,536〜131,072)の約1.5〜3倍です。大量の参照画像や長いPDFを渡す必要がある使用シナリオでは、Nano Banana Pro がより適しています。しかし、ほとんどの標準的なテキストから画像生成やシンプルな画像から画像生成のシナリオでは、Nano Banana 2 の入力制限で十分であり、価格は半分で、速度は2〜3倍速いです。APIYI (apiyi.com) プラットフォームは両方をサポートしており、いつでも切り替えることができます。
まとめ
Nano Banana 2 のトークン制限は、単なる課題ではなく、理解すべきメカニズムです。以下のポイントを把握すれば、簡単に使いこなせるでしょう。
- 入力上限 65,536-131,072 — 65,536 を基準に計画するのが最も安全です
- 画像トークンの計算 — 小画像は258で固定、大画像は768×768のブロックで計算されます
- media_resolution が最も効果的な調整手段です — HIGH→MEDIUM で50%直接削減
- 出力上限 32,768 — 1回の呼び出しで最大43枚の512px画像、または13枚の4K画像
- 6つの解決策 — 組み合わせて使用すると最も効果的です
Nano Banana 2 の完全なモデル機能を、1枚あたり0.03ドルで利用するには、APIYI (apiyi.com) プラットフォームを通じて呼び出すことをお勧めします。このプラットフォームでは、詳細なトークン使用量統計が提供され、各呼び出しを正確に最適化するのに役立ちます。
📝 著者: APIYI Team | APIYI技術チーム
🔗 技術交流: apiyi.com にアクセスして、Nano Banana 2 の完全な導入ガイドを入手してください
📅 更新日: 2026年2月27日