メインコンテンツへスキップ

Gemini 呼び出し方法

Geminiシリーズでは、ネイティブ呼び出しとOpenAI互換の2種類の呼び出し方法を提供しています。 使用する前に、pip install google-genaiまたはpip install -U google-genaiを実行して、ネイティブの依存関係をインストール(更新)してください。 1️⃣ ネイティブ呼び出しの場合、主にAiHubMixキーとリクエストリンクを内部に渡します。このリンクは通常のbase_urlの書き方とは異なることに注意してください。例を参照してください。
2️⃣ OpenAI互換形式の場合、汎用v1エンドポイントを維持します。
3️⃣ 2.5シリーズの場合、推論プロセスを表示する必要がある場合は、以下の2つの方法を使用できます。
  1. ネイティブ呼び出し:include_thoughts=Trueを渡す
  2. OpenAI互換方式:reasoning_effortを渡す
関連する詳細な呼び出しは、以下のコード例を参照してください。

Gemini 2.5 シリーズの「推論」の説明

  1. 2.5シリーズはすべて推論モデルです。
  2. 2.5 Flashはハイブリッドモデルで、Claude Sonnet 3.7に似ており、thinking_budgetを使用して推論予算を制御することで最適な効果を得ることができます。
  3. 2.5 Proは純粋な推論モデルであるため、思考をオフにしたり、推論予算を明示的に渡したりすることはできません。
Python呼び出しの例は以下の通りです。

Gemini 2.5 Flash サポート

OpenAI互換方式の呼び出しは以下の通りです。
  1. 複雑なタスクの場合、モデルIDをデフォルトで思考が有効になっているgemini-2.5-flash-preview-04-17に設定するだけで済みます。
  2. Gemini 2.5 Flashはbudget(思考予算)によって思考の深さを制御します。範囲は0〜16Kで、現在の転送ではデフォルトの予算1024が使用されており、最適な限界効果は16Kです。

マルチメディアファイル

Aihubmixは現在、inline_dataを使用してアップロードされた20MB未満のマルチメディアファイル(画像、音声、ビデオ)のみをサポートしています。 20MBを超えるマルチメディアはFile API(未サポート)を使用する必要があります。upload_urlを返すために、ステータスの追跡が完了するのを待っています。

コード実行

自動コード解析器のユースケースの例:
Python

Interactions API

Interactions は Gemini の新世代推論インターフェースで、構造化された Interaction オブジェクトを返し、テキスト生成、ネイティブ画像生成(Nano Banana)、マルチステップ推論をサポートします。現在は同期モードinteractions.create())をサポートしています。非同期モード(Background Interactions)は近日公開予定です。
SDK バージョン要件:@google/genai >= 2.0.0(JS/TS)または google-genai >= 2.0.0(Python)。古いバージョンの SDK で Interactions を呼び出すと、Google バックエンドに拒否されます(legacy Interactions schema no longer supported)。

テキスト生成

interactions.create() を呼び出して推論を開始します。返される Interaction オブジェクトは output_text 便利プロパティを提供します。

ネイティブ画像生成

response_format を設定して出力モダリティを画像に構成します。返される Interaction オブジェクトは output_image 便利プロパティを提供します。
  • 推奨モデル gemini-3.1-flash-image(Nano Banana 2、汎用画像生成モデル)。
  • response_modalities の値は小文字['text', 'image'] でなければなりません。大文字は generateContent API の書き方であり、Interactions API では 400 が返されます。
  • delivery: 'inline' を渡さないでください(400 Image delivery mode is not supported)。結果はデフォルトで inline 方式で返されます。

ストリーミング出力

stream: true を渡して SSE ストリーミング転送を有効にします。増分テキストは event.delta.text から取得します。
JavaScript
完全な SDK 統合ガイド(Embeddings、明示的キャッシュ CRUD、機能マトリックスなどを含む)は Gemini ネイティブ SDK 統合 を参照してください。

コンテキストキャッシュ

Geminiは、ネイティブAPIの下でデフォルトで暗黙的なコンテキストキャッシュを有効にしており、開発者が手動で操作する必要はありません。generate_contentリクエストごとに、システムは自動的に入力コンテンツのキャッシュを作成します。後続のリクエストが以前のコンテンツと完全に一致する場合、キャッシュが直接ヒットし、前回の推論結果が返され、応答速度が大幅に向上し、トークン消費を節約できる可能性があります。
  • キャッシュは自動的に有効になり、手動設定は不要です。
  • キャッシュは、コンテンツ、モデル、パラメータが完全に一致する場合にのみ有効になります。いずれかのフィールドが異なる場合、新しいリクエストとして扱われ、キャッシュはヒットしません。
  • キャッシュの有効期限(TTL)は開発者が設定できます。設定しないことも可能です。指定しない場合、デフォルトは1時間です。最小または最大期間の制限はなく、費用はキャッシュされたトークン数とキャッシュ時間によって異なります。
    • Google公式はTTLに上限を設定していませんが、当社は転送プラットフォームであるため、限られたTTL設定範囲のみをサポートしており、永続的な有効性を保証するものではありません

注意事項

  • コスト削減の保証なし:キャッシュされたトークンの課金は入力元の価格の25%であり、理論的には入力部分で最大75%のコストを節約できますが、Google公式は必ずしも節約を保証していません。実際の請求は、キャッシュヒット率、トークンタイプ、ストレージ期間を総合的に評価する必要があります。
  • キャッシュヒット条件:キャッシュヒット率を高めるために、重複するコンテキストをリクエストの先頭に配置し、変動するコンテンツ(ユーザー入力など)を後部に配置することをお勧めします。
  • キャッシュヒットフィードバック:応答結果がキャッシュにヒットした場合、response.usage_metadatacache_tokens_detailsフィールドが含まれ、cached_content_token_countが表示されます。開発者はこれに基づいて、今回のリクエストがキャッシュにヒットしたかどうかを判断できます。 応答フィールドの例(キャッシュヒット時):
コード例:
キャッシュヒット時、response.usage_metadataは以下の構造を含みます。
**核心的な結論:**暗黙的なキャッシュは自動ヒットとヒットフィードバックをサポートします。開発者はusage_metadataを通じてヒット状況を判断できます。コスト削減は保証されず、実際の結果はリクエスト構造と使用シナリオによって異なります。

関数呼び出し

OpenAI互換方式でGeminiの関数呼び出し機能を使用する場合、リクエストボディ内にtool_choice="auto"を渡す必要があります。そうしないとエラーが発生します。
出力結果の例:

トークン使用量追跡

  1. GeminiはネイティブAPIでusage_metadataを使用して使用されたトークンを追跡します。そのフィールドは以下の通りです。
  • prompt_token_count: 入力トークン数
  • candidates_token_count: 出力トークン数
  • thoughts_token_count: 推論に使用されたトークン数。性質上、これも出力トークンです。
  • total_token_count: 総トークン使用量(入力+出力)
  1. OpenAI互換形式の場合、.usageを使用して追跡します。フィールドは以下の通りです。
  • usage.completion_tokens: 入力トークン数
  • usage.prompt_tokens: 出力トークン数(推論に使用されたトークン数を含む)
  • usage.total_tokens: 総トークン使用量
使用方法は以下の通りです。

最終更新日:2026-07-07