Firebase や Google Cloud を使って Gemini API をアプリに組み込む際、誰もが一度は遭遇する不気味なエラーがあります。
HTTP 429: RESOURCE_EXHAUSTED Check billing and quota settings
Google Cloud のコンソールを開いて確認してみても、
- ✅ クレジットカードは登録されている(
billingEnabled: true) - ✅ API も有効化されている(
generativelanguage.googleapis.com/firebasevertexai.googleapis.com) - ✅ Cloud Logging を見ても明確なクォータオーバーのログがない
「課金も有効だし、まだ数回しか叩いてないのになぜ??」 と頭を抱えることになります。
この記事では、このエラーの本当の原因と、1回で解決する手順を解説します。
結論:原因は「Google AI Studio 側の前払いクレジット不足」
結論から言うと、「Google Cloud 側の Billing 紐づけ」と「Google AI Studio 上の Gemini API 利用プラン」は別で管理されている のが原因です。
AI Studio(Gemini API)の仕様上、新規利用や特定のティア(Tier 1〜2)では 「前払い(Prepay)」制度 が適用されます。
Google Cloud の Billing アカウントがどれだけ正常でも、AI Studio 側でプリペイドクレジットが 0 円になっていると、API リクエストが即座に 429 エラーでブロック されます。
💡 補足 アプリ画面に表示される
Check billing and quota settingsというメッセージは、アプリ側が 429 エラーを一律で一般化した表示にすぎません。Google から「設定を見直せ」と具体的に指定されているわけではないため、ログ追跡で迷子になりがちです。
🛠️ 解決手順(3ステップ)
1. Google AI Studio の Dashboard を開く
- ブラウザで Google AI Studio にアクセスし、Firebase/GCP と同じ Google アカウントでログインします。
- 左側メニューの 「MANAGE」 > 「Dashboard」 をクリックします。
2. 対象プロジェクトをインポートする
- 画面右上の 「☁️ プロジェクトをインポート」 をクリックします。
- 利用中の Firebase プロジェクト(例:
your-project-id)を選択してインポートします。
3. 前払いクレジットを購入(チャージ)する
- インポートしたプロジェクトのステータス欄に 「🔴 クレジットなし」 と表示されているか確認します。
- 「クレジットを購入」 をクリックし、必要な金額をチャージします(※最低チャージ額は約 $10 / 約 2,000 円〜)。
❓ 2,000円もチャージして大丈夫?(従量課金との違い)
「テスト利用したいだけなのに 2,000 円も払うの?」と不安になるかもしれませんが、ご安心ください。
- 一括で 2,000 円が引かれるわけではありません。
- チャージした金額はプール(デポジット)され、API を呼び出した分だけ数銭〜数円単位で引き落とされます。
- 例えば Gemini 1.5 Flash などの軽量モデルの場合、数千文字のやり取りでも 1 回あたり 0.00数円レベル です。
個人開発やテスト利用であれば、最低額の 2,000 円分をチャージしておけばかなり長い期間使い続けることができます。
📊 チェックリスト(ハマった時の振り返り)
| 確認項目 | 状態 | 影響 |
|---|---|---|
| GCP Billing | 有効 | クレジットカード決済の受け皿(必須) |
| AI Studio インポート | 未実施 | AI Studio 側でプロジェクトを認識できない |
| AI Studio ステータス | 🔴 クレジットなし | HTTP 429 エラーで即時遮断(今回の犯人) |
| AI Studio ステータス | 🟢 正常 | API 利用可能(429 解消) |
まとめ
Firebase で AI 機能を開発していて「設定は合っているはずなのに 429 になる」ときは、コードや Logging を掘る前に Google AI Studio の Dashboard を確認しましょう。
「プロジェクトをインポートして少額チャージする」 これだけで一発解決することがほとんどです!