このページでは、Gemini API SDK と Firebase AI Logic SDK に関するよくある質問(FAQ)とトラブルシューティング情報を紹介します。その他の質問については、Google Cloud ドキュメントの Gemini API に関するよくある質問をご覧ください。
全般的なよくある質問
名前が「Vertex AI in Firebase」から「Firebase AI Logic」に変更されたのはなぜですか?
2024 年に、Vertex AI Gemini API と Firebase プロキシ ゲートウェイを使用して API を不正使用から保護し、他の Firebase プロダクトとの統合を可能にする一連の Firebase クライアント SDK をリリースしました。このプロダクトは「Firebase の Vertex AI」という名前で、このプロダクト名は当時のプロダクトのユースケースを正確に表していました。
それ以降、このプロダクトの機能は拡張されています。たとえば、2025 年 5 月より、Firebase App Check との統合を使用して Gemini Developer API を不正使用から保護する機能など、Gemini Developer API のサポートが提供されるようになりました。
そのため、「Vertex AI in Firebase」という名前は、プロダクトの拡大した範囲を正確に表すものでなくなりました。そのため、新しい名前 Firebase AI Logic は、進化する機能セットをより適切に反映し、今後もサービス拡充を継続できるようにします。
移行ガイドで、Firebase AI Logic の最新機能をすべて利用できるようにしてください(必要に応じて Gemini Developer API の使用を開始してください)。
Gemini Developer API と Vertex AI Gemini API の使用の違いは何ですか?
2 つの「Gemini API」プロバイダの違いは、アクセス方法に関係なく次のとおりです。
-
Gemini Developer API には、従量制の料金とともに「無料の階層」が用意されています。
Firebase AI Logic で使用する場合、Vertex AI Gemini API には常に従量課金制の Blaze 料金プランが必要です。
2 つの API プロバイダの従量制料金は異なります(詳しくは、それぞれのドキュメントをご覧ください)。
-
Gemini Developer API には明示的なレート制限があります。
Vertex AI Gemini API は、そのリージョンでそのモデルを使用するすべてのユーザーが共有する「動的共有割り当て(DSQ)」を使用します。必要に応じて、プロビジョニングされたスループット(PT)を設定することもできます。
-
- モデルにアクセスするロケーションを選択できるのは Vertex AI Gemini API のみです。
次の表に、2 つの「Gemini API」プロバイダでよく質問される機能の提供状況を示します。この表は、特に Firebase AI Logic クライアント SDK を使用する場合に適用されます。
機能 | Gemini Developer API | Vertex AI Gemini API |
---|---|---|
Gemini モデルのサポート | すべての Gemini モデルがサポートされている | すべての Gemini モデルがサポートされている |
Imagen モデルのサポート |
Imagen 3 モデルのサポート
(Unity では未対応) |
Imagen 3 モデルのサポート
(Unity では未対応) |
Veo モデルのサポート | まだサポートされていません | まだサポートされていません |
Gemini モデルを使用した画像生成 | サポート対象 | サポート対象 |
Gemini Live API のサポート | まだサポートされていません |
サポート対象
(Android、Flutter、Unity のみ) |
Firebase App Check との統合 | サポート対象 | サポート対象 |
Firebase Remote Config と互換性があります | サポート対象 | サポート対象 |
Firebase コンソールでの AI モニタリングのサポート | まだサポートされていません | サポート対象 |
Cloud Storage URL のサポート | まだサポートされていません1 |
公開ファイルと Firebase Security Rules で保護されたファイル |
YouTube URL とブラウザ URL のサポート | YouTube の URL のみ | YouTube の URL とブラウザの URL |
1 Gemini Developer API の Files API は、Firebase AI Logic SDK ではサポートされていません。
Gemini Developer API と Vertex AI Gemini API の両方を使用できますか?
はい。Firebase プロジェクトで両方の「Gemini API」プロバイダを有効にできます。また、アプリ自体で両方の API を使用できます。
コード内で API プロバイダを切り替えるには、コードでバックエンド サービスを適切に設定していることを確認します。
必要な API は何ですか?有効にするにはどうすればよいですか?
Gemini API プロバイダを選択してプロバイダ固有のコンテンツを表示する |
Firebase AI Logic SDK を Gemini Developer API で使用するには、プロジェクトで次の 2 つの API を有効にする必要があります。
- Gemini Developer API(
generativelanguage.googleapis.com
人) - Firebase AI Logic API(
firebasevertexai.googleapis.com
)
Firebase コンソールを使用して、次の 2 つの API を有効にする必要があります。
Firebase コンソールで、[Firebase AI Logic] ページに移動します。
[開始] をクリックします。
選択して Gemini Developer API を開始します。
これにより、2 つの API を有効にするガイド付きワークフローが開始されます。また、コンソールによって Gemini API キーが生成され、Firebase AI Logic API が Firebase API キーの許可リストに追加されます。
Firebase AI Logic SDK で使用できるモデル
Firebase AI Logic SDK では、Gemini と Imagen 3 のいずれかの基盤モデル(プレビュー版や試験運用版を含む)を使用できます。これらのモデルの一覧については、サポートされているモデルの詳細をご覧ください。
Firebase AI Logic SDK では、基盤以外の Gemini モデル(PaLM モデル、チューニング済みモデル、Gemma ベースのモデルなど)は使用できません。
また、Firebase AI Logic は古い Imagen モデルや
imagen-3.0-capability-001
もサポートしていません。Gemini Developer API は(アクセス方法に関係なく)
imagen-3.0-fast-generate-001
や古いimagen-3.0-generate-001
をサポートしていません。
SDK には新しい機能が頻繁に追加されますので、最新情報については、このよくある質問(リリースノート、ブログ、ソーシャル投稿も参照)をご確認ください。
モデルが廃止された場合
安定したモデル バージョンをリリースする際は、少なくとも 1 年間使用できるように努めています。この「サポート終了日」は、Firebase と Google Cloud のドキュメントのいくつかの場所([モデル] ページなど)に記載されています。
モデルが廃止されると、そのモデルに対するすべてのリクエストは 404 エラーで失敗します。そのため、新しいバージョンのアプリをリリースすることなく、アプリ内のモデルとバージョンを動的に変更できるように、Firebase Remote Config を設定して使用することを強くおすすめします。
新しいモデル バージョンを使用するようにアプリを更新する場合は、アプリをテストして、レスポンスが想定どおりであることを確認することをおすすめします。Firebase AI Logic を使用する場合、実際にモデルを呼び出すコードを変更する必要は通常ありません。
各モデルのサポート終了日は次のとおりです。
Gemini 1.5 Pro モデル:
gemini-1.5-pro-002
(およびgemini-1.5-pro
): 2025 年 9 月 24 日gemini-1.5-pro-001
: 2025 年 5 月 24 日
Gemini 1.5 Flash モデル:
gemini-1.5-flash-002
(およびgemini-1.5-flash
): 2025 年 9 月 24 日gemini-1.5-flash-001
: 2025 年 5 月 24 日
Gemini 1.0 Pro Vision モデル: 2025 年 4 月 21 日(2025 年 4 月 9 日予定)
Gemini 1.0 Pro モデル: 2025 年 4 月 21 日(2025 年 4 月 9 日予定)
ユーザーごとのレート制限を設定するにはどうすればよいですか?
デフォルトでは、Firebase AI Logic はユーザーあたりのリクエスト上限を 1 分あたり 100 件(RPM)に設定します。
ユーザーごとのレート制限を調整する場合は、Firebase AI Logic API の割り当て設定を調整する必要があります。
Firebase AI Logic API の割り当ての詳細を確認する。このページでは、割り当ての表示と編集方法も確認できます。
Firebase AI Logic SDK を使用するには、どのような権限が必要ですか?
操作 | 必要な IAM 権限 | 必要な権限をデフォルトで含む IAM ロール |
---|---|---|
お支払いプランを従量課金制(Blaze)の料金プランにアップグレードする | firebase.billingPlans.update resourcemanager.projects.createBillingAssignment resourcemanager.projects.deleteBillingAssignment
|
オーナー |
プロジェクトで API を有効にする | serviceusage.services.enable |
編集者 オーナー |
Firebase アプリの作成 | firebase.clients.create |
Firebase 管理者 編集者 オーナー |
Firebase AI Logic は私のデータを使用してモデルをトレーニングしますか?
データ ガバナンスと責任ある AI をご覧ください。
マルチモーダル リクエストで MIME タイプは必須ですか?(画像、PDF、動画、音声の入力など)
はい。各マルチモーダル リクエストで、常に次の情報を指定する必要があります。
ファイルの
mimeType
。例外については、下記をご覧ください。ファイル。ファイルをインライン データとして指定するか、URL を使用してファイルを指定します。
サポートされている入力ファイル形式、MIME タイプの指定方法、ファイルを提供する 2 つの方法については、サポートされている入力ファイルと要件をご覧ください。
リクエストに MIME タイプを含める場合の例外
MIME タイプを指定する例外は、ネイティブ Android プラットフォーム アプリと Apple プラットフォーム アプリからのリクエストのインライン画像入力です。
Android プラットフォームと Apple プラットフォーム用の Firebase AI Logic SDK は、リクエスト内の画像をプラットフォームに依存しないシンプルな方法で処理します。すべての画像(形式に関係なく)は、クライアントサイドで 80% の品質で JPEG に変換された後、サーバーに送信されます。つまり、Android と Apple のプラットフォーム SDK を使用して画像をインライン データとして提供する場合、リクエストで MIME タイプを指定する必要はありません。
この簡素化された処理は、リクエストで base64 でエンコードされた画像を送信する例の Firebase AI Logic のドキュメントで説明されています。
この機能に関するプラットフォーム固有の追加情報は次のとおりです。
Android の場合:
画像をインライン データとして含むマルチモーダル プロンプトで、プラットフォーム固有の画像タイプ(
Bitmap
)を簡素な方法で処理できます(例を参照)。画像の形式と変換をより細かく制御するには、画像を
InlineDataPart
として指定し、特定の MIME タイプを指定します。例:content { inlineData(/* PNG as byte array */, "image/png") }
Apple プラットフォームの場合:
画像をインライン データとして含むマルチモーダル プロンプトで、プラットフォーム固有の画像タイプ(
UIImage
、NSImage
、CIImage
、CGImage
)を簡素な方法で処理できます(例を参照)。画像の形式と変換をより細かく制御するには、画像を
InlineDataPart
として指定し、特定の MIME タイプを指定します。例:InlineDataPart(data: Data(/* PNG Data */), mimeType: "image/png")
これらの機能は Firebase AI Logic を使用しているときに利用できますか?コンテキスト キャッシュ、Search as a Tool、Google 検索によるグラウンディング、コード実行、モデルのファインチューニング、エンベディングの生成、セマンティック検索
コンテキスト キャッシュ、ツールとしての検索、Google 検索によるグラウンディング、コード実行、モデルのファインチューニング、エンベディングの生成、セマンティック検索は、さまざまなモデルまたは Vertex AI Gemini API でサポートされていますが、Firebase AI Logic を使用する場合は使用できません。
これらの機能を機能リクエストとして追加する場合や、既存の機能リクエストに投票する場合は、Firebase UserVoice にアクセスしてください。
Gemini API キーに関するよくある質問
このよくある質問は、Gemini Developer API を使用している場合にのみ適用されます。
Gemini API キーとは
Gemini Developer API は「Gemini API キー」を使用して呼び出し元を認可します。そのため、Firebase AI Logic SDK で Gemini Developer API を使用している場合は、その API を呼び出すために Firebase プロジェクトに有効な Gemini API キーが必要です。
「Gemini API キー」とは、API 許可リストに Gemini Developer API が含まれている API キーのことです。
Firebase コンソールで Firebase AI Logic 設定ワークフローを完了すると、Gemini Developer API のみに制限された Gemini API キーが作成され、この API キーを使用するように Firebase AI Logic プロキシ サービスが設定されます。この Firebase で生成された Gemini API キーは、Google Cloud コンソールの認証情報ページで Gemini Developer API key (auto created by Firebase) という名前になっています。
API キーの API 制限の詳細を確認する。
Firebase AI Logic SDK を使用する場合は、Gemini API キーをアプリのコードベースに追加しないでください。詳しくは、Gemini API キーの安全性を保つ方法をご覧ください。
Gemini API キーをモバイルアプリまたはウェブアプリのコードベースに追加する必要がありますか?
Firebase AI Logic SDK を使用する場合は、Gemini API キーをアプリのコードベースに追加しないでください。
実際、Firebase AI Logic SDK を使用して開発する際に、Gemini API キーを直接操作することはありません。代わりに、Firebase AI Logic プロキシ サービスは、Gemini Developer API への各リクエストに Gemini API キーを内部的に含めます。これは完全にバックエンド内で行われます。
Gemini Developer API の呼び出しに使用される Gemini API キーを変更するにはどうすればよいですか?
Firebase AI Logic SDK を使用する場合、Gemini API キーを変更する必要はほとんどありません。ただし、次の 2 つのケースでは必要になる場合があります。
キーを誤って漏洩させ、新しい安全なキーに置き換える場合。
キーを誤って削除した場合。削除から 30 日以内であれば、キーの削除を取り消すことができます。
Firebase AI Logic SDK で使用される Gemini API キーを変更する方法は次のとおりです。
Firebase で生成された Gemini API キーがまだ存在する場合は、削除します。
この API キーは、Google Cloud コンソールの [API とサービス] > [認証情報] パネルで削除できます。名前は
Gemini Developer API key (auto created by Firebase) です。Google Cloud コンソールの同じページで、新しい API キーを作成します。
「Firebase 用 Gemini Developer API キー」などの名前を付けることをおすすめします。この新しい API キーに API の制限を追加し、Generative Language API のみを選択します。
Google Cloud コンソールで Gemini Developer API が「Generative Language API」と呼ばれることがあります。アプリの制限を追加しないでください。追加すると、Firebase AI Logic プロキシ サービスが想定どおりに機能しなくなります。
次のコマンドを実行して、この新しいキーを Firebase AI Logic プロキシ サービスが使用する Gemini API キーとして設定します。
PROJECT_ID="PROJECT_ID" GENERATIVE_LANGUAGE_API_KEY="DEVELOPER_CREATED_GEMINI_API_KEY" curl \ -X PATCH \ -H "x-goog-user-project: ${PROJECT_ID}" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://firebasevertexai.googleapis.com/v1beta/projects/${PROJECT_ID}/locations/global/config" \ -d "{\"generativeLanguageConfig\": {\"apiKey\": \"${GENERATIVE_LANGUAGE_API_KEY}\"}}"
gcloud CLI について学びます。
この新しい Gemini API キーをアプリのコードベースに追加しないでください。詳しくは、Gemini API キーの安全性を保つ方法をご覧ください。
「Firebase API キー」を Gemini API キーとして使用できますか?
いいえ。Gemini API キーとして「Firebase API キー」を使用することはできません。Firebase API キーの許可リストに Gemini Developer API を追加しないことを強くおすすめします。
Firebase API キーは、Firebase 構成ファイルまたはオブジェクトにリストされている API キーです。このキーは、アプリを Firebase に接続するためにアプリのコードベースに追加します。Firebase 関連の API(Firebase AI Logic など)でのみキーを使用する場合は、コードに Firebase API キーを含めても問題ありません。 Firebase API キーに関する重要な情報を確認する。
Google Cloud コンソールの [API とサービス] > [認証情報] パネルに表示される Firebase API キーは次のとおりです。
Firebase 関連の API を機能させるには、Firebase API キーをアプリのコードベースに追加する必要があります。また、Gemini Developer API は API キーを介して承認されるため、Gemini Developer API(Google Cloud コンソールで「生成言語 API」と呼ばれます)を Firebase API キーの API 許可リストに追加しないことを強くおすすめします。公開すると、Gemini Developer API が不正使用される可能性があります。
Gemini API キーのセキュリティを維持するにはどうすればよいですか?
このよくある質問では、Gemini API キーの安全性を保つための推奨されるベスト プラクティスについて説明します。
モバイルアプリまたはウェブアプリから Gemini Developer API を直接呼び出す場合:
- Firebase AI Logic クライアント SDK を使用する。
- Gemini API キーをアプリのコードベースに追加しないでください。
Firebase AI Logic は、Gemini Developer API への各リクエストに Gemini API キーを内部的に含めるプロキシ サービスを提供します。これは完全にバックエンド内で行われます。
また、次のことを強くおすすめします。
アプリの開発を本格的に開始したら、すぐに Firebase App Check と統合して、バックエンド リソースと、生成モデルへのアクセスに使用される API を保護します。
Firebase で生成された Gemini API キーは、Firebase AI Logic の外部で再利用しないでください。別のユースケースで Gemini API キーが必要な場合は、別のキーを作成します。
一般的に、Firebase によって生成された Gemini API キーは変更しないでください。このキーは、Google Cloud コンソールで Gemini Developer API キー(Firebase によって自動作成)という名前になっています。
Firebase で生成された Gemini API キーの API 許可リストに API を追加しないでください。API 許可リストでは、Gemini API キーに Gemini Developer API(Google Cloud コンソールで「Generative Language API」と呼ばれます)のみが含まれている必要があります。
アプリの制限を追加しないでください。追加すると、Firebase AI Logic プロキシ サービスが想定どおりに機能しなくなります。
Gemini API キーが不正使用されました。必要なご対応
Gemini API キーが不正使用された場合は、手順に沿って Gemini Developer API の呼び出しに使用される Gemini API キーを変更します。
また、Gemini API キーの安全性を保つための推奨されるベスト プラクティスを確認してください。
エラーのトラブルシューティングを行う
この 404 エラーを修正するにはどうすればよいですか?Firebase AI Logic genai config not found
Gemini Developer API の使用中に Firebase AI Logic genai config not found
という 404 エラーが発生した場合は、通常、Firebase プロジェクトに Firebase AI Logic クライアント SDK で使用できる有効な Gemini API キーがないことを意味します。
このエラーの原因として最も可能性が高いのは次のとおりです。
Gemini Developer API の Firebase プロジェクトがまだ設定されていません。
対処方法:
Firebase コンソールで、Firebase AI Logic ページに移動します。[使ってみる] をクリックし、[Gemini Developer API] を選択します。API を有効にすると、コンソールで Gemini Developer API のプロジェクトが設定されます。ワークフローを完了したら、リクエストをもう一度試してください。Firebase コンソールで Firebase AI Logic 設定ワークフローを最近完了した場合、Gemini API キーが、すべてのリージョンで必要なすべてのバックエンド サービスでまだ使用できない可能性があります。
対処方法:
数分待ってから、もう一度リクエストをお試しください。Gemini API キーが Firebase プロジェクトから削除されている可能性があります。
対処方法:
Firebase AI Logic で使用される Gemini 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.
このエラーは、プロジェクトで Vertex AI 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 サポートにお問い合わせください。
この 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 キーが含まれている必要があります。
この 403 エラーを修正するにはどうすればよいですか?Requests to this API firebasevertexai.googleapis.com ... are blocked.
Requests to this API firebasevertexai.googleapis.com ... are blocked.
という 403 エラーが表示される場合は、通常、Firebase 構成ファイル/オブジェクトの API キーに、使用しようとしているプロダクトの許可リストに必要な API が含まれていないことを意味します。
アプリで使用している API キーに、キーの「API の制限」許可リストに必要な API がすべて含まれていることを確認します。Firebase AI Logic の場合、API キーの許可リストに少なくとも Firebase AI Logic API が必要です。
すべての API キーは、Google Cloud コンソールの [API とサービス] > [認証情報] パネルで確認できます。
この 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 キーが含まれている必要があります。
Firebase AI Logic の使用感に関するフィードバックを送信する