概要
Google は@google/genai(JavaScript / TypeScript)と google-genai(Python)の 2 つの公式 SDK を提供しており、Gemini API のすべてのエンドポイントをカバーしています。baseUrl を AIHubMix ゲートウェイに向け、プラットフォームの API Key に置き換えるだけで、ネイティブ SDK を通じて Interactions、Embeddings、Context Caching など OpenAI 互換レイヤーではカバーされない機能を呼び出すことができます。ビジネスコードの変更は一切不要です。
クイックスタート
インストール
クライアントの初期化
Interactions API
Interactions は Gemini の新世代推論インターフェースで、構造化されたInteraction オブジェクトを返し、テキスト生成、ネイティブ画像生成(Nano Banana)、マルチステップ推論をサポートします。現在は同期モード(interactions.create())をサポートしています。非同期モード(Background Interactions:get / cancel / delete)は近日公開予定です。
テキスト生成
interactions.create() を呼び出して推論を開始します。返される Interaction オブジェクトは output_text 便利プロパティを提供し、モデルの最後のテキスト出力を直接取得できます。
ネイティブ画像生成
response_format を設定して出力モダリティを画像に構成します。返される Interaction オブジェクトは output_image 便利プロパティを提供し、その data フィールドには Base64 エンコードされた画像データが含まれます。
response_format パラメータ:
| フィールド | 説明 | 使用可能な値 |
|---|---|---|
type | 出力タイプ | "image" |
aspect_ratio | アスペクト比 | "1:1" "3:4" "4:3" "9:16" "16:9" |
image_size | 出力解像度 | "1K" "2K" "4K" |
mime_type | 画像フォーマット | "image/png" "image/jpeg" |
ストリーミング出力
stream: true を渡して Server-Sent Events(SSE)ストリーミング転送を有効にします。イベントは以下の順序で到着します:
event.delta.text から取得され、イベントタイプフィールドは event_type です。
JavaScript
Embeddings
embedContent エンドポイントを通じて、テキストまたはマルチモーダルコンテンツのベクトル表現(embedding)を取得します。
embedContent
バッチ Embeddings 取得
embedContent の contents パラメータに Content 配列を渡すことで、1 回の呼び出しで複数のテキストの embedding を取得できます:
JavaScript
利用可能なモデルとパラメータ
| モデル | 入力トークン上限 | デフォルト出力次元 | 入力モダリティ | 説明 |
|---|---|---|---|---|
gemini-embedding-2-preview | 8,192 | 3,072(推奨 768) | テキスト、画像、動画、音声、PDF | 最新のマルチモーダル埋め込みモデル、outputDimensionality サポート |
gemini-embedding-001 | 2,048 | 3,072 | テキストのみ | 前世代のテキスト埋め込みモデル、taskType サポート |
gemini-embedding-001 は config.taskType を通じて埋め込みの用途を指定し、特定のダウンストリームタスクのベクトル品質を最適化できます:
taskType | 用途 |
|---|---|
SEMANTIC_SIMILARITY | セマンティック類似度計算 |
RETRIEVAL_DOCUMENT | ドキュメントインデックス(検索対象側) |
RETRIEVAL_QUERY | 検索クエリ(検索側) |
CLASSIFICATION | テキスト分類 |
CLUSTERING | テキストクラスタリング |
gemini-embedding-2-preview は taskType パラメータをサポートしていません。代わりにプロンプト内のプレフィックスでタスクタイプを指定します(例:search_query: ... または search_document: ...)。Context Caching(明示的キャッシュ)
明示的キャッシュ(Explicit Caching)により、開発者はCachedContent オブジェクトを手動で作成、照会、参照、削除でき、複数のリクエスト間で同じ長いコンテキストを再利用するシナリオに適しています。暗黙的キャッシュとは異なり、明示的キャッシュはアプリケーション側がライフサイクルを主体的に管理します。
明示的キャッシュは
generateContent API にのみ適用されます。Interactions API は暗黙的キャッシュのみをサポートしています。CachedContent の作成
caches.create() を通じてキャッシュを作成します。ttl(Time-To-Live)でキャッシュの有効期間を制御し、期限切れ後は自動的にクリアされます。
generateContent でキャッシュを参照
cache.name を cachedContent(JS)または cached_content(Python)パラメータに渡すことで、推論時にキャッシュをヒットさせることができます。ヒットしたトークン数は usageMetadata.cachedContentTokenCount に反映されます。
照会と削除
サポート済み機能マトリックス
| 機能 | ステータス | 説明 |
|---|---|---|
generateContent | ✅ | 非ストリーミング + ストリーミング |
systemInstruction / generationConfig | ✅ | temperature、maxOutputTokens など |
Structured Output(responseSchema) | ✅ | JSON mode |
| Function Calling | ✅ | functionDeclarations ツール宣言 |
thinkingConfig | ✅ | 思考チェーン出力 |
| マルチモーダル入力 | ✅ | 画像 / 音声 / 動画 / PDF via inlineData + Files API |
| Google Search Grounding | ✅ | 検索拡張 |
countTokens | ✅ | トークンカウント |
Imagen(generateImages) | ✅ | Imagen 3 画像生成 |
Veo(generateVideos) | ✅ | 動画生成 |
| TTS | ✅ | 音声合成出力 |
| Files API | ✅ | 大容量ファイルのアップロードと参照 |
| Interactions API | ✅ | 新世代推論インターフェース(テキスト + Nano Banana 画像生成) |
Embeddings(embedContent) | ✅ | ネイティブベクトル埋め込み |
| Context Caching CRUD | ✅ | 明示的キャッシュ管理 |
| Live API(WebSocket) | ❌ | 未対応 |
よくある質問
interactions.create() を呼び出すと legacy schema エラーが発生する
interactions.create() を呼び出すと legacy schema エラーが発生する
SDK バージョンが低すぎます。
@google/genai は >= 2.0.0、google-genai は >= 2.0.0 が必要です。npm install @google/genai@latest または pip install -U google-genai を実行して最新バージョンにアップグレードしてください。モデルが 404 Not Found を返す
モデルが 404 Not Found を返す
一部の初期モデル名(
gemini-2.5-flash-image-preview など)は Interactions API ではすでに廃止されています。gemini-3.1-flash-image(Nano Banana 2)など、現在利用可能なモデル識別子を使用してください。generateContent API は影響を受けません。response_modalities で 400 Bad Request が発生する
response_modalities で 400 Bad Request が発生する
Interactions API の
response_modalities の値は小文字("text"、"image")でなければなりません。大文字の "TEXT" / "IMAGE" は generateContent API の書き方であり、Interactions API では受け付けられません。vertexai: true は使用できますか?
vertexai: true は使用できますか?
使用できません。SDK の
vertexai: true モードは GCP OAuth + project / location パラメータを必要とし、apiKey とは相互排他的です(SDK が Project/location and API key are mutually exclusive をスローします)。AIHubMix 経由で接続する場合は Gemini Developer API 形式を使用するだけで十分です。バックエンドが自動的にルーティングします。キャッシュ作成で context caching is not available for model エラーが発生する
キャッシュ作成で context caching is not available for model エラーが発生する
ゲートウェイは、ストレージ価格が設定されていないモデルの
caches.create() リクエストをブロックし、ストレージ料金の漏れを防ぎます。主要モデル(gemini-2.5-flash、gemini-2.5-pro など)はすべて設定済みです。このエラーが発生した場合は、そのモデルが明示的キャッシュをサポートしているか確認してください。最終更新日:2026-07-07