はじめに
個人開発で生成AI(特にマルチモーダルLLMである Gemini API)を活用したアプリを作っているのですが、個人開発者にとってAPIの「無料枠」は非常に強力な武器になります。
しかし、2026年現在のGemini APIの無料枠はさほど大きくないため、連続で処理を実行すると、APIの「レートリミット(制限)」の壁にぶつかってしまいます。
本記事では、無料枠の制限内でGemini APIを最大限活用するために有効な「フォールバック戦略」について解説します。
1. 誤解しがちな「レートリミット」の仕様:モデルごとに判定される
ネット上の少し古い記事では「Gemini APIの無料枠レートリミットは、全モデル共通でカウントされる」と書かれていることがありますが、少なくとも2025年12月以降、Gemini APIのレートリミットは「モデルごとに判定」されています。
無料枠における主な制限は以下の3軸で評価されます。
- RPM(1分あたりのリクエスト数)
- TPM(1分あたりの入力トークン数)
- RPD(1日あたりのリクエスト数)
特に無料枠はRPMの上限が1分間に数回程度と非常に厳しく設定されているモデルも多く、普通に使っているだけでリミットに到達してしまいます。
しかし、これらがモデルごとに独立してカウントされるということは、つまり「あるモデルで制限に引っかかっても、別のモデルならまだ叩ける」ということです。
Google AI Studioからご自身のプロジェクトの有効なレート上限や利用実績が確認できるため、まずは実際のRPMやTPMの消費傾向を把握し、用途に合わせて適切なモデルを選択する設計が重要になります。
2. エラーコード429をキャッチする「フォールバック戦略」
上記を踏まえ、無料枠の制限内でGemini APIを最大限使い切るために有効なのが、複数モデルを切り替えるフォールバック処理です。
個人開発している『Zaim Lens』という家計簿の入力補助アプリ(複雑なレシートでもAIで高精度に読み取る非公式ツール)を開発したのですが、ユーザー自身のAPIキーを入力して使ってもらう形式(BYOK)のため、無料枠の厳しい制限(低RPM)との戦いになります。
その安定稼働のために具体的には以下のような実装をしています。
まず、第一希望のモデル(例: gemini-3-flash 等)でAPIリクエストを投げます。もし無料枠の制限に達していて 429 Too Many Requests (レートリミット超過エラー)が返ってきた場合、そのままアプリをエラー画面にするのではなく、即座に第二希望のモデル(例: gemini-2.5-flash-lite など)にリクエスト先を切り替えてリトライ(フォールバック)させます。
# 実装のイメージ(Python / FastAPIの例)
models_to_try = [
"gemini-3-flash", # プレビュー版などの特定のバージョンを指定してもOK
"gemini-2.5-flash-lite",
"gemini-flash-latest"
]
for model_name in models_to_try:
try:
# 指定モデルでGemini APIを呼び出す処理
response = call_gemini_api(model_name, image_data)
return response
except RateLimitExceededError: # 429エラーをキャッチ
logger.warning(f"{model_name} のレートリミット超過。次のモデルにフォールバックします。")
continue
except Exception as e:
# その他のエラーも適切に処理
continue
raise Exception("すべてのモデルでレートリミットに達しました。しばらく待ってからお試しください。")
この「エラーを見てから別のモデルに切り替える」というアプローチを挟むだけで、ユーザーから見たアプリの可用性は飛躍的に向上します。
3. latest 指定で「突然のモデル廃止」にも備える
Geminiは現在猛烈なスピードで進化しており、プレビュー版や試験運用版のモデルは比較的早いサイクルで非推奨・廃止されます。
昨日まで動いていたアプリが、モデルの廃止により突然エラーを吐いて止まってしまうのは、開発者にとって大きなリスクとなります。
そこで、先ほど提示したフォールバックのリストの末尾に注目してください。
"gemini-flash-latest"
Gemini APIには、特定のモデルバリエーションの最新リリースを常に指し示す latest というエイリアスが用意されています。
フォールバックの最後の砦としてこの latest 指定のモデルを含めておくことで、仮に上位で指定していた特定のプレビューモデルが突然廃止されても、自動的に最新のモデルで処理が継続されるようになります。人間がコードを書き換えるまでアプリが完全に停止してしまう事態を避けられる、リスクヘッジのテクニックです。
4. おわりに
Gemini APIの無料枠がいつまでも続く保証はありませんが、利用できるうちはこのフォールバック戦略を活用して、システムの堅牢性とユーザー体験を担保しておくのがおすすめです。
皆さんの参考になれば幸いです。
参考リンク
- Gemini API レート制限について(公式)
- Gemini API モデル一覧(公式)
- 個人開発したアプリ:Zaim Lens(※非公式ツール)
- 使い方など、機能紹介: note