Interactions API
Interactions API は、Gemini を使用して構築するための新しい標準プリミティブであり、すべての新しいプロジェクトにおすすめします。エージェント ワークフロー、サーバーサイドの状態管理、複雑なマルチモーダル マルチターンの会話向けに最適化されています。元の generateContent API は引き続き完全にサポートされます。
Interactions API を使用する理由
- サーバーサイドの履歴管理:
previous_interaction_idを使用してマルチターンのフローを簡素化します。サーバーはデフォルトで状態を有効にしますが(store=true)、store=falseを設定することでステートレス動作を選択できます。 - Observable 実行ステップ: 型付きステップにより、複雑なフローのデバッグが容易になり、中間イベント(思考や検索ウィジェットなど)の UI をレンダリングできます。
- エージェント ワークフロー向けに構築: 型付きの実行ステップを通じて、マルチステップのツール使用、オーケストレーション、複雑な推論フローをネイティブにサポートします。
- 長時間実行タスクとバックグラウンド タスク:
background=trueを使用して、Deep Think や Deep Research などの時間のかかるオペレーションをバックグラウンド プロセスにオフロードすることをサポートします。 - 新しいモデルと機能へのアクセス: 今後、コア メインライン ファミリー以外の新しいモデルや、新しいエージェント機能とツールは、Interactions API でのみリリースされます。
新しいプロジェクトを開始する場合、エージェント アプリケーションを構築する場合、またはサーバーサイドの会話管理が必要な場合は、Interactions API を使用します。ニーズを満たす既存の統合がある場合や、Interactions API でまだ利用できない機能(Batch API や明示的なキャッシュ保存など)が必要な場合は、generateContent を使用します。
始める
- コーディング エージェントを設定する: Gemini Docs MCP に接続し、
gemini-interactions-apiスキルをインストールして、アシスタントが最新のデベロッパー ドキュメントとベスト プラクティスに直接アクセスできるようにします。コーディング エージェントを設定する → generateContentから移行する: 既存の統合がある場合は、移行ガイドに沿って Interactions API に移行します。- クイックスタートを試す: Interactions API クイックスタートで、最小限の動作例から始めます。
機能ガイド
以下のガイドで、Interactions API の具体的な機能についてご確認ください。これらのページの切り替えを使用して、generateContent API と Interactions API を切り替えることができます。
Interactions API の仕組み
Interactions API は、Interaction というコアリソースを中心に構成されています。Interaction は、会話またはタスクの完全なターンを表します。セッション レコードとして機能し、インタラクションの履歴全体が 実行ステップの時系列順のシーケンスとして含まれます。これらのステップには、モデルの思考、サーバーサイドまたはクライアントサイドのツール呼び出しと結果(function_call や function_result など)、最終的な model_output が含まれます。保存されたリソース(interactions.get で取得)には、完全なコンテキストの user_input ステップも含まれますが、interactions.create レスポンスはモデル生成ステップのみを返します。
interactions.create を呼び出すと、新しい Interaction リソースが作成されます。
サーバーサイドの状態管理
previous_interaction_id パラメータを使用して、完了したインタラクションの id を後続の呼び出しで使用して、会話を続けることができます。サーバーはこの ID を使用して会話履歴を取得するため、チャット履歴全体を再送信する必要がなくなります。
previous_interaction_id パラメータは、previous_interaction_id を使用して会話履歴(入力と出力)のみを保持します。他のパラメータはインタラクション スコープであり、現在生成している特定のインタラクションにのみ適用されます。
toolssystem_instructiongeneration_config(thinking_level、temperatureなどを含む)
つまり、これらのパラメータを適用する場合は、新しいインタラクションごとに再指定する必要があります。このサーバーサイドの状態管理は省略可能です。各リクエストで完全な会話履歴を送信して、ステートレス モードで動作することもできます。
データ ストレージと保持
デフォルトでは、API はすべての Interaction オブジェクト(store=true)を保存します。これは、サーバーサイドの状態管理機能(previous_interaction_id を使用)、バックグラウンド実行(background=true を使用)、オブザーバビリティの目的での使用を簡素化するためです。
- 有料プラン: システムはインタラクションを 55 日間保持します。
- 無料枠: システムはインタラクションを 1 日間保持します。
この動作を希望しない場合は、リクエストで store=false を設定できます。この制御は状態管理とは別のもので、インタラクションごとに保存をオプトアウトできます。ただし、store=false は background=true と互換性がなく、以降のターンで previous_interaction_id を使用できなくなります。
保存されたインタラクションは、API リファレンスにある削除メソッドを使用して、いつでも削除できます。やり取りを削除できるのは、やり取り ID がわかっている場合のみです。
保持期間が終了すると、データは自動的に削除されます。
システムは、条件に従って Interaction オブジェクトを処理します。
ベスト プラクティス
- キャッシュ ヒット率:
previous_interaction_idを使用して会話を継続すると、システムは会話履歴の暗黙的なキャッシュ保存をより簡単に利用できるようになり、パフォーマンスが向上し、費用が削減されます。 - インタラクションの組み合わせ: 会話内でエージェントとモデルのインタラクションを柔軟に組み合わせることができます。たとえば、初期のデータ収集には Deep Research エージェントなどの専用エージェントを使用し、要約や再フォーマットなどの後続のタスクには標準の Gemini モデルを使用し、これらの手順を
previous_interaction_idでリンクできます。
サポートされているモデルとエージェント
| モデル名 | タイプ | モデル ID |
|---|---|---|
| Gemini 3.1 Flash-Lite | モデル | gemini-3.1-flash-lite |
| Gemini 3.1 Flash-Lite プレビュー | モデル | gemini-3.1-flash-lite-preview |
| Gemini 3.1 Pro プレビュー版 | モデル | gemini-3.1-pro-preview |
| Gemini 3 Flash プレビュー | モデル | gemini-3-flash-preview |
| Gemini 2.5 Pro | モデル | gemini-2.5-pro |
| Gemini 2.5 Flash | モデル | gemini-2.5-flash |
| Gemini 2.5 Flash-lite | モデル | gemini-2.5-flash-lite |
| Lyria 3 クリップのプレビュー | モデル | lyria-3-clip-preview |
| Lyria 3 Pro プレビュー | モデル | lyria-3-pro-preview |
| Deep Research プレビュー | エージェント | deep-research-pro-preview-12-2025 |
| Deep Research プレビュー | エージェント | deep-research-preview-04-2026 |
| Deep Research プレビュー | エージェント | deep-research-max-preview-04-2026 |
SDK
Interactions API にアクセスするには、最新バージョンの Google GenAI SDK を使用します。
- Python では、これは
1.55.0バージョン以降のgoogle-genaiパッケージです。 - JavaScript の場合、これは
1.33.0バージョン以降の@google/genaiパッケージです。
SDK のインストール方法について詳しくは、ライブラリ ページをご覧ください。
制限事項
- ベータ版ステータス: Interactions API はベータ版/プレビュー版です。機能とスキーマは変更される可能性があります。
- リモート MCP: Gemini 3 はリモート MCP をサポートしていません。近日中にサポート予定です。
次の機能は generateContent API でサポートされていますが、Interactions API ではまだ利用できません。
- 動画メタデータ: 動画の理解のためにクリッピング間隔とカスタム フレームレートを設定するために使用される
video_metadataフィールド。 - Batch API
- 自動関数呼び出し(Python)
- 明示的なキャッシュ: サーバーサイドの暗黙的なキャッシュは、
previous_interaction_idを介して Interactions API で利用できます。
破壊的変更
Interactions API は現在初期ベータ版です。Google は、実際の使用状況とデベロッパーからのフィードバックに基づいて、API 機能、リソース スキーマ、SDK インターフェースを積極的に開発し、改良しています。その結果、破壊的変更が発生する可能性があります。
既存の互換性を損なう変更:
- ステップ スキーマ: 新しいステップ配列が出力配列に置き換わり、各インタラクション ターンの構造化されたタイムラインが提供されます。
最新の破壊的変更と移行方法については、破壊的変更の移行ガイド(2026 年 5 月)をご覧ください。
その他の更新には、入力と出力のスキーマ、SDK メソッド シグネチャとオブジェクト構造、特定の機能の動作の変更が含まれる可能性があります。
本番環境のワークロードでは、標準の generateContent API を引き続き使用する必要があります。安定したデプロイの推奨パスであり、引き続き積極的に開発とメンテナンスを行っていきます。
フィードバック
皆様からのフィードバックは、Interactions API の開発に不可欠です。ご意見やバグの報告、機能のリクエストについては、Google AI デベロッパー コミュニティ フォーラムをご利用ください。
次のステップ
- Interactions API クイックスタート ノートブックをお試しください。
- Gemini Deep Research エージェントの詳細を確認する。