API 參考資料

Google AI Changelog / 2026/3/6

Tools & Practical Usage

要点

  • Gemini API は、標準的なコンテンツ生成、ストリーミングコンテンツ生成、ライブの WebSocket ベース API、バッチモード、および埋め込み生成を含む、Gemini モデルと対話するための複数のエンドポイントを提供します。
  • 標準的なコンテンツ生成エンドポイントはリクエストを処理し、非対話型ワークロードに適した完全なモデル応答を返します。
  • ストリーミングおよびライブ API エンドポイントはリアルタイムの豊かな対話体験をサポートし、チャットボットのようなアプリケーションに最適です。
  • REST API は HTTP 対応環境でサポートされており、言語別実装向けの SDK 参照も利用可能です。
  • 初回 API コールのためのクイックスタートガイドが利用可能で、ドキュメンテーションポータル内に開発者フィードバックのオプションが提供されています。
Gemini 3.1 Flash-Lite 事前リリース版が利用可能になりました。AI Studio でお試しください
ご意見を送る

Gemini API リファレンス

この API リファレンスは、標準、ストリーミング、およびライブ API を使用して Gemini モデルと対話する方法を説明します。サポートされている HTTP 要求環境で REST API を使用できます。最初の API 呼び出しを行う方法はクイックスタートガイドをご覧ください。言語別のライブラリおよび SDK に関するリファレンスは、左側ナビゲーションの「SDK リファレンス」セクションの該当言語リンクから参照できます。

主要エンドポイント

Gemini API の主要なエンドポイントは以下の通りです:

  • 標準コンテンツ生成 (generateContent): 標準的な REST エンドポイントで、リクエストを処理し、単一パケットでモデルの完全な応答を返します。非対話的なワークロードに最適で、結果全体を待機できます。
  • ストリーミング生成コンテンツ (streamGenerateContent): サーバー送信イベント (SSE) を使用し、生成中の応答断片を送信します。この種のアプリケーション(例:チャットボット)に対して、より迅速でリッチな対話体験を提供します。
  • ライブ API (BidiGenerateContent):状態保持型の WebSocket ベース API で、双方向ストリームをサポートし、リアルタイム会話シナリオに特化しています。
  • バッチモード (batchGenerateContent):バッチの generateContent リクエストを送信する標準 REST エンドポイントです。
  • 埋め込み (embedContent):標準 REST エンドポイントで、入力された Content からテキスト埋め込みベクトルを生成します。
  • 生成メディア API:専用モデルを使用してメディアを生成可能なエンドポイントです。例としてImagen による画像生成Veo による動画生成があります。Gemini にはこれらの機能が組み込まれており、generateContent API からアクセスできます。
  • プラットフォーム API:ファイルアップロード (files) やトークンカウント (tokens) など、コア機能をサポートするユーティリティエンドポイントです。

認証

すべての Gemini API リクエストは、x-goog-api-key ヘッダーに API キーを含める必要があります。API キーはGoogle AI Studio で数クリックで作成できます。

以下は API キーを含むリクエスト例です:

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "Explain how AI works in a few words"
          }
        ]
      }
    ]
  }'

Gemini SDK を使用して API キーを API に渡す方法については、「Gemini API キーの使用」ガイドを参照してください。

コンテンツ生成

これはプロンプトをモデルに送信するための主要なエンドポイントです。コンテンツ生成には 2 つのエンドポイントがあり、主な違いは応答の受け取り方法です:

  • generateContent (REST): リクエストを受け取り、モデルが生成手順をすべて完了した後に単一の応答を返します。
  • streamGenerateContent (SSE):同一のリクエストを受けますが、モデルは生成中に応答の断片をストリームで返します。この機能により、一部の結果をすぐに表示できるため、対話型アプリケーションのユーザー体験を向上させます。

リクエストボディ構造

リクエストボディ は JSON オブジェクトで、標準モードとストリームモードの両方で完全に同一です。いくつかのコアオブジェクトで構成されます:

  • Content オブジェクト:対話の単一ターンを表します。
  • Part オブジェクト:Content ターン内の一つのエントリ(例:テキストや画像)。
  • inline_data (Blob):生のメディアバイトおよびその MIME タイプのコンテナ。

最上位では、リクエストボディには contents オブジェクトが含まれ、これは Content オブジェクトのリストで各オブジェクトが対話のひとターンを表します。基本的なテキスト生成では通常単一の Content オブジェクトを使用しますが、会話履歴を維持する際は複数の Content オブジェクトを使うことが可能です。

以下は典型的な generateContent リクエストボディの例です:

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "Explain how AI works in a few words"
          }
        ]
      }
    ]
  }'

...

この記事の続きは原文サイトでお読みいただけます。

原文を読む →