Google Gemini Interactions API 破壊的変更を完全解説 steps移行・response_format・初心者向け対応ガイド」【2026年5月】

Google Gemini Interactions API 破壊的変更を完全解説 steps移行・response_format・初心者向け対応ガイド」 Google
Google Gemini Interactions API 破壊的変更を完全解説 steps移行・response_format・初心者向け対応ガイド」
📋 改訂履歴
2026年5月26日 v1.0 初版公開。Gemini Interactions API(v1beta)May 2026破壊的変更・stepsスキーマ移行・response_format刷新・初心者向け移行ガイドを掲載
📖 この記事でわかること:

Google GeminiのInteractions API(v1beta)で、2026年5月26日から大規模な「破壊的変更(Breaking Changes)」が適用されています。「APIって何?」という方にもわかるよう、変更内容・理由・具体的な対応手順を丁寧に解説します。6月8日までに対応しないとコードが動かなくなりますので、早めにご確認ください。
⚠️ 緊急:6月8日(2026年)が最終期限!
Interactions APIの旧スキーマ(outputs配列)は2026年6月8日に完全廃止されます。それ以降は旧コードが動作しなくなります。新しい「stepsスキーマ」への移行は今すぐ始めてください。

2026年5月、GoogleのAI開発者向けAPI「Gemini Interactions API(v1beta)」に、過去最大級の仕様変更が行われました。これは単なるマイナーアップデートではなく、AIの動作モデルそのものを「テキスト生成」から「エージェント型の自律実行」へと根本から転換する、開発者にとって非常に重要なアップデートです。

この記事では、エンジニア・開発者の方はもちろん、「APIって何?」というプログラミング初心者の方にも理解できるよう、変更の内容・背景・具体的な移行方法をわかりやすく解説します。

💡 この記事で扱う主なトピック:
  • Interactions APIとは何か(そもそもの基礎)
  • 今回の変更点(outputs → steps、response_format刷新)
  • 変更のタイムラインと移行制御の方法
  • ストリーミングSSEイベントの新仕様
  • SDK・コードの具体的な移行手順チェックリスト
  • Googleが今回の変更を行った戦略的背景

📌 この記事の内容

  1. Interactions APIとは?(基礎から解説)
  2. 変更のタイムライン・スケジュール
  3. コア変更①:outputsからstepsスキーマへ
  4. コア変更②:response_mime_typeの廃止とresponse_format
  5. ストリーミングSSEイベントの新仕様
  6. 開発者向け:具体的な移行手順
  7. 変更の背景:Googleの戦略的意図
  8. まとめ

🔍 Interactions APIとは?(基礎から解説)

💡 「API」「Interactions API」をひとことで言うと?
API(エーピーアイ)とは、ソフトウェア同士が会話するための「窓口」のことです。

たとえば、あなたが作ったアプリからGemini(GoogleのAI)に「この文章を要約して」と依頼するとき、その依頼と回答の受け渡しを担うのがAPIです。

その中でも Interactions API は、AIがツールを使ったり、複数ステップで考えたりする「高度な会話・エージェント処理」に特化した新世代のAPIです。従来の generateContent API と比べて、AIの「思考プロセス」や「ツール実行」を細かく追跡・制御できます。

Gemini Interactions API(v1beta)は、Googleが新世代AI開発のために提供する実験的なAPIです。従来のgenerateContent APIがテキストを1回生成して返すシンプルな設計だったのに対し、Interactions APIは「AIエージェントが複数のステップを踏んで自律的にタスクを実行する」ワークフロー向けに設計されています。

比較項目従来のgenerateContent API新Interactions API
処理モデル 1問1答(ステートレス) 複数ステップ自律実行(エージェント型)
履歴管理 クライアント側で手動管理 サーバー側で自動管理
ツール実行 限定的 Google検索・コード実行・関数呼び出しなど統合
処理の可視化 最終結果のみ 各ステップ(思考・検索・実行)をリアルタイムで追跡可能
本番利用推奨 ✅ 安定版として推奨 ⚠️ v1betaのため変更あり(今後の主力API)
📌 generateContent APIを使っている方へ:
今回の破壊的変更は Interactions APIのみ が対象です。generateContent APIを使っているアプリは影響を受けません。ただし、今後GoogleはInteractions APIを通じてのみ最新モデルや先進機能を提供していく方針のため、長期的には移行検討が必要です。

📅 変更のタイムライン・スケジュール

今回の変更には明確な期限が設けられています。対応を先延ばしにすると、本番サービスが突然停止するリスクがあります。必ずスケジュールを確認してください。

  • 2026年5月20日(移行窓口オープン)
    新スキーマへの事前移行が可能に。リクエストヘッダー Api-Revision: 2026-05-20 で新スキーマに切り替えてテスト可能
  • 2026年5月26日(本日・新スキーマがデフォルト化)本日適用
    新スキーマが既定の動作になりました。旧スキーマへの一時的な切り戻しには Api-Revision: 2026-05-07 が必要
  • 2026年6月8日(旧スキーマ完全廃止)最終期限
    レガシーschema(outputs配列)が完全に削除されます。この日以降は旧コードが一切動作しません。猶予なし
⚠️ 「猶予期間」を安全網だと思わないでください:
5月26日〜6月8日の2週間は「安全な延長期間」ではなく、あくまで最終対応期間です。本番サービスへの影響を避けるため、できるだけ早く移行を完了させることを強く推奨します。

移行期間中の版(Api-Revision)の制御方法

移行期間中は、リクエストヘッダーに Api-Revision を指定することで、適用するスキーマのバージョンを細かく制御できます。

Api-Revisionヘッダーの値効果有効期間
Api-Revision: 2026-05-20 新スキーマ(steps)を先行適用 5月26日まで有効
(ヘッダーなし) 5/26以降は自動的に新スキーマが適用 5月26日以降の既定
Api-Revision: 2026-05-07 旧スキーマ(outputs)に一時的に切り戻し 6月8日まで。その後完全廃止

🔄 コア変更①:outputsからstepsスキーマへ

今回の変更で最も影響が大きいのが、モデルの応答を格納する配列の構造変更です。

💡 「スキーマ」「outputs」「steps」って何?
スキーマとは「データの構造・形のルール」のことです。お弁当箱の仕切りの配置のようなもので、どこに何のデータが入るかが決まっています。

outputs(旧):AIが最終的に生成したテキストだけを入れるシンプルな箱。
steps(新):AIが「考えた」「検索した」「結果を受け取った」「最終回答した」という一連の過程を、時系列順に記録する構造化された箱。

変更の概要

📦
旧:outputs配列
AIが生成した最終テキストのみを含むフラット(平らな)配列。AIが「どうやって考えたか」は見えない
📋
新:steps配列
1回の会話ターン内の実行過程全体を、型定義された構造化データとして時系列に記録。AIの「思考」「ツール実行」「結果」すべてが見える

コードで比較:何がどう変わるか

Before(旧スキーマ)- Python

🐍 Python(旧・outputs使用) # リクエスト interaction = client.interactions.create( model=“gemini-3-flash-preview”, input=“ジョークを教えて” ) # レスポンスへのアクセス(旧) print(interaction.outputs[0].text) # ← この書き方は動かなくなる

After(新スキーマ)- Python

🐍 Python(新・steps使用) # リクエスト(変更なし) interaction = client.interactions.create( model=“gemini-3-flash-preview”, input=“ジョークを教えて” ) # レスポンスへのアクセス(新) print(interaction.steps[-1].content[0].text) # ← steps[-1]が最後のステップ

Before(旧スキーマ)- JavaScript

🟨 JavaScript(旧・outputs使用) const interaction = await client.interactions.create({ model: ‘gemini-3-flash-preview’, input: ‘ジョークを教えて’ }); // 旧アクセス方法 console.log(interaction.outputs[0].text); // ← 廃止

After(新スキーマ)- JavaScript

🟨 JavaScript(新・steps使用) const interaction = await client.interactions.create({ model: ‘gemini-3-flash-preview’, input: ‘ジョークを教えて’ }); // 新アクセス方法 console.log(interaction.steps.at(-1).content[0].text); // ← steps.at(-1)で最後

stepsの種類と構造

新しいsteps配列には、AIの処理過程に応じた複数の「ステップタイプ」が格納されます。

ステップタイプ意味取得元
user_input ユーザーが送った入力内容 GET /interactions/{id}のみ
model_output AIが生成した最終テキスト・マルチモーダル出力 POST/GETどちらでも取得可
thought AIの内部思考プロセス(Thinking機能) POST/GETどちらでも取得可
google_search_call Google検索ツールの呼び出し内容 POST/GETどちらでも取得可
google_search_result Google検索の結果 POST/GETどちらでも取得可
function_call カスタム関数呼び出し(Function Calling) POST/GETどちらでも取得可
code_execution コード実行ステップ POST/GETどちらでも取得可
✅ エンドポイントによるsteps内容の違い:
POST /interactions(新規作成)では、出力ステップのみが返されます。
GET /interactions/{id}(履歴取得)では、user_inputステップを含む完全なタイムラインが返されます。

会話履歴の引き継ぎ方

ステートレスに会話履歴を管理する場合、このsteps配列をそのまま次のリクエストのinputフィールドに渡す設計になっています。サーバー側で状態を持たせる場合は store=true(デフォルト)を使い、previous_interaction_idを指定するだけでOKです。

🐍 Python – 会話の継続(previous_interaction_idを使う方法) # 1回目の会話 first = client.interactions.create( model=“gemini-3-flash-preview”, input=“Pythonでリストを逆順にする方法は?” ) # 2回目:前回の会話IDを指定するだけで履歴が引き継がれる second = client.interactions.create( model=“gemini-3-flash-preview”, input=“もう少し詳しく教えて”, previous_interaction_id=first.id # ← サーバー側で履歴管理 )

🎨 コア変更②:response_mime_typeの廃止とresponse_format

もう1つの重要な変更が、出力フォーマットの設定方法です。従来のシンプルなresponse_mime_typeパラメーターが廃止され、より柔軟なresponse_formatオブジェクトへと統合されました。

💡 「response_mime_type」「response_format」って何?
AIに「どんな形式で答えを返してほしいか」を指定する設定です。

例えば「テキストで返して」「JSON形式で返して」「画像も一緒に返して」といった指定が、以前は response_mime_type という1つの設定でした。今後は response_format という、より詳細に指定できる仕組みに変わります。

変更点の概要

🏷️
廃止:response_mime_type
トップレベルに存在した単一の設定。「text/plain」や「application/json」などのMIMEタイプを1つだけ指定できた
🎛️
新:response_format(配列)
ポリモーフィック(多態的)な配列設計。テキスト・画像・音声の出力を1つの設定でまとめて指定できるように

コードで比較

Before(旧:JSON出力の指定方法)

🐍 Python(旧) interaction = client.interactions.create( model=“gemini-3-flash-preview”, input=“都市の一覧をJSON形式で返して”, response_mime_type=“application/json” # ← 廃止 )

After(新:response_formatでの指定)

🐍 Python(新) interaction = client.interactions.create( model=“gemini-3-flash-preview”, input=“都市の一覧をJSON形式で返して”, response_format=[{ “type”: “text”, “mime_type”: “application/json” }] )

マルチモーダル出力(テキスト+画像)の設定例

🐍 Python(新:テキストと画像を同時に指定) interaction = client.interactions.create( model=“gemini-3-flash-preview”, input=“猫の画像と説明を生成して”, response_format=[ {“type”: “text”, “mime_type”: “text/plain”}, { “type”: “image”, “aspect_ratio”: “1:1”, # generation_configから移動 “image_size”: “512×512” } ] )
📌 image_configの移動先:
従来 generation_config 内に存在した画像生成設定(aspect_ratioimage_sizeなど)は、response_format 内の "type": "image" エントリに移動されました。既存の画像生成コードは必ずこの点を修正してください。

📡 ストリーミングSSEイベントの新仕様

💡 「ストリーミング」「SSE」って何?
ストリーミングとは、AIの回答を最後まで待たずに、生成されるリアルタイムで少しずつ受け取る仕組みです。ChatGPTで文字が徐々に表示されるのと同じ仕組みです。

SSE(Server-Sent Events)とは、サーバーからブラウザへリアルタイムでデータを送り続ける技術の一種です。

ストリーミングで出力を受け取る際のSSEイベントが再定義され、AIが「今何をしているか」をリアルタイムでUIに反映しやすくなりました。

新SSEイベントタイプタイミング・意味UI活用例
interaction.created セッション開始時 ローディングスピナーの表示開始
interaction.in_progress 処理中 「AIが考えています…」のテキスト表示
step.start 各ステップ(思考・ツール実行など)の開始 「🔍 Google検索中…」などの中間表示
step.delta ストリーミング中のデータの断片 テキストを1文字ずつリアルタイムで表示
step.stop 該当ステップの終了 中間表示の非表示・次ステップへの切り替え
interaction.requires_action クライアント側のアクション(関数実行など)待ち 「ユーザーの承認を待っています」の表示
interaction.completed セッション完了 ローディングスピナーの非表示・完了アニメーション
✅ 開発者にとってのメリット:
これらのイベントを活用することで、「AIが今どの段階にいるか」をユーザーにリアルタイムで伝えるリッチなUIが容易に構築できます。たとえば「💭 思考中」「🔍 検索中」「✍️ 回答作成中」といった段階的なローディング表示が実現できます。

🛠️ 開発者向け:具体的な移行手順

① SDKのアップデート(最初にやること)

Interactions APIを新スキーマで使うには、最新のSDKが必須です。まず以下のバージョン以降にアップデートしてください。

🐍 Python SDKのアップデート # google-genai 2.0.0以降が新スキーマ対応(自動的にstepsを使用) pip install -U google-genai>=2.0.0 # ⚠️ 旧SDKは廃止済み・使用禁止 # pip install google-generativeai ← 旧SDK(非推奨・deprecated)
🟨 JavaScript/TypeScript SDKのアップデート // @google/genai 2.0.0以降が新スキーマ対応 npm install @google/genai@>=2.0.0 // ⚠️ 旧SDKは廃止済み・使用禁止 // npm install @google/generative-ai ← 旧SDK(deprecated)
⚠️ 重要:SDKバージョン2.0.0以降は旧スキーマをサポートしません
SDK v2.0.0以降は自動的に新スキーマ(steps)を使用します。旧SDK(google-generativeai@google/generative-ai)は非推奨・廃止済みのため、絶対に使用しないでください。

② コード移行チェックリスト

以下の項目を順番にチェックしながらコードを修正してください。

  1. outputs → steps へのアクセス方法を変更する
    interaction.outputs[0].textinteraction.steps[-1].content[0].text に書き換える(Python)
    interaction.outputs[0].textinteraction.steps.at(-1).content[0].text に書き換える(JavaScript)
  2. response_mime_type を response_format に移行する
    response_mime_type="application/json"response_format=[{"type": "text", "mime_type": "application/json"}] に変更
  3. generation_config内のimage_configを移動する
    generation_config内のaspect_ratioimage_sizeを、response_format"type": "image"エントリ内に移動
  4. Function Calling(カスタム関数呼び出し)を修正する
    steps配列内から "type": "function_call" のステップを検知・抽出する処理に変更
  5. ストリーミング処理のSSEイベントハンドラーを更新する
    新しいイベントタイプ(step.startstep.deltastep.stopなど)に対応したハンドラーを実装
  6. テスト環境で動作確認後、本番に適用する
    Api-Revision: 2026-05-20 ヘッダーを使ってステージング環境で先行テスト → 問題なければ本番適用

③ コーディングエージェントによる自動移行(推奨)

Gemini CLIやJulesなどの自律型コーディングエージェントを活用すれば、移行作業を自動化できます。

⌨️ Gemini CLI / Jules 自動移行コマンド(Bash) # Gemini Docs MCPに接続後、以下のスキルをインストール /gemini-interactions-api migrate my app to the new steps schema
✅ 自動移行の流れ:
1. Gemini CLIまたはJulesを起動
2. 開発環境のディレクトリで Gemini Docs MCP に接続し、gemini-interactions-api スキルをインストール
3. 上記コマンドを実行すると、AIがソースコードを自動解析し、新スキーマに準拠したコードにリファクタリングしてくれる

🎯 変更の背景:Googleの戦略的意図

なぜGoogleはこれほど大きな変更を短期間で実施したのでしょうか?その背景には明確な戦略があります。

「チャットボット」から「自律エージェント」へ

今回の破壊的変更は、AIを単なる「テキスト生成機」から「自律してタスクを実行するエージェント」へと進化させるための基盤整備です。従来のステートレスなgenerateContent APIでは、AIが複数のステップを踏んで問題を解決したり、ツールを自律的に組み合わせたりすることが困難でした。新しいstepsスキーマはこれを可能にする構造的な変革です。

🤖
Gemini 3.5 Flash との密結合
新しいInteractions APIは、100万トークンの巨大なコンテキスト窓と内包された思考プロセス(Thinking)を持つGemini 3.5 Flashと密接に連携するよう設計されている
🏗️
Managed Agentsへの橋渡し
クラウドホスト型Linuxサンドボックスで動作する「Managed Agents」など次世代ツールは、generateContent APIではなくInteractions APIを通じてのみ提供予定
🌐
Google Antigravityとの統合
次世代エージェント開発プラットフォーム「Google Antigravity」とのシームレスな統合を確保するための必須ステップとして位置づけられている

開発者が今すぐ移行すべき理由

理由詳細
⚠️ 6/8以降、旧コードが停止 最も直接的な理由。対応を怠ると本番サービスが動作しなくなる
🚀 最新モデルへのアクセス Gemini 3.5 Flashをはじめ、今後の先進モデルはInteractions API経由でのみ提供される方針
🔍 デバッグ・監視の向上 stepsスキーマにより、AIの処理過程を細かく追跡できるため、問題の特定が容易になる
🎨 リッチなUIの実現 新SSEイベントを活用し、AIの思考・ツール実行状態をリアルタイムでユーザーに見せるUXが構築できる

📝 まとめ:今すぐ移行を始めよう

Google Gemini Interactions API(v1beta)の2026年5月変更は、AIの動作パラダイムを根本から転換する重要なアップデートです。対応を先延ばしにすると6月8日に本番コードが停止します。今すぐ以下のポイントを確認してください。

  • 📅 本日(5/26)から新スキーマがデフォルト適用——Api-Revisionヘッダーで移行を制御可能
  • 6月8日が旧スキーマの最終廃止日——それ以降は旧コードが一切動作しない
  • 🔄 responses.outputs → steps[-1].content[0].text へのアクセス変更——最重要の書き換えポイント
  • 🎛️ response_mime_type は廃止、response_format 配列を使用——JSON・画像・音声の出力設定が統合
  • 📡 新SSEイベントでリッチなUIが実現——step.start / step.delta / step.stop を活用
  • 📦 SDK v2.0.0以降に必ずアップデート——旧SDK(google-generativeai等)は廃止済み
  • 🤖 Gemini CLIの自動移行コマンドも活用可——/gemini-interactions-api migrate で自動リファクタリング

まずは開発・ステージング環境でSDKをアップデートし、stepsを使ったコードに書き換えることから始めましょう。公式の移行ガイドも合わせてご参照ください。

🔗 参考・公式情報

タイトルとURLをコピーしました