メインコンテンツへスキップ

Gemini画像生成の429レート制限:毎分・日次・支出上限の見分け方

Gemini画像生成の429は、毎分の上限なら指数バックオフ、日次上限なら太平洋時間0時のリセット待ち、無料枠なら課金設定で解消します。上限はプロジェクト単位です。

LaoZhang AI Team公開更新 25 分で読めます
目次
Gemini画像生成の429

Gemini APIで画像を生成して429 RESOURCE_EXHAUSTEDが返るのは、リクエストを送ったプロジェクトのいずれかの上限に達したときです。直し方は上限の種類で決まります。毎分の上限なら指数バックオフで数十秒から1分ほど待てば通り、日次の上限なら太平洋時間0時のリセットを待つか増枠を申請します。無料枠のプロジェクトから画像モデルを呼んでいる場合は、画像出力に無料枠がないため、待っても再試行しても通りません。

対象は2026年10月5日時点で提供中の画像モデル、Nano Banana 2 Lite(gemini-3.1-flash-lite-image)、Nano Banana 2(gemini-3.1-flash-image)、Nano Banana Pro(gemini-3-pro-image)です。旧プレビュー版のIDは2026年6月25日に、gemini-2.5-flash-imageは2026年10月2日に提供が終了しています。これらのIDで失敗している場合は、上限ではなくモデル名から見直してください。

Gemini画像生成の429は5種類:症状から当たった上限を見分ける

まず、失敗の出方とエラー本文から、どの上限に当たったかを決めます。再試行してよいのは毎分の上限と支出ベースの上限だけです。

失敗の出方・手がかり当たった上限最初の対処自動再試行
連続して送った直後に失敗し、1分ほどで通る毎分の上限(RPM・IPM)指数バックオフとジッター、送信の間隔をならすする
ある時刻から失敗が続き、翌日には通る1日の上限(RPD)太平洋時間0時のリセットを待つ、または増枠申請しない
Proの4Kなど高いリクエストをまとめて送った直後に失敗する支出ベースの10分上限少し待って再試行し、10分あたりの送信額を下げる短い待機のあとにする
最初の1枚から失敗し、本文にfree_tierやlimit: 0がある無料枠のプロジェクトで画像モデルを呼んだ課金を設定してTier 1にするしない
手元では通るのにサーバーやジョブだけ失敗する別のプロジェクトのキーを使っている失敗した環境のキーの所属プロジェクトを確認しない

generateContentでは、どの上限でもHTTP 429とRESOURCE_EXHAUSTEDが返るので、区別の手がかりはエラーのmessageとdetailsに書かれた上限名です。Interactions APIでは、GoogleのAPIエラー一覧にあるとおり、毎分・毎秒の上限がrate_limit_exceeded、1日の上限がquota_exceeded、短時間の送りすぎがtoo_many_requestsと、コード自体が分かれています。同じプロジェクト・同じモデルの使用量と上限は、AI Studioのレート制限ページで照合できます。

429に似ていても、別の対処が必要なコードがあります。402はPrepayの残高がなくなった状態で、Googleは再試行しないよう案内しています。403は権限、404はモデル名の問題です。503は混雑による一時的な失敗なので、Nano Banana Proの503への対処やGeminiのhigh demandエラーの切り分けを参照してください。429以外も含めたコード別の対処は、Gemini画像生成のエラーをコード別に直す方法を参照してください。

Gemini画像生成の429を上限の種類で切り分ける図

毎分の上限(RPM・IPM):指数バックオフとSDKの再試行設定

Googleのレート制限の説明によると、上限は通常、1分あたりのリクエスト数(RPM)、1分あたりの入力トークン数(TPM)、1日あたりのリクエスト数(RPD)で測られ、画像を生成できるモデルには1分あたりの画像数(IPM)も加わります。どれか1つでも超えると429になります。たとえばRPMが20なら、1分間に21件目を送った時点で、TPMに余裕があってもエラーです。

現行の画像モデルの具体的な数値は公開ページに載っていません。プロジェクトの利用ティアやアカウントの状態で変わるため、AI Studioのレート制限ページに表示される値がそのプロジェクトの上限です。

再試行の方法は、Googleのトラブルシューティング ガイドが示すとおりです。

  • 最初は1秒ほど待ち、2秒、4秒、8秒と待ち時間を倍にしていく
  • 待ち時間にランダムなずれ(ジッター)を足し、複数のワーカーが同時に再送しないようにする
  • 再試行の上限回数を決める
  • 再試行するのは429、408、5xxだけにして、400・402・403は再試行しない

同じガイドは、Python SDKが一時的なエラーを既定で最大4回、初回約1秒・最大60秒の間隔で自動再試行すると書いています。ただしgoogle-genai 2.28.0では、既定のgenai.Client()は429を受けると1回のリクエストで例外を返します(client.models.generate_contentの場合。同じバージョンのclient.interactions.createは既定で429を自動再試行し、約3秒で4回送りました)。再試行させるには、HttpRetryOptionsを明示的に有効にする必要があります。

python
from google import genai
from google.genai import errors, types

# 再試行を明示的に有効にする(最初の1回+再試行4回、初回約1秒・最大60秒、ジッターあり)
client = genai.Client(
    http_options=types.HttpOptions(
        retry_options=types.HttpRetryOptions(
            attempts=5,
            initial_delay=1.0,
            max_delay=60.0,
            http_status_codes=[408, 429, 500, 502, 503, 504],
        )
    )
)

try:
    response = client.models.generate_content(
        model="gemini-3.1-flash-image",
        contents="朝の港町を描いた水彩画",
        config=types.GenerateContentConfig(response_modalities=["TEXT", "IMAGE"]),
    )
except errors.APIError as e:
    if e.code == 429:
        # 再試行を使い切っても429なら、本文の上限名を記録して原因を切り分ける
        print("429:", e.message)
    raise

この設定で429が続いた場合、4回の待ち時間は1秒+2秒+4秒+8秒=15秒に、各回0〜1秒のジッターが加わって合計15〜19秒です。1分単位の上限がまだ戻っていないこともあるので、失敗したジョブは1分以上空けてから再投入してください。それでも失敗するなら、日次上限・支出上限・無料枠のどれかを疑います。

REST APIを直接呼ぶ場合は、n回目の再試行の前に「min(60, 2のn乗)秒+0〜1秒のランダム値」だけ待つ、という同じ考え方で実装できます。ワーカーを増やして並列に送るほどIPMに早く当たるので、同時に生成する枚数の上限をアプリ側で決めておくと、429そのものが減ります。

同じプロジェクトでAPIキーを増やしても上限は増えません。上限はキーごとではなく、プロジェクトごとに適用されるためです。

1日の上限(RPD)は太平洋時間0時にリセット:日本時間では16時か17時

1日の上限に当たった429は、リセットまで何度送っても通りません。自動再試行を止め、残りのジョブを保存してリセット後に再開します。

RPDは太平洋時間の0時にリセットされます。日本時間に直すと、米国の夏時間(2026年は11月1日まで)は16時、それ以外の期間は17時です。毎日この時刻を境に失敗が始まる、または止まるなら、日次上限と判断できます。

日常的に足りない場合は、上位のティアに上がるか、Googleのレート制限ページから増枠を申請します。Googleは申請の承認を保証していません。

支出ベースの10分上限:Tier 1は$10、Proの1K・2Kなら約74枚

リクエスト数とは別に、Gemini APIには予期しない請求を防ぐための支出ベースの上限があります。直近10分間の支出額で判定され、超えると429 RESOURCE_EXHAUSTEDが返ります。この上限が適用されるかどうかは、請求の履歴とアカウントの状態によって変わり、すべてのアカウントにかかるわけではありません。

上限額はTier 1が$10、Tier 2が$50、Tier 3が$200(10分あたり)で、無料枠には設定がありません。画像出力の料金だけで計算すると、10分間に生成できる枚数の目安は次のとおりです。

ティア(10分の上限)Pro 1K・2K($0.1344)Pro 4K($0.24)Nano Banana 2 1K($0.0672)Nano Banana 2 Lite 1K($0.0336)
Tier 1($10)74枚41枚148枚297枚
Tier 2($50)372枚208枚744枚1,488枚
Tier 3($200)1,488枚833枚2,976枚5,952枚

1枚の単価は、2026年10月4日時点のGoogleの料金表にある画像トークン数と単価から計算しています。

  • Pro 1K・2K:1,120トークン×$120/100万トークン=$0.1344(料金表の表示は$0.134)
  • Pro 4K:2,000トークン×$120/100万トークン=$0.24
  • Nano Banana 2 1K:1,120トークン×$60/100万トークン=$0.0672(表示は$0.067)
  • Nano Banana 2 Lite 1K:1,120トークン×$30/100万トークン=$0.0336

枚数は上限額÷単価の小数点以下を切り捨てた値です。Tier 1の例では、$10÷$0.1344=74.4で74枚、$10÷$0.24=41.7で41枚、$10÷$0.0672=148.8で148枚、$10÷$0.0336=297.6で297枚になります。Tier 1でProの1K・2Kを使う場合、1分あたりにならすと約7枚(74÷10=7.4)です。

これは画像出力だけの計算です。入力トークン、テキスト出力、Proでは既定で有効な思考(Thinking)のトークンも課金されるため、実際の枚数はこれより少なくなります。

Googleが示す対処は、少し待ってから再試行すること、高いリクエストの送信ペースを落とすこと、通常の利用で何度も当たるなら増枠を申請することの3つです。画像の場合は、同じ10分に4Kをまとめて送らない、試作はNano Banana 2やLiteで行う、急がない分は後述のBatch APIに回す、といった方法で送信額をならせます。

無料枠のプロジェクトでは画像を生成できない:limit 0は待っても直らない

2026年10月4日時点のGoogleの料金表では、現行のすべてのGemini画像モデルで、無料枠の画像出力は「Not available」です。無料枠のプロジェクトから画像モデルを呼ぶと割り当てがないため429になり、開発者の報告ではエラー本文にfree_tier_requestsとlimit: 0が含まれることがあります。上限が0なので、バックオフや日次リセットを待っても通りません。

解決するには、AI Studioでプロジェクトに有効な請求先アカウントをリンクし、Tier 1にします。無料枠からTier 1への切り替えは通常すぐに反映されます。2026年3月23日以降の新規利用者は既定でPrepay(前払い)になり、最低$5の入金が必要です。残高が$0になると、429ではなく402が返ります。Google Cloudの$300無料トライアルのクレジットは、Gemini APIとAI Studioの料金には使えません。

最低入金額の$5で生成できる枚数を同じ単価で計算すると、Nano Banana 2 Liteが148枚($5÷$0.0336=148.8)、Nano Banana 2の1Kが74枚($5÷$0.0672=74.4)、Proの1K・2Kが37枚($5÷$0.1344=37.2)です。入力と思考のトークンは含めていません。

請求先を設定したのにlimit: 0が続く場合は、キー・プロジェクト・Prepayの状態のどこが食い違っているかを順に照合します。照合の手順はGemini APIが有料なのにfree_tier_requests・limit 0になるときの対処にあります。

別のプロジェクトのキーを使っている:上限と課金はプロジェクト単位

上限はプロジェクトに適用され、キーは所属するプロジェクトの利用ティアと請求状態を引き継ぎます。有料のプロジェクトを用意しても、実際に動いているプログラムが無料枠のプロジェクトのキーを読んでいれば、そのリクエストは無料枠として扱われます。

手元の端末では通るのに、サーバー、CI、定期ジョブだけが429になる場合は、まずこの食い違いを疑います。失敗した環境で実際に読み込まれているキーを確かめ、AI StudioのAPIキー一覧でその所属プロジェクトを、プロジェクト一覧で同じプロジェクトのティアを確認してください。

利用ティアの条件:Tier 2は$100の支払いと3日、Tier 3は$1,000と30日

利用ティアは、支払い実績に応じて自動で上がります。Tier 2とTier 3の条件は、プロジェクトにリンクした請求先アカウントでのGoogle Cloud全体の累計支払額(Gemini API以外も含む)で判定されます。

ティア条件請求額の上限10分の支出上限
無料枠有効なプロジェクト、または無料トライアルなしなし
Tier 1有効な請求先アカウントをリンク$250$10
Tier 2支払額$100以上、かつ最初の支払い成功から3日$2,000$50
Tier 3支払額$1,000以上、かつ最初の支払い成功から30日$20,000〜$100,000以上$200

条件の出典は、Googleのレート制限の説明(2026年9月2日更新)です。

  • 無料枠からTier 1への移行は通常すぐに、それ以降のティアは条件を満たしてから10分以内に反映されます。現在のティアはAI Studioのプロジェクト一覧で確認できます。
  • 条件を満たしていても、まれに審査で昇格が見送られることがあります。
  • 優先処理(Priority)には独自の上限があり、既定では各モデル・各ティアの標準の上限の0.3倍です。優先処理の利用分は、通常のリクエストの上限にも数えられます。

ティアが上がっても、IPMや支出上限がなくなるわけではありません。上限の数値は引き続きAI Studioで確認してください。

急がない画像はBatch APIへ:別枠の上限で料金は半額

すぐに結果が要らない大量生成は、Batch APIに回すとリアルタイムの上限を消費しません。Batch APIのリクエストは通常のAPI呼び出しとは別のレート制限で管理され、料金は通常の50%です。処理時間の目標は24時間ですが、多くの場合はそれより早く終わるとGoogleは説明しています。

2026年10月4日時点のBatchの単価は、Proの1K・2Kが$0.067、4Kが$0.12、Nano Banana 2の1Kが$0.034(正確には$0.0336)です。同時に実行できるバッチリクエストは100件、入力ファイルは2GBまでです。

商品画像の一括生成のように、夜間にまとめて処理できる用途はBatchに移し、ユーザーが待っているリクエストだけをリアルタイムの上限で処理すると、429の発生と費用の両方を抑えられます。請求額の計算方法と4Kでの比較はNano Banana Pro Batch API料金:請求額の計算式と4Kの損益分岐にあります。

429の対策を選ぶ順番:再試行・待機・課金設定・Batch

429への対処を待機・課金設定・Batch・増枠に分けた比較図

上の診断表で上限の種類を決めたら、次の順に対策を当てます。

  1. 本文にfree_tierやlimit: 0があれば、再試行を止めて請求先とキーの所属プロジェクトを直します。
  2. 1分ほどで通る失敗には、HttpRetryOptionsによる再試行か自前の指数バックオフを入れ、同時生成数を絞ります。
  3. 毎日決まった時刻まで通らないなら、ジョブを保存して日本時間16時(冬時間は17時)のリセットを待ちます。
  4. 高い画像をまとめて送った直後の失敗は、10分あたりの送信額をならし、急がない分をBatch APIに回します。
  5. 通常の利用で上限が足りなければ、上位ティアの条件を満たすか増枠を申請します。

Googleのティアの昇格を待てない場合は、Googleとは別契約の有料ゲートウェイを使う方法もあります。たとえばLaoZhang APIの2026年9月24日時点の公開価格は、gemini-3-pro-imageが1K・2K・4Kとも1回$0.09、gemini-3.1-flash-imageが1回$0.055です。Proの4Kは通常料金の$0.24より安くなりますが、Proの1K・2KではBatchの$0.067のほうが安価です。画像が返らなかったHTTP 200も1回分として課金されます。リクエストはGoogleのモデルに転送されるので、Googleの安全フィルターはそのまま適用され、利用条件はゲートウェイとの契約に従います。

注記:laozhang.ai は当ブログ運営チームの自社サービスです。その料金は中立的な比較ではなく、自社の提示価格です。

レート制限全体の仕組みはGemini APIのレート制限の切り分け、Nano Banana Proの429で生成済みの画像を失わずにジョブを再開する方法はNano Banana ProのRESOURCE_EXHAUSTEDの対処、モデルの呼び出し方と料金はGemini画像生成APIの使い方を参照してください。

Vertex AIの429は共有容量の不足:対処はGemini APIと別

Google CloudのVertex AI(ドキュメント上の現在の名称はGemini Enterprise Agent Platform)で出る429は、Gemini APIのティアとは別の仕組みです。従量課金制ではResource exhausted, please try again later.というメッセージで、リクエスト数が割り当てられた容量を超えたことを示します。Googleのエラーコード429の説明が挙げる対処は、リージョンではなくグローバル エンドポイントを使う、切り捨て型指数バックオフで再試行する、割り当てを使うモデルなら割り当て増加をリクエストする、トラフィックを徐々に増やして急なスパイクを避ける、安定したサービスレベルが必要ならプロビジョンド スループットを契約する、の5つです。プロビジョンド スループットの購入量を超えた場合はToo many requests. Exceeded the Provisioned Throughput.が返ります。

よくある質問

Geminiの429エラーとは何ですか?

Gemini APIのリクエストが、プロジェクトに設定された上限を超えたことを示すエラーです。毎分の上限(RPM・IPM)、1日の上限(RPD)、支出ベースの10分上限、無料枠の割り当てのどれかに当たると、HTTP 429とRESOURCE_EXHAUSTEDが返ります。モデルの混雑による503や、Prepayの残高切れによる402とは別のエラーです。

Geminiの429エラーの解決方法は?

上限の種類で変わります。1分ほどで通るなら指数バックオフとジッターで再試行し、日本時間16時(冬時間は17時)を境に失敗が切り替わるなら日次上限のリセットを待ちます。本文にlimit: 0があれば、プロジェクトに請求先をリンクしてTier 1にします。高い画像をまとめて送った直後なら、10分あたりの送信額をならします。

APIキーを増やせば429は減りますか?

同じプロジェクトでキーを増やしても減りません。上限はキーではなくプロジェクト単位で適用されます。上限を増やす正規の方法は、利用ティアを上げるか、Googleに増枠を申請することです。

参考資料7

本文で参照している外部ページを、登場順に並べています。最終更新日:2026年10月5日。

  1. 1.APIエラー一覧ai.google.dev/gemini-api/docs/api-errors
  2. 2.レート制限ページaistudio.google.com/rate-limit
  3. 3.レート制限の説明ai.google.dev/gemini-api/docs/rate-limits
  4. 4.トラブルシューティング ガイドai.google.dev/gemini-api/docs/troubleshooting
  5. 5.APIキー一覧aistudio.google.com/api-keys
  6. 6.プロジェクト一覧aistudio.google.com/projects
  7. 7.エラーコード429の説明docs.cloud.google.com/gemini-enterprise-agent-platform/models/deploy/error-code-429
Nano Banana Proの429エラーから待機・停止を選び、保存済み画像を保持する処理の概念図
トラブルシューティング

Nano Banana ProのRESOURCE_EXHAUSTEDの対処:再試行と画像ジョブの再開

Nano Banana ProでRESOURCE_EXHAUSTEDが出たら、まずエラー本文が示す上限と指標を確認します。上限0や日次枠なら再試行を止め、一時的な制限なら指定された待機時間と累計予算を守ります。画像を保存してから完了を記録すると、確認済みジョブを再生成せずに再開できます。

20 分
Nano Banana APIで画像が返らないときに見るfinishReasonとstatus・steps、再送では直らないポリシー停止と停止済みIDをまとめた図
トラブルシューティング

Nano Banana APIで画像が生成されない原因と対処

HTTP 200でも画像が返らない形はテキストだけ、candidatesが空、NO_IMAGEなどに分かれ、対処も違います。ポリシーのブロックと停止済みIDは再送しても直りません。

24 分
503は上限付き再試行、504は期限に達した層の確認、応答なしは成否不明として既存結果を照合する概念図
トラブルシューティング

Nano Banana Proの503エラー対処:Deadline expired・504の見分け方

Nano Banana ProでDeadline expiredと表示されても、応答が503 UNAVAILABLEなら、まず回数と時間を決めて同じ条件で再試行します。504と応答なしは別に扱い、画像が保存できるまで成功とは判定しません。

23 分
OTHERが返った応答JSONを拡大して確認し、候補と画像データを調べる開発者
トラブルシューティング

Nano Banana 2のblockReason OTHER:意味と空応答の処理方法

Nano Banana 2のblockReason OTHERは、原因が特定されていない入力ブロックを表します。特定のポリシー違反と決めつけず、応答JSONと候補の終了理由を確認し、空の結果を成功扱いしない処理を実装しましょう。

15 分