Gemini Interactions API は、デベロッパーが Gemini モデルを使用して生成 AI アプリケーションを構築できる試験運用版の API です。Gemini は、マルチモーダルに対応するように一から構築された、Google の最も高性能なモデルです。言語、画像、音声、動画、コードなど、さまざまな種類の情報を一般化してシームレスに理解し、操作し、組み合わせることができます。Gemini API は、テキストと画像を横断した推論、コンテンツ生成、対話エージェント、要約システム、分類システムなどのユースケースで使用できます。
インタラクションの作成
新しいインタラクションを作成します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
model ModelOption (省略可)
インタラクションの生成に使用される `Model` の名前。
`agent` が指定されていない場合は必須。
有効な値:
-
gemini-2.5-proコーディングや複雑な推論タスクに優れた、最先端の多目的モデル。
-
gemini-2.5-flash100 万トークンのコンテキスト ウィンドウをサポートし、思考予算を備えた、Google 初のハイブリッド推論モデル。
-
gemini-2.5-flash-preview-09-20252.5 Flash モデルに基づく最新モデル。2.5 Flash Preview は、思考を必要とする大規模な処理、低レイテンシ、大量のタスク、エージェントのユースケースに最適です。
-
gemini-2.5-flash-lite最も小型で費用対効果の高いモデル。大規模な使用向けに構築されています。
-
gemini-2.5-flash-lite-preview-09-2025費用対効果、高スループット、高品質向けに最適化された Gemini 2.5 Flash Lite に基づく最新モデル。
-
gemini-2.5-flash-preview-native-audio-dialogGoogle のネイティブ音声モデルは、より高品質な音声出力に最適化されており、話し方のペースや自然さ、詳細度、ムードをより適切に表現できます。
-
gemini-2.5-flash-image-preview速度、柔軟性、コンテキスト理解に最適化された Google のネイティブ画像生成モデル。テキストの入力と出力の料金は、2.5 Flash と同じです。
-
gemini-2.5-pro-preview-ttsGoogle の 2.5 Pro テキスト音声変換モデルは、強力で低レイテンシの音声生成に最適化されており、より自然な出力を実現し、プロンプトを簡単に操作できます。
-
gemini-3-pro-previewSOTA の推論とマルチモーダル理解を備え、強力なエージェント機能とバイブ コーディング機能を備えた、Google の最もインテリジェントなモデルです。
agent AgentOption (省略可)
インタラクションの生成に使用される `Agent` の名前。
`model` が指定されていない場合は必須。
有効な値:
-
deep-research-pro-preview-12-2025Gemini Deep Research エージェント
インタラクションのシステム指示。
モデルがインタラクション中に呼び出す可能性のあるツール宣言のリスト。
生成されたレスポンスが、このフィールドで指定された JSON スキーマに準拠した JSON オブジェクトであることを強制します。
レスポンスの MIME タイプ。response_format が設定されている場合は必須です。
入力専用。インタラクションがストリーミングされるかどうか。
入力専用。後で取得するためにレスポンスとリクエストを保存するかどうか。
モデルのやり取りをバックグラウンドで実行するかどうか。
generation_config GenerationConfig (省略可)
モデル構成
モデルのインタラクションの構成パラメータ。
`agent_config` の代替。`model` が設定されている場合にのみ適用されます。
フィールド
出力のランダム性を制御します。
サンプリング時に考慮するトークンの累積確率の最大値。
再現性のためにデコードで使用されるシード。
出力インタラクションを停止する文字シーケンスのリスト。
tool_choice ToolChoice (省略可)
やり取りに使用するツール。
可能なタイプ
ToolChoiceType
このタイプには特定のフィールドはありません。
ToolChoiceConfig
allowed_tools AllowedTools (省略可)
説明が入力されていません。
フィールド
mode ToolChoiceType (省略可)
ツール選択のモード。
有効な値:
-
auto -
any -
none -
validated
許可されたツールの名前。
thinking_level ThinkingLevel (省略可)
モデルが生成する思考トークンのレベル。
有効な値:
-
low -
high
thinking_summaries ThinkingSummaries (省略可)
レスポンスに思考の要約を含めるかどうか。
有効な値:
-
auto -
none
レスポンスに含めるトークンの最大数。
speech_config SpeechConfig (省略可)
音声インタラクションの構成。
フィールド
話者の声。
音声の言語。
話者の名前。プロンプトで指定された話者の名前と一致している必要があります。
agent_config object (省略可)
エージェントの構成
エージェントの構成。
`generation_config` の代替。`agent` が設定されている場合にのみ適用されます。
考えられるタイプ
ポリモーフィック ディスクリミネータ: type
DynamicAgentConfig
動的エージェントの構成。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "dynamic" に設定。
DeepResearchAgentConfig
Deep Research エージェントの構成。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "deep-research" に設定。
thinking_summaries ThinkingSummaries (省略可)
レスポンスに思考の要約を含めるかどうか。
有効な値:
-
auto -
none
以前のインタラクションの ID(存在する場合)。
response_modalities ResponseModality (省略可)
リクエストされたレスポンスのモダリティ(TEXT、IMAGE、AUDIO)。
有効な値:
-
text -
image -
audio
レスポンス
Interaction リソースを返します。
シンプルなリクエスト
返信の例
{ "created": "2025-11-26T12:25:15Z", "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "text": "Hello! I'm functioning perfectly and ready to assist you.\n\nHow are you doing today?", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-11-26T12:25:15Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 7 } ], "total_cached_tokens": 0, "total_input_tokens": 7, "total_output_tokens": 20, "total_reasoning_tokens": 22, "total_tokens": 49, "total_tool_use_tokens": 0 } }
マルチターン
返信の例
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "The capital of France is Paris." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 50 } ], "total_cached_tokens": 0, "total_input_tokens": 50, "total_output_tokens": 10, "total_reasoning_tokens": 0, "total_tokens": 60, "total_tool_use_tokens": 0 } }
画像入力
返信の例
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "A white humanoid robot with glowing blue eyes stands holding a red skateboard." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 10 }, { "modality": "image", "tokens": 258 } ], "total_cached_tokens": 0, "total_input_tokens": 268, "total_output_tokens": 20, "total_reasoning_tokens": 0, "total_tokens": 288, "total_tool_use_tokens": 0 } }
関数呼び出し
返信の例
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "requires_action", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "function_call", "function_call": { "name": "get_weather", "arguments": { "location": "Boston, MA" } } } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 100 } ], "total_cached_tokens": 0, "total_input_tokens": 100, "total_output_tokens": 25, "total_reasoning_tokens": 0, "total_tokens": 125, "total_tool_use_tokens": 50 } }
Deep Research
返信の例
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "agent": "deep-research-pro-preview-12-2025", "status": "completed", "object": "interaction", "created": "2025-11-26T12:22:47Z", "updated": "2025-11-26T12:22:47Z", "role": "model", "outputs": [ { "type": "text", "text": "Here is a comprehensive research report on the current state of cancer research..." } ], "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 20 } ], "total_cached_tokens": 0, "total_input_tokens": 20, "total_output_tokens": 1000, "total_reasoning_tokens": 500, "total_tokens": 1520, "total_tool_use_tokens": 0 } }
インタラクションの取得
`Interaction.id` に基づいて、単一のインタラクションの完全な詳細を取得します。
パス / クエリ パラメータ
取得するインタラクションの一意の識別子。
true に設定すると、生成されたコンテンツが段階的にストリーミングされます。
デフォルト設定: False
省略可。設定されている場合、イベント ID でマークされたイベントの次のチャンクからインタラクション ストリームを再開します。`stream` が true の場合にのみ使用できます。
使用する API のバージョン。
レスポンス
Interaction リソースを返します。
インタラクションを取得する
返信の例
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "model": "gemini-2.5-flash", "status": "completed", "object": "interaction", "created": "2025-11-26T12:25:15Z", "updated": "2025-11-26T12:25:15Z", "role": "model", "outputs": [ { "type": "text", "text": "I'm doing great, thank you for asking! How can I help you today?" } ] }
インタラクションの削除
ID でインタラクションを削除します。
パス / クエリ パラメータ
削除するインタラクションの一意の識別子。
使用する API のバージョン。
レスポンス
成功すると、レスポンスは空になります。
インタラクションを削除
インタラクションのキャンセル
ID でインタラクションをキャンセルします。これは、実行中のバックグラウンド インタラクションにのみ適用されます。
パス / クエリ パラメータ
取得するインタラクションの一意の識別子。
使用する API のバージョン。
レスポンス
Interaction リソースを返します。
インタラクションのキャンセル
返信の例
{ "id": "v1_ChdPU0F4YWFtNkFwS2kxZThQZ05lbXdROBIXT1NBeGFhbTZBcEtpMWU4UGdOZW13UTg", "agent": "deep-research-pro-preview-12-2025", "status": "cancelled", "object": "interaction", "created": "2025-11-26T12:25:15Z", "updated": "2025-11-26T12:25:15Z", "role": "model" }
リソース
インタラクション
Interaction リソース。
フィールド
model ModelOption (省略可)
インタラクションの生成に使用される `Model` の名前。
有効な値:
-
gemini-2.5-proコーディングや複雑な推論タスクに優れた、最先端の多目的モデル。
-
gemini-2.5-flash100 万トークンのコンテキスト ウィンドウをサポートし、思考予算を備えた、Google 初のハイブリッド推論モデル。
-
gemini-2.5-flash-preview-09-20252.5 Flash モデルに基づく最新モデル。2.5 Flash Preview は、思考を必要とする大規模な処理、低レイテンシ、大量のタスク、エージェントのユースケースに最適です。
-
gemini-2.5-flash-lite最も小型で費用対効果の高いモデル。大規模な使用向けに構築されています。
-
gemini-2.5-flash-lite-preview-09-2025費用対効果、高スループット、高品質向けに最適化された Gemini 2.5 Flash Lite に基づく最新モデル。
-
gemini-2.5-flash-preview-native-audio-dialogGoogle のネイティブ音声モデルは、より高品質な音声出力に最適化されており、話し方のペースや自然さ、詳細度、ムードをより適切に表現できます。
-
gemini-2.5-flash-image-preview速度、柔軟性、コンテキスト理解に最適化された Google のネイティブ画像生成モデル。テキストの入力と出力の料金は、2.5 Flash と同じです。
-
gemini-2.5-pro-preview-ttsGoogle の 2.5 Pro テキスト音声変換モデルは、強力で低レイテンシの音声生成に最適化されており、より自然な出力を実現し、プロンプトを簡単に操作できます。
-
gemini-3-pro-previewSOTA の推論とマルチモーダル理解を備え、強力なエージェント機能とバイブ コーディング機能を備えた、Google の最もインテリジェントなモデルです。
agent AgentOption (省略可)
インタラクションの生成に使用される `Agent` の名前。
有効な値:
-
deep-research-pro-preview-12-2025Gemini Deep Research エージェント
出力専用。インタラクション完了の一意の識別子。
出力専用。インタラクションのステータス。
有効な値:
-
in_progress -
requires_action -
completed -
failed -
cancelled
出力専用。レスポンスが作成された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。
出力専用。レスポンスが最後に更新された時刻(ISO 8601 形式(YYYY-MM-DDThh:mm:ssZ))。
出力専用。インタラクションの役割。
出力専用。モデルからのレスポンス。
出力専用。インタラクションのオブジェクト タイプ。常に `interaction` に設定します。
常に "interaction" に設定。
usage Usage (省略可)
出力専用。インタラクション リクエストのトークン使用量に関する統計情報。
フィールド
プロンプト(コンテキスト)内のトークン数。
input_tokens_by_modality ModalityTokens (省略可)
入力トークンの使用状況をモダリティ別に分類した内訳。
フィールド
modality ResponseModality (省略可)
トークン数に関連付けられたモダリティ。
有効な値:
-
text -
image -
audio
モダリティのトークン数。
プロンプトのキャッシュに保存された部分(キャッシュに保存されたコンテンツ)のトークン数。
cached_tokens_by_modality ModalityTokens (省略可)
モダリティ別のキャッシュ保存されたトークンの使用状況の内訳。
フィールド
modality ResponseModality (省略可)
トークン数に関連付けられたモダリティ。
有効な値:
-
text -
image -
audio
モダリティのトークン数。
生成されたすべてのレスポンスのトークンの合計数。
output_tokens_by_modality ModalityTokens (省略可)
出力トークンの使用状況をモダリティ別に分類した内訳。
フィールド
modality ResponseModality (省略可)
トークン数に関連付けられたモダリティ。
有効な値:
-
text -
image -
audio
モダリティのトークン数。
ツール使用プロンプト内のトークン数。
tool_use_tokens_by_modality ModalityTokens (省略可)
モダリティ別のツール使用トークンの使用状況の内訳。
フィールド
modality ResponseModality (省略可)
トークン数に関連付けられたモダリティ。
有効な値:
-
text -
image -
audio
モダリティのトークン数。
思考モデルの思考のトークン数。
インタラクション リクエストのトークンの合計数(プロンプト + レスポンス + その他の内部トークン)。
以前のインタラクションの ID(存在する場合)。
例
例
{ "created": "2025-12-04T15:01:45Z", "id": "v1_ChdXS0l4YWZXTk9xbk0xZThQczhEcmlROBIXV0tJeGFmV05PcW5NMWU4UHM4RHJpUTg", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "text": "Hello! I'm doing well, functioning as expected. Thank you for asking! How are you doing today?", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-12-04T15:01:45Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 7 } ], "total_cached_tokens": 0, "total_input_tokens": 7, "total_output_tokens": 23, "total_reasoning_tokens": 49, "total_tokens": 79, "total_tool_use_tokens": 0 } }
データモデル
コンテンツ
レスポンスの内容。
可能なタイプ
ポリモーフィック ディスクリミネータ: type
TextContent
テキスト コンテンツ ブロック。
テキスト コンテンツ。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "text" に設定。
annotations Annotation (省略可)
モデルで生成されたコンテンツの引用情報。
フィールド
このソースに帰属するレスポンスのセグメントの開始。インデックスはセグメントの開始位置を示し、バイト単位で測定されます。
帰属セグメントの終了位置(この位置自体は含みません)。
テキストの一部に帰属するソース。URL、タイトル、その他の識別子を指定できます。
ImageContent
画像コンテンツ ブロック。
説明が入力されていません。
説明が入力されていません。
mime_type ImageMimeTypeOption (省略可)
説明が入力されていません。
有効な値:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "image" に設定。
解像度 MediaResolution (省略可)
メディアの解像度。
有効な値:
-
low -
medium -
high
AudioContent
音声コンテンツ ブロック。
説明が入力されていません。
説明が入力されていません。
mime_type AudioMimeTypeOption (省略可)
説明が入力されていません。
有効な値:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "audio" に設定。
DocumentContent
ドキュメントのコンテンツ ブロック。
説明が入力されていません。
説明が入力されていません。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "document" に設定。
VideoContent
動画コンテンツ ブロック。
説明が入力されていません。
説明が入力されていません。
mime_type VideoMimeTypeOption (省略可)
説明が入力されていません。
有効な値:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "video" に設定。
resolution MediaResolution (省略可)
メディアの解像度。
有効な値:
-
low -
medium -
high
ThoughtContent
思考コンテンツ ブロック。
生成の一部となるバックエンド ソースと一致するシグネチャ。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "thought" に設定。
summary ThoughtSummary (省略可)
考えの要約。
FunctionCallContent
関数ツール呼び出しのコンテンツ ブロック。
呼び出すツールの名前。
関数に渡す引数。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "function_call" に設定。
この特定のツール呼び出しの一意の ID。
FunctionResultContent
関数ツールの結果コンテンツ ブロック。
呼び出されたツールの名前。
ツール呼び出しでエラーが発生したかどうか。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "function_result" に設定。
ツール呼び出しの結果。
関数呼び出しブロックの ID と一致する ID。
CodeExecutionCallContent
コード実行コンテンツ。
引数 CodeExecutionCallArguments (省略可)
コード実行に渡す引数。
フィールド
`code` のプログラミング言語。
有効な値:
-
python
実行されるコード。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "code_execution_call" に設定。
この特定のツール呼び出しの一意の ID。
CodeExecutionResultContent
コード実行結果のコンテンツ。
コード実行の出力。
コード実行でエラーが発生したかどうか。
バックエンド検証用の署名ハッシュ。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "code_execution_result" に設定。
コード実行呼び出しブロックの ID と一致させる ID。
UrlContextCallContent
URL コンテキストのコンテンツ。
引数 UrlContextCallArguments (省略可)
URL コンテキストに渡す引数。
フィールド
取得する URL。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "url_context_call" に設定。
この特定のツール呼び出しの一意の ID。
UrlContextResultContent
URL コンテキストの結果コンテンツ。
URL コンテキスト結果のシグネチャ。
result UrlContextResult (省略可)
URL コンテキストの結果。
フィールド
取得された URL。
URL 取得のステータス。
有効な値:
-
success -
error -
paywall -
unsafe
URL コンテキストでエラーが発生したかどうか。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "url_context_result" に設定。
URL コンテキスト呼び出しブロックの ID と一致する ID。
GoogleSearchCallContent
Google 検索のコンテンツ。
arguments GoogleSearchCallArguments (省略可)
Google 検索に渡す引数。
フィールド
ウェブ検索のフォローアップ用のウェブ検索クエリ。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "google_search_call" に設定。
この特定のツール呼び出しの一意の ID。
GoogleSearchResultContent
Google 検索結果のコンテンツ。
Google 検索結果の署名。
result GoogleSearchResult (省略可)
Google 検索の結果。
フィールド
検索結果の URI 参照。
検索結果のタイトル。
ウェブページまたはアプリの WebView に埋め込むことができるウェブ コンテンツ スニペット。
Google 検索でエラーが発生したかどうか。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "google_search_result" に設定。
Google 検索呼び出しブロックの ID と一致させるための ID。
McpServerToolCallContent
MCPServer ツール呼び出しのコンテンツ。
呼び出されたツールの名前。
使用された MCP サーバーの名前。
関数の引数の JSON オブジェクト。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "mcp_server_tool_call" に設定。
この特定のツール呼び出しの一意の ID。
McpServerToolResultContent
MCPServer ツールの結果コンテンツ。
この特定のツール呼び出しで呼び出されるツールの名前。
使用された MCP サーバーの名前。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "mcp_server_tool_result" に設定。
ツール呼び出しの結果。
MCP サーバー ツール呼び出しブロックの ID と一致する ID。
FileSearchResultContent
ファイル検索結果のコンテンツ。
result FileSearchResult (省略可)
ファイル検索の結果。
フィールド
検索結果のタイトル。
検索結果のテキスト。
ファイル検索ストアの名前。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "file_search_result" に設定。
例
テキスト
{ "type": "text", "text": "Hello, how are you?" }
画像
{ "type": "image", "data": "BASE64_ENCODED_IMAGE", "mime_type": "image/png" }
音声
{ "type": "audio", "data": "BASE64_ENCODED_AUDIO", "mime_type": "audio/wav" }
ドキュメント
{ "type": "document", "data": "BASE64_ENCODED_DOCUMENT", "mime_type": "application/pdf" }
動画
{ "type": "video", "uri": "https://www.youtube.com/watch?v=9hE5-98ZeCg" }
思考
{ "type": "thought", "summary": [ { "type": "text", "text": "The user is asking about the weather. I should use the get_weather tool." } ], "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh" }
関数呼び出し
{ "type": "function_call", "name": "get_weather", "id": "gth23981", "arguments": { "location": "Boston, MA" } }
関数の結果
{ "type": "function_result", "name": "get_weather", "call_id": "gth23981", "result": { "weather": "sunny" } }
コード実行呼び出し
{ "type": "code_execution_call", "id": "call_123456", "arguments": { "language": "python", "code": "print('hello world')" } }
コード実行結果
{ "type": "code_execution_result", "call_id": "call_123456", "result": "hello world\n" }
URL コンテキストの呼び出し
{ "type": "url_context_call", "id": "call_123456", "arguments": { "urls": [ "https://www.example.com" ] } }
Url Context Result
{ "type": "url_context_result", "call_id": "call_123456", "result": [ { "url": "https://www.example.com", "status": "SUCCESS" } ] }
Google 検索通話
{ "type": "google_search_call", "id": "call_123456", "arguments": { "queries": [ "weather in Boston" ] } }
Google 検索結果
{ "type": "google_search_result", "call_id": "call_123456", "result": [ { "url": "https://www.google.com/search?q=weather+in+Boston", "title": "Weather in Boston" } ] }
Mcp サーバーのツール呼び出し
{ "type": "mcp_server_tool_call", "id": "call_123456", "name": "get_forecast", "server_name": "weather_server", "arguments": { "city": "London" } }
Mcp Server Tool Result
{ "type": "mcp_server_tool_result", "name": "get_forecast", "server_name": "weather_server", "call_id": "call_123456", "result": "sunny" }
ファイル検索結果
{ "type": "file_search_result", "result": [ { "text": "search result chunk", "file_search_store": "file_search_store" } ] }
ツール
考えられるタイプ
ポリモーフィック ディスクリミネータ: type
関数
モデルで使用できるツール。
関数名。
関数の説明。
関数のパラメータの JSON スキーマ。
説明が入力されていません。
常に "function" に設定。
GoogleSearch
モデルが Google を検索するために使用できるツール。
説明が入力されていません。
常に "google_search" に設定。
CodeExecution
モデルがコードを実行するために使用できるツール。
説明が入力されていません。
常に "code_execution" に設定。
UrlContext
モデルが URL コンテキストを取得するために使用できるツール。
説明が入力されていません。
常に "url_context" に設定。
ComputerUse
モデルがコンピュータとやり取りするために使用できるツール。
説明が入力されていません。
常に "computer_use" に設定。
運用中の環境。
有効な値:
-
browser
モデル呼び出しから除外される事前定義関数のリスト。
McpServer
MCPServer は、モデルから呼び出してアクションを実行できるサーバーです。
説明が入力されていません。
常に "mcp_server" に設定。
MCPServer の名前。
MCPServer エンドポイントの完全な URL。例: "https://api.example.com/mcp"
省略可: 認証ヘッダー、タイムアウトなどのフィールド(必要な場合)。
allowed_tools AllowedTools (省略可)
許可されているツール。
フィールド
mode ToolChoiceType (省略可)
ツール選択のモード。
有効な値:
-
auto -
any -
none -
validated
許可されたツールの名前。
FileSearch
モデルがファイルの検索に使用できるツール。
検索するファイル検索ストアの名前。
取得するセマンティック検索チャンクの数。
セマンティック検索のドキュメントとチャンクに適用するメタデータ フィルタ。
説明が入力されていません。
常に "file_search" に設定。
例
関数
GoogleSearch
CodeExecution
UrlContext
ComputerUse
McpServer
FileSearch
CANNOT TRANSLATE
フィールド
このターンの発信者。入力の場合は user、モデル出力の場合は model である必要があります。
ターンの内容。
例
ユーザーのターン
{ "role": "user", "content": [ { "type": "text", "text": "user turn" } ] }
モデルのターン
{ "role": "model", "content": [ { "type": "text", "text": "model turn" } ] }
InteractionSseEvent
可能なタイプ
ポリモーフィック ディスクリミネータ: event_type
InteractionEvent
説明が入力されていません。
有効な値:
-
interaction.start -
interaction.complete
説明が入力されていません。
このイベントからインタラクション ストリームを再開するために使用される event_id トークン。
InteractionStatusUpdate
説明が入力されていません。
説明が入力されていません。
有効な値:
-
in_progress -
requires_action -
completed -
failed -
cancelled
説明が入力されていません。
常に "interaction.status_update" に設定。
このイベントからインタラクション ストリームを再開するために使用される event_id トークン。
ContentStart
説明が入力されていません。
説明が入力されていません。
説明が入力されていません。
常に "content.start" に設定。
このイベントからインタラクション ストリームを再開するために使用される event_id トークン。
ContentDelta
説明が入力されていません。
説明が入力されていません。
常に "content.delta" に設定。
このイベントからインタラクション ストリームを再開するために使用される event_id トークン。
delta object (省略可)
説明が入力されていません。
考えられるタイプ
ポリモーフィック ディスクリミネータ: type
TextDelta
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "text" に設定。
annotations Annotation (省略可)
モデルで生成されたコンテンツの引用情報。
フィールド
このソースに帰属するレスポンスのセグメントの開始。インデックスはセグメントの開始位置を示し、バイト単位で測定されます。
帰属セグメントの終了位置(この位置自体は含みません)。
テキストの一部に帰属するソース。URL、タイトル、その他の識別子を指定できます。
ImageDelta
説明が入力されていません。
説明が入力されていません。
mime_type ImageMimeTypeOption (省略可)
説明が入力されていません。
有効な値:
-
image/png -
image/jpeg -
image/webp -
image/heic -
image/heif
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "image" に設定。
resolution MediaResolution (省略可)
メディアの解像度。
有効な値:
-
low -
medium -
high
AudioDelta
説明が入力されていません。
説明が入力されていません。
mime_type AudioMimeTypeOption (省略可)
説明が入力されていません。
有効な値:
-
audio/wav -
audio/mp3 -
audio/aiff -
audio/aac -
audio/ogg -
audio/flac
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "audio" に設定。
DocumentDelta
説明が入力されていません。
説明が入力されていません。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "document" に設定。
VideoDelta
説明が入力されていません。
説明が入力されていません。
mime_type VideoMimeTypeOption (省略可)
説明が入力されていません。
有効な値:
-
video/mp4 -
video/mpeg -
video/mov -
video/avi -
video/x-flv -
video/mpg -
video/webm -
video/wmv -
video/3gpp
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "video" に設定。
解像度 MediaResolution (省略可)
メディアの解像度。
有効な値:
-
low -
medium -
high
ThoughtSummaryDelta
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "thought_summary" に設定。
説明が入力されていません。
ThoughtSignatureDelta
生成の一部となるバックエンド ソースと一致するシグネチャ。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "thought_signature" に設定。
FunctionCallDelta
説明が入力されていません。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "function_call" に設定。
この特定のツール呼び出しの一意の ID。
FunctionResultDelta
説明が入力されていません。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "function_result" に設定。
ツール呼び出し結果の差分。
関数呼び出しブロックの ID と一致する ID。
CodeExecutionCallDelta
引数 CodeExecutionCallArguments (省略可)
説明が入力されていません。
フィールド
`code` のプログラミング言語。
有効な値:
-
python
実行されるコード。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "code_execution_call" に設定。
この特定のツール呼び出しの一意の ID。
CodeExecutionResultDelta
説明が入力されていません。
説明が入力されていません。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "code_execution_result" に設定。
関数呼び出しブロックの ID と一致する ID。
UrlContextCallDelta
引数 UrlContextCallArguments (省略可)
説明が入力されていません。
フィールド
取得する URL。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "url_context_call" に設定。
この特定のツール呼び出しの一意の ID。
UrlContextResultDelta
説明が入力されていません。
result UrlContextResult (省略可)
説明が入力されていません。
フィールド
取得された URL。
URL 取得のステータス。
有効な値:
-
success -
error -
paywall -
unsafe
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "url_context_result" に設定。
関数呼び出しブロックの ID と一致する ID。
GoogleSearchCallDelta
arguments GoogleSearchCallArguments (省略可)
説明が入力されていません。
フィールド
ウェブ検索のフォローアップ用のウェブ検索クエリ。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "google_search_call" に設定。
この特定のツール呼び出しの一意の ID。
GoogleSearchResultDelta
説明が入力されていません。
result GoogleSearchResult (省略可)
説明が入力されていません。
フィールド
検索結果の URI 参照。
検索結果のタイトル。
ウェブページまたはアプリの WebView に埋め込むことができるウェブ コンテンツ スニペット。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "google_search_result" に設定。
関数呼び出しブロックの ID と一致する ID。
McpServerToolCallDelta
説明が入力されていません。
説明が入力されていません。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "mcp_server_tool_call" に設定。
この特定のツール呼び出しの一意の ID。
McpServerToolResultDelta
説明が入力されていません。
説明が入力されていません。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "mcp_server_tool_result" に設定。
ツール呼び出し結果の差分。
関数呼び出しブロックの ID と一致する ID。
FileSearchResultDelta
result FileSearchResult (省略可)
説明が入力されていません。
フィールド
検索結果のタイトル。
検索結果のテキスト。
ファイル検索ストアの名前。
コンテンツ oneof の OpenAPI タイプ判別子として使用されます。
常に "file_search_result" に設定。
ContentStop
説明が入力されていません。
説明が入力されていません。
常に "content.stop" に設定。
このイベントからインタラクション ストリームを再開するために使用される event_id トークン。
ErrorEvent
説明が入力されていません。
常に "error" に設定。
error Error (省略可)
説明が入力されていません。
フィールド
エラーの種類を識別する URI。
人が読める形式のエラー メッセージ。
このイベントからインタラクション ストリームを再開するために使用される event_id トークン。
例
Interaction Start
{ "event_type": "interaction.start", "interaction": { "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "status": "in_progress" } }
Interaction Complete
{ "event_type": "interaction.complete", "interaction": { "created": "2025-12-09T18:45:40Z", "id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "model": "gemini-2.5-flash", "object": "interaction", "outputs": [ { "signature": "CoMDAXLI2nynRYojJIy6B1Jh9os2crpWLfB0+19xcLsGG46bd8wjkF/6RNlRUdvHrXyjsHkG0BZFcuO/bPOyA6Xh5jANNgx82wPHjGExN8A4ZQn56FlMwyZoqFVQz0QyY1lfibFJ2zU3J87uw26OewzcuVX0KEcs+GIsZa3EA6WwqhbsOd3wtZB3Ua2Qf98VAWZTS5y/tWpql7jnU3/CU7pouxQr/Bwft3hwnJNesQ9/dDJTuaQ8Zprh9VRWf1aFFjpIueOjBRrlT3oW6/y/eRl/Gt9BQXCYTqg/38vHFUU4Wo/d9dUpvfCe/a3o97t2Jgxp34oFKcsVb4S5WJrykIkw+14DzVnTpCpbQNFckqvFLuqnJCkL0EQFtunBXI03FJpPu3T1XU6id8S7ojoJQZSauGUCgmaLqUGdMrd08oo81ecoJSLs51Re9N/lISGmjWFPGpqJLoGq6uo4FHz58hmeyXCgHG742BHz2P3MiH1CXHUT2J8mF6zLhf3SR9Qb3lkrobAh", "type": "thought" }, { "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save", "type": "text" }, { "text": " for one beloved anomaly: a chipped porcelain teacup, inherited from her grandmother, which held her morning Earl Grey.\n\nOne Tuesday, stirring her tea, Elara paused. At the bottom, nestled against the porcelain, was a star.", "type": "text" }, { "text": " Not a star-shaped tea leaf, but a miniature, perfectly formed celestial body, radiating a faint, cool luminescence. Before she could gasp, it dissolved, leaving only the amber swirl of her brew. She dismissed it as a trick of", "type": "text" }, { "text": " tired eyes.\n\nBut the next morning, a gossamer-thin feather, smaller than an eyelash and shimmering with iridescent hues, floated on the surface. It vanished the moment she tried to touch it. A week later, a single,", "type": "text" }, { "text": " impossibly delicate bloom, like spun moonbeam, unfolded in her cup before fading into nothingness.\n\nThese weren't illusions. Each day, Elara\u2019s chipped teacup offered a fleeting, exquisite secret. A tiny, perfect", "type": "text" }, { "text": " crystal, a miniature spiral nebula, a fragment of rainbow caught in liquid form. They never lingered, never accumulated, simply *were* and then *weren't*, leaving behind a residue of quiet wonder.\n\nElara never spoke", "type": "text" }, { "text": " of it. It was her private wellspring, a daily reminder that magic could exist in the smallest, most overlooked corners of the world. Her routine remained unchanged, her external life a picture of calm, but inside, a secret garden blo", "type": "text" }, { "text": "omed. Each dawn brought not just tea, but the silent promise of extraordinary beauty, waiting patiently in a chipped teacup.", "type": "text" } ], "role": "model", "status": "completed", "updated": "2025-12-09T18:45:40Z", "usage": { "input_tokens_by_modality": [ { "modality": "text", "tokens": 11 } ], "total_cached_tokens": 0, "total_input_tokens": 11, "total_output_tokens": 364, "total_reasoning_tokens": 1120, "total_tokens": 1495, "total_tool_use_tokens": 0 } } }
インタラクションのステータスの更新
{ "event_type": "interaction.status_update", "interaction_id": "v1_ChdTMjQ0YWJ5TUF1TzcxZThQdjRpcnFRcxIXUzI0NGFieU1BdU83MWU4UHY0aXJxUXM", "status": "in_progress" }
コンテンツの開始
{ "event_type": "content.start", "content": { "type": "text" }, "index": 1 }
コンテンツの差分
{ "event_type": "content.delta", "delta": { "type": "text", "text": "Elara\u2019s life was a symphony of quiet moments. A librarian, she found solace in the hushed aisles, the scent of aged paper, and the predictable rhythm of her days. Her small apartment, meticulously ordered, reflected this internal calm, save" }, "index": 1 }
コンテンツの停止
{ "event_type": "content.stop", "index": 1 }
エラーイベント
{ "event_type": "error", "error": { "message": "Failed to get completed interaction: Result not found.", "code": "not_found" } }