Gemini APIとは
Googleの「Gemini API」は、最先端のマルチモーダルAIモデルであるGeminiを、独自のアプリケーションやWebサービスに統合するための開発者向けAPIです。テキスト生成だけでなく、画像、音声、動画、コードなどの多様な入力を高度に処理できる点が特徴です。
個人開発からエンタープライズ向けのシステム構築まで幅広く活用されていますが、APIを安定して運用するためには、Googleが設けている「レートリミット(利用制限)」の仕組みを正しく理解することが不可欠です。
API制限を理解する最重要用語:RPM・TPM・RPDとは?
Gemini APIの利用料金プラン(無料枠および従量課金制)やシステム設計において、以下の3つの単位が頻繁に登場します。これらはAPIの過剰な呼び出しを防ぎ、サービスの公平な利用を担保するために設定されています。
1. RPM (Requests Per Minute)
RPMは「Requests Per Minute」の略で、「1分間あたりに実行できるAPIリクエストの最大回数」を指します。例えば、無料枠のGemini 1.5 Flashで「15 RPM」と設定されている場合、1分間に15回までしかAPIを呼び出すことができません。これを1秒あたりに換算すると4秒に1回のペースとなるため、短時間に連続してリクエストを送ると、即座に制限に達しエラーが発生します。
2. TPM (Tokens Per Minute)
TPMは「Tokens Per Minute」の略で、「1分間あたりに処理できるトークンの最大数」を表します。トークンとは、AIがテキストを処理する際の最小単位(単語や文字の構成要素)です。リクエスト回数(RPM)が上限以下であっても、1回あたりのプロンプトが非常に長文であったり、AIからの出力が膨大であったりする場合、このTPMの制限に引っかかることがあります。
3. RPD (Requests Per Day)
RPDは「Requests Per Day」の略で、「1日(24時間)あたりに実行できるAPIリクエストの最大回数」を指します。主に無料枠(Free Tier)における1日の合計利用上限として設定されており、これを超えると翌日までAPIの利用ができなくなります。
Gemini APIの基本的な呼び出し方法
Pythonを使用してGemini API(Google GenAI SDK)を呼び出す基本的なコード例は以下の通りです。APIキーは事前にGoogle AI Studioで取得しておく必要があります。
import os
from google import genai
# APIクライアントの初期化(環境変数 GEMINI_API_KEY が自動で参照されます)
client = genai.Client()
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="Gemini APIのRPM制限を回避するためのベストプラクティスを3つ教えてください。",
)
print(response.text)レートリミット(429 Too Many Requests)への対策
APIの制限値(RPMやTPM)を超えると、ステータスコード 429 Too Many Requests エラーが返されます。本番環境でこのエラーによるサービス停止を防ぐためには、以下の対策を実装することが推奨されます。
- エクスポネンシャル・バックオフ(指数バックオフ): エラーを検知した際、再試行までの待機時間を「1秒、2秒、4秒、8秒...」のように段階的に増やしていくアルゴリズムです。これにより、APIサーバーへの負荷集中を避けつつ自動復旧を図れます。
- セマンティックキャッシュの利用: 過去に送信された類似の質問と回答のペアをデータベース(Redisなど)にキャッシュしておくことで、同一のリクエストに対してAPIを再度呼び出す必要性を減らし、RPMを節約します。
- キューイングとレートリミッターの実装: アプリケーション側にキュー(Queue)を導入し、APIへのリクエスト送信ペースをプログラムで能動的に「最大毎秒○回」のように制御します。
まとめ
Gemini APIは強力なAI処理能力を提供しますが、そのポテンシャルを最大限に活かすためにはRPMやTPM、RPDといった制限値を考慮した設計が不可欠です。構築するアプリケーションの規模に応じて、適切なプランを選択し、エラーハンドリングを強固に実装しましょう。