このページでは、Gemini API SDK と Firebase AI Logic SDK の一般的なエラーコードのトラブルシューティングについて説明します。
400 エラー: API key not valid. Please pass a valid API key.
API key not valid. Please pass a valid API key. という 400 エラーが表示された場合は、通常、Firebase 構成ファイル / オブジェクトの API キーが存在しないか、アプリや Firebase プロジェクトで使用するように設定されていないことを意味します。
Firebase 構成ファイル/オブジェクトに記載されている API キーがアプリの API キーと一致していることを確認します。すべての API キーは、Google Cloud コンソールの [API とサービス] > [認証情報] パネルで確認できます。
一致していないことが判明した場合は、新しい Firebase 構成ファイル / オブジェクトを取得し、アプリ内の構成ファイル / オブジェクトを置き換えます。新しい構成ファイル / オブジェクトには、アプリと Firebase プロジェクトの有効な API キーが含まれているはずです。
400 エラー: Service agents are being provisioned ... Service agents are needed to read the Cloud Storage file provided.
Cloud Storage for Firebase URL を使用してマルチモーダル リクエストを送信しようとすると、次の 400 エラーが発生することがあります。
Service agents are being provisioned ... Service agents are needed to read the Cloud Storage file provided.
このエラーは、プロジェクトで Agent Platform API が有効になったときに、必要なサービス エージェントが正しく自動プロビジョニングされなかったことが原因で発生します。これは一部のプロジェクトで発生している既知の問題であり、現在、全体的な修正に取り組んでいます。
プロジェクトを修正し、これらのサービス エージェントを正しくプロビジョニングして、マルチモーダル リクエストに Cloud Storage for Firebase URL を含めることができるようにするための回避策は次のとおりです。プロジェクトのオーナーである必要があります。この一連のタスクは、プロジェクトごとに 1 回だけ完了する必要があります。
gcloud CLI を使用してアクセスと認証を行います。
最も簡単な方法は、Cloud Shell から行うことです。詳しくは、Google Cloud ドキュメントをご覧ください。プロンプトが表示されたら、ターミナルに表示される手順に沿って、Firebase プロジェクトに対して gcloud CLI を実行します。
Firebase プロジェクト ID が必要です。これは、Firebase コンソールの settings [プロジェクトの設定] の上部で確認できます。
次のコマンドを実行して、プロジェクトに必要なサービス エージェントをプロビジョニングします。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpoints -d ''
サービス エージェントがプロビジョニングされるまで数分待ってから、Cloud Storage for Firebase URL を含むマルチモーダル リクエストの送信を再試行します。
数分待ってもこのエラーが解消されない場合は、Firebase サポートにお問い合わせください。
403 エラー: PERMISSION_DENIED: To access this model, you must enforce Firebase App Check. Learn more: https://firebase.google.com/docs/ai-logic/app-check
「To access this model, you must enforce Firebase App Check. Learn more: https://firebase.google.com/docs/ai-logic/app-check」という 403 - PERMISSION_DENIED エラーが表示された場合は、リクエストに有効な App Check トークンがなく、一般的に不正使用されるモデルにアクセスしようとしていることを意味します。
一部の生成モデルは、悪意のあるアクターが不正使用する可能性があることが確認されています。
Firebase AI Logic に App Check が適用されていないため、プロジェクトはこれらのモデルの不正使用に対して脆弱です。デベロッパーを保護するため、Firebase は、リクエストに有効な App Check トークンが含まれていない限り、これらのモデルへのアクセスをブロックします(つまり、Firebase AI Logic に App Check が適用されます)。
エラーを返したモデルにアクセスするには、次の操作を行います。
Firebase AI Logic の App Check を設定します。 ローカル開発では、App Check デバッグ プロバイダを設定してください。
App Check を適用することは、Gemini API モデルと Gemini モデルを不正使用から保護するうえで非常に重要です。このエラーを 解消するには、 を適用する必要があります。
アプリから Firebase AI Logic へのリクエストを再送信します。
このリクエストでは有効な App Check トークンが送信されるため、
403 - PERMISSION_DENIEDエラーは発生しなくなります。アプリをエンドユーザーにリリースする前に、本番環境の証明書プロバイダ(App Attest、Play Integrity、reCAPTCHA Enterprise など)を設定して、App Check が適用されたときにエンドユーザーが AI 機能にアクセスできるようにする必要があります。
403 エラー: PERMISSION_DENIED: Firebase AI Logic has been deactivated in this project. To resume using Firebase AI Logic, you must enforce Firebase App Check. Learn more: https://firebase.google.com/docs/ai-logic/app-check
Firebase AI Logic has been deactivated in this project. To resume using
Firebase AI Logic, you must enforce Firebase App Check. Learn more:
https://firebase.google.com/docs/ai-logic/app-check という 403 - PERMISSION_DENIED エラーが表示された場合は、Firebase プロジェクトが非アクティブと判断され、Firebase AI Logic に App Check が適用されていません。
「非アクティブなプロジェクト」とは、Firebase AI Logic が有効になっているものの、最近 Firebase AI Logic が使用されていないプロジェクトのことです。
Firebase AI Logic に App Check が適用されていないため、プロジェクトは Gemini API の不正使用に対して脆弱です。プロジェクトを保護するため、Firebase では Firebase AI Logic の App Check を適用するまで Firebase AI Logic の使用を無効にしています。
Firebase AI Logic の使用を再開する準備ができたら、次の操作を行います。
Firebase AI Logic の App Check を設定します。 ローカル開発では、App Check デバッグ プロバイダを設定してください。
App Check を適用することは、Gemini API モデルと Gemini モデルを不正使用から保護するうえで非常に重要です。このエラーを 解消するには、 を適用する必要があります。
アプリから Firebase AI Logic へのリクエストを再送信します。
このリクエストでは有効な App Check トークンが送信されるため、
403 - PERMISSION_DENIEDエラーは発生しなくなります。アプリをエンドユーザーにリリースする前に、本番環境の証明書プロバイダ(App Attest、Play Integrity、reCAPTCHA Enterprise など)を設定して、App Check が適用されたときにエンドユーザーが AI 機能にアクセスできるようにする必要があります。
403 エラー: PERMISSION_DENIED: The caller does not have permission.
PERMISSION_DENIED: The caller does not have permission. という 403 エラーが表示された場合は、通常、Firebase 構成ファイル/オブジェクトの API キーが別の Firebase プロジェクトに属していることを意味します。
Firebase 構成ファイル/オブジェクトに記載されている API キーがアプリの API キーと一致していることを確認します。すべての API キーは、Google Cloud コンソールの [API とサービス] > [認証情報] パネルで確認できます。
一致していないことが判明した場合は、新しい Firebase 構成ファイル / オブジェクトを取得し、アプリ内の構成ファイル / オブジェクトを置き換えます。新しい構成ファイル / オブジェクトには、アプリと Firebase プロジェクトの有効な API キーが含まれているはずです。
403 エラー: Requests to this API firebasevertexai.googleapis.com ... are blocked.
Requests to this API firebasevertexai.googleapis.com ... are blocked. という 403 エラーが表示された場合は、通常、アプリの Firebase 構成の API キーに、必要な API の呼び出しを妨げる制限があることを意味します。
この問題を解決するには、Google Cloud コンソールで API キーの制限を更新して、必要な API を含める必要があります。Firebase AI Logic の場合は、Firebase AI Logic API(firebasevertexai.googleapis.com)が、API キーを使用して呼び出すことができる選択された API のリストに含まれていることを確認する必要があります。
手順は次のとおりです。
Google Cloud コンソールで、[API とサービス] > [認証情報] パネルを開きます。
アプリケーションが使用するように構成されている API キー(iOS アプリの「iOS キー」など)を選択します。
[API キーを編集] ページで、[API の制限] セクションを見つけます。
[キーを制限] オプションが選択されていることを確認します。制限がない場合は、キーに制限がないため、エラーの原因ではない可能性があります。
[選択した API] プルダウン メニューで、Firebase AI Logic API を検索して選択し、API キーを使用して呼び出すことができる選択した API のリストに追加します。
[保存] をクリックします。
変更が有効になるまで 5 分ほどかかることがあります。
404 エラー: Firebase AI Logic genai config not found
Firebase AI Logic genai config not found という 404 エラーが表示された場合は、通常、Firebase AI Logic の設定が誤っているか、設定がありません。
このエラーの最も可能性の高い原因は次のとおりです。
Gemini API プロバイダの Firebase プロジェクトをまだ設定していません。
操作手順:
Firebase コンソールで、[AI サービス] > [AI ロジック] に移動します。[開始] をクリックし、選択した Gemini API プロバイダを選択します。API を有効にすると、Firebase がそのプロバイダ用にプロジェクトを設定します。ワークフローが完了したら、リクエストをもう一度お試しください。Firebase コンソールで Firebase AI Logic の設定ワークフローを最近完了した場合は、Firebase AI Logic の構成が、該当するすべてのリージョンで必要なすべてのバックエンド サービスでまだ利用できない可能性があります。
対処方法:
数分待ってから、もう一度リクエストしてみてください。
404 エラー: モデル「was not found or your project does not have access to it」?
例: "Publisher Model projects/PROJECT-ID/locations/us-central1/publishers/google/models/gemini-3.1-pro-preview was not found or your project does not have access to it. Please ensure you are using a valid model version."
このようなエラーが発生する原因はいくつかあります。
モデル名が無効です
原因: 指定したモデル名が無効なモデル名です。
解決策: モデル名とモデル バージョンを、サポートされている利用可能なすべてのモデルのリストと照らし合わせます。モデル名でセグメントとその順序を確認してください。例:
- 最新の Gemini 3.x Pro モデル名:
gemini-3.1-pro-preview(プレビュー版でのみ使用可能) - 最新の Gemini 3.x Flash
モデル名:
gemini-3.7-flash - 最新の Gemini 3.x Flash‑Lite
モデル名:
gemini-3.5-flash-lite - 最新の Gemini 3.x Pro Image(別名「Nano Banana Pro」)
モデル名:
gemini-3-pro-image - 最新の Gemini 3.x Flash Image(別名「Nano Banana 2」)
モデル名:
gemini-3.1-flash-image - 最新の Gemini 3.x Flash‑Lite Image(別名「Nano Banana 2 Lite」)
モデル名:
gemini-3.1-flash-lite-image - 最新の Gemini 2.5 Flash Image(別名「Nano Banana」)
モデル名:
gemini-2.5-flash-image
- 最新の Gemini 3.x Pro モデル名:
無効な場所 (Agent Platform Gemini API (formerly Vertex AI) プロバイダを使用している場合にのみ適用)
原因: リクエストが、モデルが利用できないロケーションのモデルにアクセスしようとしている可能性があります。
修正: リクエストが、モデルが利用可能な場所でモデルにアクセスしようとしていることを確認します。
Agent Platform Gemini API (formerly Vertex AI) を使用する場合は、初期化中にモデルにアクセスするロケーションを指定することもできます。ロケーションを指定しない場合、Firebase AI Logic はデフォルトで次のロケーションになります。
- 「Agent Platform」の初期化構文を使用する場合:
global - 以前の「Vertex AI」初期化構文を使用する場合:
us-central1
ただし、これらのデフォルトのロケーションですべてのモデルがサポートされているわけではありません。つまり、モデルによっては、初期化時に特定のロケーションを明示的に設定する必要がある場合があります。
Gemini プレビュー版モデルと試験運用版モデル:
globalロケーションでのみ使用できます。Gemini 3.x 安定版モデル:
globalロケーションで利用できます。また、usロケーションとeuロケーションでも利用できる場合があります。Gemini 2.5 モデル: 多くの地域で利用可能。Gemini Live API 2.5 モデルは
globalでは使用できません。
- 「Agent Platform」の初期化構文を使用する場合:
モデルにアクセスする場所を指定する方法(コード スニペットを含む)について学習する。
429 エラー: "You exceeded your current quota, please check your plan and billing details" または "Resource exhausted, please try again later."
このようなエラーが発生する原因はいくつかあります。
割り当てを超えているか、アクセスしているモデルが他のユーザーからのリクエストで過負荷状態になっています。
実行するアクションは、Gemini Developer API と Agent Platform Gemini API (formerly Vertex AI) のどちらを使用しているかによって異なります。割り当てと追加の割り当てをリクエストする方法については、レートの上限と割り当てをご覧ください。
Agent Platform Gemini API (formerly Vertex AI) を使用している場合は、Google Cloud のドキュメントに、エラーコード 429 に関する追加のコンテキストとガイダンスが記載されています。
課金が必要なモデルまたは機能を使用しようとしていますが、Firebase プロジェクトが Spark お支払いプランになっています。
Gemini Developer API を使用している場合は、Gemini Developer API の「無料枠」で、特定のモデルへの限定的なアクセスと、多くの基本機能へのアクセスを利用できます。この階層では、お支払い方法を指定しなくても利用を開始できます。つまり、Firebase プロジェクトを従量課金制の Blaze のお支払いプランにアップグレードする必要はありません。
一部のモデルは Gemini Developer API の「無料枠」では使用できず、「有料枠」が必要です。つまり、プロジェクトが従量課金制の Blaze のお支払いプランに登録されている必要があります。たとえば、次のモデルではほとんどの場合、課金が必要です。
- ほとんどのプレビュー モデルと試験運用版モデル
- 画像生成モデル(「Nano Banana」モデル)
一部のモデルでは、Gemini Developer API「無料枠」で基本的な機能が提供されますが、より上級者向け機能を使用するには「有料枠」が必要です。例:
- ほとんどの Gemini 3.x モデルを使用する場合、
Google Search またはGoogle Maps によるグラウンディングには課金が必要です。
- ほとんどの Gemini 3.x モデルを使用する場合、
Firebase の料金プランと Gemini Developer API について学習します。
詳細については、Gemini Developer API 料金に関するドキュメントと お支払いとご請求に関するよくある質問をご覧ください。