Gemini Pro API は、Google AI Studio で作成したキーを使用して Gemini API を通じてアクセスします。直接 REST リクエストを行う場合は、モデルの generateContent エンドポイントを呼び出します。既存の OpenAI SDK 統合を使用する場合は、Google の OpenAI 互換ベース URL をクライアントに指定し、gemini-3.1-pro-preview などの現在の Gemini モデル ID を使用します。重要な詳細は、「Gemini Pro」は製品ファミリーの検索用語であり、永続的な API 識別子ではないということです。そのため、本番アプリケーションでは、ID を固定する前に Google の現在のモデルリストを確認する必要があります。
Gemini Pro API セットアップの概要
リクエストを行うには、次の4つの値が必要です:
| 設定 | 値 |
|---|---|
| API キー | Google AI Studio で作成 |
| ネイティブベースホスト | https://generativelanguage.googleapis.com |
| ネイティブ API パス | /v1beta/models/{model}:generateContent |
| OpenAI 互換ベース URL | https://generativelanguage.googleapis.com/v1beta/openai/ |
| モデル ID の例 | gemini-3.1-pro-preview |
Google の Gemini API クイックスタート では、API キーの作成とネイティブリクエストパターンについて説明しています。OpenAI 互換性ガイド では、すでに OpenAI Python または JavaScript SDK を使用しているアプリケーション向けの互換性ベース URL について説明しています。
Google が公開した時点で Gemini 固有の機能をすぐに利用したい場合は、ネイティブの Gemini SDK または REST API を使用します。すでに OpenAI スタイルのクライアントを持っていて、移行作業を減らしたい場合は、互換性レイヤーを使用します。互換性は便利ですが、すべてのプロバイダ固有のオプションが API 間で完全にマッピングされることを保証するものではありません。
Gemini 用の Google API キーを取得する方法
Google AI Studio でキーを作成し、ソースコードに直接記述せずに環境変数に保存します:
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
これはサーバーサイドの認証情報として扱ってください。Git にコミットしたり、ログに出力したり、ブラウザの JavaScript やモバイルアプリケーションバンドルに埋め込んだりしないでください。フロントエンドで Gemini の出力が必要な場合は、ユーザーリクエストを自身のバックエンドに送信し、バックエンドから Google API を呼び出します。
本番サービスでは、Google Cloud プロジェクトの所有者、キーのローテーション方法、異なる環境で使用する個別の認証情報、リクエストクォータの監視場所も決定する必要があります。Google の API キーガイダンス では、Gemini API キーが Google Cloud プロジェクトとどのように関連付けられるかについて説明しています。
ネイティブ Gemini API エンドポイントを呼び出す方法
ネイティブ REST ルートでは、モデル ID を URL に含めます。この例では、現在の Pro プレビューモデルに簡潔な移行チェックリストを返すように要求しています:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"contents": [
{
"parts": [
{
"text": "Python API を1つのリージョンから2つのリージョンに移行するための7ステップのチェックリストを作成してください。ロールバックチェックを含めてください。"
}
]
}
]
}'
レスポンスには、生成されたコンテンツを含む candidates が含まれます。実際のアプリケーションでは、空の candidate リスト、ブロックされたコンテンツ、タイムアウト、2xx 以外のレスポンスを処理し、最初のレスポンスオブジェクトに直接インデックス付けしないようにしてください。
この URL は v1beta を使用しています。これは、Google の現在の Gemini API の例に示されているルートだからです。API バージョンを設定ファイルに保持することで、コードベース全体にエンドポイント文字列を散らかすことなく、新しいバージョンをテストできます。
ネイティブエンドポイントの構造
パスは3つの部分で構成されています:
/v1beta/models/{model}:generateContent
v1betaは API バージョンです。{model}は Google の Gemini モデルページ の正確なモデル ID です。generateContentは生成メソッドです。
404 レスポンスは、多くの場合、モデル ID、API バージョン、またはメソッドが一致していないことを意味します。認証コードを変更する前に、完全なパスを現在のモデルドキュメントと比較してください。
OpenAI 互換クライアントで Gemini を使用する方法
アプリケーションがすでに OpenAI Python パッケージを使用している場合は、インストールして API キー、ベース URL、モデル ID を変更します:
pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
response = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[
{
"role": "system",
"content": "あなたは簡潔なソフトウェアアーキテクチャレビュアーです。",
},
{
"role": "user",
"content": "キュー worker の設計をレビューし、上位5つの障害モードをリストアップしてください。",
},
],
)
print(response.choices[0].message.content)
これは、既存のチャット補完抽象化を持つチームにとって最も短いルートです。また、評価ハーネスを再利用しやすくなります。プロンプトとレスポンスチェックを一定に保ち、プロバイダ設定を交換します。
2つのプロバイダが同じ SDK 呼び出しを受け入れるからといって、動作が同一であると想定しないでください。システム指示、ツールスキーマ、マルチモーダル入力、安全性処理、ストリーミングイベント、トークン計算、エラーペイロードは異なる可能性があります。本番トラフィックを変更する前に、プロバイダ固有のテストを実行してください。
Gemini モデル ID の選択と管理方法
gemini-pro のようなマーケティング名をアプリケーションロジックに直接配置しないでください。Google の利用可能なモデル ID は、プレビューモデルの導入、昇格、廃止に応じて変更されます。このガイドが確認された時点では、Google の公式モデルページには、Pro クラスのモデル識別子として gemini-3.1-pro-preview がリストされていました。
代わりに設定レイヤーを使用します:
import os
GEMINI_MODEL = os.getenv("GEMINI_MODEL", "gemini-3.1-pro-preview")
この小さな選択により、モデルのアップグレードがコードの書き換えではなくデプロイメントの変更になります。大規模なサービスの場合は、これらのフィールドをまとめて保存します:
{
"provider": "google",
"base_url": "https://generativelanguage.googleapis.com/v1beta/openai/",
"model": "gemini-3.1-pro-preview",
"timeout_seconds": 60
}
新しいモデルを本番環境に移行する前に:
- ID が Google の現在のモデルドキュメントまたはモデル API に表示されていることを確認します。
- モデルがプレビュー、安定版、または廃止予定かを確認します。
- 回答品質とツール呼び出しの正確性について、独自の評価セットを実行します。
- 代表的なプロンプトを使用して、レイテンシ、トークン使用量、障害率を測定します。
- すべてのトラフィックを移行する前に、フォールバックモデルまたは明確な障害パスを追加します。
レート制限は単一の普遍的な数値ではありません。モデルと使用ティアによって異なります。そのため、Google の Gemini API レート制限ドキュメント を読み、プロジェクトに適用される制限を監視してください。
プロバイダ切り替え可能なバックエンドの構築方法
OpenAI 互換インターフェースはコード変更を減らすことができますが、プロバイダの切り替えは、アプリケーション自身がコントラクトを定義する場合に最も効果的です。プロバイダ設定をビジネスロジックの外部に保ち、実際に必要な出力を正規化します。
import os
from openai import OpenAI
PROVIDERS = {
"gemini": {
"api_key": os.environ["GEMINI_API_KEY"],
"base_url": "https://generativelanguage.googleapis.com/v1beta/openai/",
"model": os.getenv("GEMINI_MODEL", "gemini-3.1-pro-preview"),
},
"novita": {
"api_key": os.environ["NOVITA_API_KEY"],
"base_url": "https://api.novita.ai/openai",
"model": os.getenv("NOVITA_MODEL", "xiaomimimo/mimo-v2.5-pro"),
},
}
def generate(provider_name: str, prompt: str) -> str:
provider = PROVIDERS[provider_name]
client = OpenAI(
api_key=provider["api_key"],
base_url=provider["base_url"],
)
response = client.chat.completions.create(
model=provider["model"],
messages=[{"role": "user", "content": prompt}],
)
return response.choices[0].message.content or ""
この例では、差異を隠すのではなく、意図的に公開しています。各プロバイダは、独自の認証情報、ベース URL、モデル ID を保持します。アプリケーションは1つの正規化された文字列を受け取り、プロバイダ固有のテストでは、ツールやマルチモーダル入力などのよりリッチな動作をカバーできます。
Novita AI の LLM API ドキュメント は、サポートされているモデルに対して OpenAI 互換の API 形状を使用しています。これは、チームがクライアントレイヤー全体を再構築せずに Gemini とオープンソースモデルを比較したい場合に役立ちます。
Gemini がエージェントバックエンドにどのように適合するか
エージェントバックエンドには、少なくとも2つの別の責任があります:
- 推論: モデルが何を言うか、どのツールを呼び出すかを決定します。
- 実行: 制御されたランタイムがファイル、シェル、ブラウザ、またはアプリケーションのアクションを実行します。
Gemini API は推論側を処理できます。実行境界として扱うべきではありません。モデルがシェルコマンドを提案した場合、アプリケーションはツール呼び出しを検証し、承認し、分離された環境で実行し、結果をキャプチャし、どのコンテキストをモデルに送り返すかを決定する必要があります。
Novita Agent Sandbox は、分離されたエージェント実行ワークフロー向けに設計されています。実用的なアーキテクチャでは、Gemini を推論に使用し、サンドボックスがコードまたはブラウザタスクを個別に処理できます:
ユーザーリクエスト
-> エージェントサービス
-> 推論とツール選択のための Gemini API
-> 提案されたアクションのポリシーチェック
-> 分離実行のための Agent Sandbox
-> エージェントサービスに返されるツール結果
-> 最終応答のための Gemini API
この分離により、モデルは交換可能になり、信頼できない実行がアプリケーションサーバーから離れた場所に保たれます。また、バックエンドにタイムアウト、ネットワークポリシー、ファイル制限、監査ログ、ユーザー認可を適用するための1つの場所が提供されます。
最初のバージョンでは、少数の限られたツールのみを公開し、その引数に対して JSON スキーマを定義し、未知のフィールドを拒否し、実行時間と出力サイズにハードリミットを設定します。許可モデルが明確になった後にのみ、より広範なコンピューター使用またはブラウザ機能を追加します。
オープンソースモデルがより適している場合
Gemini Pro モデルは、アプリケーションに Google のモデル機能と管理された API が必要な場合に強力な選択肢です。オープンソースモデルは、セカンドプロバイダが必要な場合、可視のアップストリームリリースに対してモデル動作を評価したい場合、または他のインフラストラクチャとともに OpenAI 互換エンドポイントを通じて利用可能なモデルを希望する場合に、より適している可能性があります。
MiMo-V2.5-Pro は、Novita AI の現在の選択肢の1つです。Xiaomi のアップストリームモデルカードは、これをオープンソースの Mixture-of-Experts モデルとして説明していますが、Novita AI はホスト型モデル ID xiaomimimo/mimo-v2.5-pro を提供しています。Google 互換性エンドポイントと Novita AI の両方を OpenAI スタイルのクライアントで呼び出すことができるため、前のセクションのプロバイダ切り替え可能なパターンを使用して、同じプロンプトと受け入れチェックでそれらを評価できます。
ラベルだけで選択しないでください。実際のワークロード(コードレビューコメント、サポート質問、検索に基づく回答、ツール呼び出し、長いドキュメント)から小さな評価セットを構築します。ルーティングを決定する前に、現在のプロバイダダッシュボードを使用して、出力品質、レイテンシ、エラー動作、コストを比較します。
一般的な Gemini API エラー
400:無効なリクエスト
JSON の形状、メッセージロール、ツール定義、パラメータ名を確認します。別の OpenAI 互換プロバイダで受け入れられるオプションが、Google の互換性レイヤーでは受け入れられない場合があります。
401 または 403:認証または権限エラー
GEMINI_API_KEY がプロセス環境に存在し、目的の Google Cloud プロジェクトに属していることを確認します。また、プロジェクトと選択したモデルがアカウントとリージョンで利用可能かどうかを確認します。
404:モデルまたはメソッドが見つかりません
正確なモデル ID を 現在の Gemini モデルリスト と比較します。ネイティブ REST 呼び出しの場合は、API バージョンと :generateContent サフィックスを確認します。OpenAI 互換呼び出しの場合は、ベース URL が /v1beta/openai/ で終わっていることを確認します。
429:レート制限を超えました
指数バックオフとジッタを使用してリトライしますが、リトライをキャパシティプランニングの代わりとして扱わないでください。バースト的な作業をキューに入れ、同時リクエストを制限し、プロジェクトの現在の使用ティアとモデル固有の制限を検査します。
SDK は動作するが、プロバイダ切り替え後に出力が異なる
互換性はリクエストインターフェースをカバーしますが、同一のモデル動作を保証するものではありません。すべてのプロバイダとモデルバージョンに対して、プロンプト、構造化出力、ツール呼び出しのテストを再実行します。
結論
Gemini 固有の機能への最も明確なパスが必要な場合は、ネイティブの Gemini API から始めてください。すでに OpenAI スタイルのバックエンドがある場合、またはプロバイダの迅速な評価が必要な場合は、OpenAI 互換エンドポイントから始めてください。どちらの場合も、API キーをサーバーサイドに保持し、モデル ID を設定に配置し、正確なモデルバージョンをテストし、モデルの推論とエージェント実行を分離してください。
回復力のある本番設計のためには、同じアプリケーション所有のインターフェースの背後に少なくとも1つの代替モデルを維持してください。これにより、チームは Novita AI でオープンソースオプションをテストし、モデルのライフサイクル変更を処理し、すべての責任を1つの API 呼び出しに結合する代わりに、エージェント実行を分離されたサンドボックスにルーティングする実用的な方法を得られます。
FAQ
gemini-pro というモデル ID はまだありますか?
gemini-pro が現在の ID であると想定しないでください。「Gemini Pro API」は、Google のより高性能な Gemini モデルを検索するためのフレーズとして一般的に使用されていますが、アプリケーションは現在の Gemini モデルページの正確な ID を使用する必要があります。このガイドでは、確認済みの例として gemini-3.1-pro-preview を使用しています。
Gemini 用の Google API キーはどこで入手できますか?
Google AI Studio で Gemini API キーを作成します。ソースコードやフロントエンド JavaScript ではなく、GEMINI_API_KEY などのサーバーサイドシークレットとして保存します。
Gemini API エンドポイントは何ですか?
ネイティブホストは https://generativelanguage.googleapis.cm です。コンテンツ生成リクエストは /v1beta/models/{model}:generateContent を使用します。Google の OpenAI 互換ベース URL は https://generativelanguage.googleapis.com/v1beta/openai/ です。
Gemini Studio API は Gemini API と異なりますか?
Google AI Studio は、開発者が実験しキーを作成するためウェブインターフェスです。アプリケションリクエストは Gemini API に送らます。「Gemini Studio API」の検索は、通常こ AI Studio から API へのワクフロを指ます。
Google Bard API は Gemini API と同じですか?
Gemini は現在の API およびモデルのブランドです。Google Bard API の古い検索は、古い Bard の例ではなく、現在の Gemini API ドキュメント、エンドポイント、モデル ID を使用する必要があります。
OpenAI SDK を Gemini で使用できますか?
はい。Google は OpenAI 互換性エンドポイントを文書化しています。クライアントのベース URL を Google の互換性 URL に設定し、Gemini API キーを提供し、サポートされている Gemini モデル ID を選択します。完全な動作のパリティに依存する前に、プロバイダ固有の機能をテストしてください。
Gemini は AI エージェント用のコードを実行できますか?
Gemini はコードについて推論し、ツール呼び出しを提案できますが、実行は制御されたランタイムで行う必要があります。モデル呼び出しを Agent Sandbox などの分離された環境から分離し、実行前に要求されたすべてのアクションを検証してください。
Gemini API の料金に無料ティアはありますか?
はい。Google は、新規アカウントは Free Tier から始まり、モデルの無料ティアレート制限まで、Gemini API および AI Studio の特定のモデルにアクセスできると述べています。有料ティアに移行するには、AI Studio で請求設定を行う必要があります。正確なトークン価格については、Google の 価格テーブル を確認してください。レートはモデル固有です。gemini-3.1-pro-preview の場合、現在のテーブルには有料の Standard 価格と無料ティアのトークン料金なしがリストされています。
