中野智文のブログ

データ・マエショリストのメモ

Firebase × Gemini API の落とし穴:「Cloud Billing は有効なのに 429 エラー」の正体と解決法

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 を開く

  1. ブラウザで Google AI Studio にアクセスし、Firebase/GCP と同じ Google アカウントでログインします。
  2. 左側メニューの 「MANAGE」 > 「Dashboard」 をクリックします。

2. 対象プロジェクトをインポートする

  1. 画面右上の 「☁️ プロジェクトをインポート」 をクリックします。
  2. 利用中の Firebase プロジェクト(例: your-project-id)を選択してインポートします。

3. 前払いクレジットを購入(チャージ)する

  1. インポートしたプロジェクトのステータス欄に 「🔴 クレジットなし」 と表示されているか確認します。
  2. 「クレジットを購入」 をクリックし、必要な金額をチャージします(※最低チャージ額は約 $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 を確認しましょう。

「プロジェクトをインポートして少額チャージする」 これだけで一発解決することがほとんどです!