Nano Banana のエラー対処
パラメーターの値は Nano Banana のテキストから画像生成とサイズを参照してください。
症状から探す
400 Request contains an invalid argument
{
"error": {
"code": 400,
"message": "Request contains an invalid argument.",
"status": "INVALID_ARGUMENT"
}
}このエラーは具体的なパラメーターを示しません。実測では、以下のいずれの場合もこのエラーが返りました:
切り分け方:まず imageConfig を外して再試行します。正常に生成されれば原因はアスペクト比か解像度なので、1 項目ずつ戻して特定します。
アスペクト比や解像度が違う
まず出力画像の実際の幅と高さを確認し、次の表と照らし合わせてください:
正しい書き方:
{
"contents": [{ "parts": [{ "text": "..." }] }],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": { "aspectRatio": "9:16", "imageSize": "2K" }
}
}imageConfig / image_config、aspectRatio / aspect_ratio はどちらの書き方も認識されます。実測では image_config: { aspect_ratio: "9:16" } で正しく 768×1376 が出力されました。
レスポンスに画像がない
Cherry Studio や LobeHub などのクライアントで使う場合は、チャットモデルではなく画像生成モデルとして追加してください。
410 model_deprecated
{
"error": {
"message": "Model 'google/gemini-3-pro-image-preview' is deprecated and no longer accepts requests; please switch to an active model",
"type": "model_deprecated",
"code": 410
}
}末尾が -preview の旧 ID は提供を終了しました。正式版の ID に置き換えてください:
ネイティブエンドポイントのパスに含めるモデル ID は、google/ プレフィックスの有無どちらでも、実測で正常に呼び出せました。
編集結果が元画像と無関係
参照画像が読み取られたかの確認方法:ネイティブエンドポイントでは usageMetadata.promptTokensDetails に IMAGE 要素があるかを確認し、OpenAI 互換エンドポイントでは usage.input_tokens_details.image_tokens を確認します。実測では 1024×1024 の参照画像 1 枚で 1,120 トークンでした。
安全ポリシーによるブロック
リクエストが安全ポリシーでブロックされると、レスポンスに画像は含まれず、理由が finishReason または promptFeedback.blockReason に記録されます。各値の意味(Google 公式の定義に基づく):
コードではレスポンスに必ず画像が含まれると想定しないでください。まず candidates が存在するか、finishReason が STOP かを確認してから inlineData を読み取ります。各フィールドの定義は Gemini API · FinishReason を参照してください。
タイムアウト、504、524
API は同期型で、実測では 1K で約 5〜20 秒、4K で約 30 秒かかり、混雑時はさらに長くなります。よくある 60 秒のデフォルトタイムアウトでは足りません。
- クライアントのタイムアウトを 300 秒以上に設定してください。
- Nginx、Vercel、Cloudflare などの中間プロキシのタイムアウト設定を確認してください。これらのデフォルト値は通常 60〜100 秒程度です。
- 4K の PNG は約 16 MB で、レスポンスボディは 20 MB を超えます。プロキシが大きなレスポンスを切り詰めないことを確認してください。
クライアントが途中で接続を切っても、リクエストは課金されます。
その他のエラー
サポートに問い合わせる際は、レスポンスの request_id と完全なエラー情報を添えてください。
よくある質問
Nano Banana で Request contains an invalid argument エラーが出た場合はどうすればよいですか?
このエラーは具体的なパラメーターを示しませんが、多くの場合はアスペクト比または解像度がそのモデルの対応範囲を超えています。たとえば 5:3 は対応していないアスペクト比で、Nano Banana 2 Lite は 1K のみ、Pro には 512 がなく、すべてのモデルで上限は 4K です。まず imageConfig を外して再試行し、1 項目ずつ戻して特定してください。
Nano Banana で aspectRatio を指定したのにアスペクト比が違う場合はどうすればよいですか?
まず imageConfig がリクエストボディの最上位ではなく generationConfig の中にあるかを確認します。次に、モデルがその値に対応しているかを確認します。Pro は 1:4、4:1、1:8、8:1 に非対応で、前世代の Nano Banana は imageSize に非対応です。
Nano Banana のレスポンスに画像が見つからないのはなぜですか?
よくある原因は、コードが parts の先頭要素しか読んでおらず、画像がその後ろにあるケースです。parts を順に走査して inlineData を探してください。もう 1 つの原因はリクエストが安全ポリシーでブロックされたケースで、その場合 finishReason は STOP になりません。
gemini-3-pro-image-preview で 410 model_deprecated が返る場合はどうすればよいですか?
プレビュー版の ID は提供を終了しました。google/gemini-3-pro-image-preview を google/gemini-3-pro-image に、google/gemini-3.1-flash-image-preview を google/gemini-3.1-flash-image に置き換えてください。
Nano Banana で IMAGE_SAFETY が出た場合はどうすればよいですか?
IMAGE_SAFETY は生成された画像が安全ポリシーで違反と判定されたことを示し、そのまま再試行しても結果は変わりません。実在の人物、著作権で保護されたキャラクター、センシティブな内容を避けるようにプロンプトを変更してから再試行してください。
Nano Banana で画像編集するときに参照画像が反映されないのはなぜですか?
input_images は Qwen-Image 用のフィールドで、Gemini は非対応です。/v1/images/edits でファイルをアップロードするか、Gemini ネイティブエンドポイントで画像を inlineData としてテキストと同じ parts に入れてください。