Interactions API
Interactions API は、Gemini を使用して構築するための新しい標準プリミティブであり、すべての新しいプロジェクトにおすすめします。エージェント ワークフロー、サーバーサイドの状態管理、複雑なマルチモーダル、マルチターンの会話に最適化されています。元の generateContent API は引き続き完全にサポートされます。
Interactions API を使用する理由
- サーバーサイドの履歴管理:
previous_interaction_idを使用してマルチターンのフローを簡素化します。サーバーはデフォルトで状態を有効にしますが(store=true)、store=falseを設定してステートレス動作を選択することもできます。 - 実行ステップの観察: 型付きステップを使用すると、複雑なフローのデバッグが容易になり、中間イベント(思考や検索ウィジェットなど)の UI をレンダリングできます。
- エージェント ワークフロー向けに構築: 型付き実行ステップを通じて、マルチステップ ツールの使用、オーケストレーション、複雑な推論フローをネイティブにサポートします。
- 長時間実行タスクとバックグラウンド タスク:
background=trueを使用して、Deep Think や Deep Research などの時間のかかるオペレーションをバックグラウンド プロセスにオフロードできます。 - 新しいモデルと機能へのアクセス: 今後、コア メインライン ファミリー以外の新しいモデルと、新しいエージェント機能とツールは、Interactions API でのみリリースされます。
新しいプロジェクトを開始する場合、エージェント アプリケーションを構築する場合、またはサーバーサイドの会話管理が必要な場合は、Interactions API を使用します 。ニーズに合った既存の統合がある場合、または Batch API や明示的なキャッシュなど、Interactions API でまだ利用できない機能が必要な場合は、generateContent を使用します。
始める
- コーディング エージェントを設定する: Gemini Docs MCP に接続し、
最新のデベロッパー ドキュメントとベスト プラクティスにアシスタントが直接アクセスできるように、
gemini-interactions-apiスキルをインストールします。 コーディング エージェントを設定する → generateContentから移行する: 既存の統合がある場合は、 移行ガイドに沿って Interactions API に移行します。- クイックスタートを試す: Interactions API クイックスタートの最小限の動作例から始めます。
機能ガイド
これらのガイドで、Interactions API の具体的な機能をご確認ください。これらのページで切り替えを使用して、generateContent と 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 リファレンスにある delete メソッドを使用していつでも削除できます。インタラクションを削除できるのは、インタラクション 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 Clip プレビュー | モデル | 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)
- 明示的なキャッシュ: サーバーサイドの暗黙的なキャッシュは、Interactions API
で
previous_interaction_idを介して利用できます。
破壊的変更
Interactions API は現在、初期ベータ版の段階です。実際の使用状況とデベロッパーからのフィードバックに基づいて、API 機能、リソース スキーマ、SDK インターフェースの開発と改良を積極的に行っています。
そのため、破壊的変更が発生する可能性があります 。 更新には、次の変更が含まれる場合があります。
- 入力と出力のスキーマ。
- SDK メソッドのシグネチャとオブジェクト構造。
- 特定の機能の動作。
本番環境のワークロードでは、引き続き標準の
generateContent API を使用する必要があります。これは安定したデプロイにおすすめの方法であり、今後も積極的に開発とメンテナンスを行っていきます。
フィードバック
皆様からのフィードバックは、Interactions API の開発に不可欠です。 ご意見やバグの報告、機能のリクエストについては、 Google AI デベロッパー コミュニティ フォーラムをご利用ください。