Skip to main content
Response API は、OpenAI が提供する次世代のモデル API です。ステートフルなマルチターン会話、複数ツールの協調、推論モデルの出力、マルチモーダル入力を、より簡潔で強力なプログラミングモデルに統合しています。

Response API とは

Response API(/v1/responses)は 2025 年に OpenAI が公開した統一 API です。従来 Chat Completions、Assistants、Tools などに分散していた機能を 1 つのエンドポイントに集約し、以下を 1 回の呼び出しで実現できます。
  • マルチターン会話とコンテキスト管理
  • ビルトインツール(Web 検索、ファイル検索、コードインタープリタ、コンピュータ操作など)
  • カスタム関数呼び出し
  • 推論モデル(o シリーズなど)の思考過程の出力
  • テキスト、画像、音声などのマルチモーダル入出力

Chat Completions との主な違い

ステートフル vs ステートレス

Chat Completions は毎回全履歴を送信する必要があります。Response API は previous_response_id で直前のレスポンスを継続でき、コンテキストをサーバー側で管理します。

統一された入力構造

Chat Completions は messages 配列を使います。Response API は input フィールドで、文字列、メッセージ配列、画像やファイルを含むマルチモーダル構造を受け付けます。

ビルトインツール

web_searchfile_searchcode_interpretercomputer_use などのホスト型ツールを標準サポートし、自前実装が不要です。

推論の可視化

o1 や o3 などの推論モデルでは、reasoning アイテムが出力に含まれ、思考過程の追跡やデバッグが容易です。

もっともシンプルな呼び出し

cURL
レスポンスの主なフィールド:
  • id:このレスポンスの一意な ID。次回の継続に使用可能
  • output:モデルが生成したアイテム配列(テキスト、ツール呼び出し、推論など)
  • output_text:全テキストを連結した便利フィールド
  • usage:トークン消費量

マルチターン会話:手動での履歴連結を卒業

従来は毎ターン全 messages を送っていました。Response API は前回の id を渡すだけです。
Python
サーバー側で前回のコンテキストを自動的に取り込むため、クライアント実装がシンプルになり、重複トークンの課金も削減できます。

ビルトインツール:一行で Web 検索を有効化

Python
検索サービス、スクレイピング、引用の組み立てを自作する必要はなく、モデルが検索の要否と統合方法を判断します。同様に file_search(アップロードファイルの RAG)、code_interpreter(サンドボックス実行)、computer_use(ブラウザ/デスクトップ操作)が利用可能です。

ストリーミング出力

Response API は Server-Sent Events で構造化イベントを返すため、Chat Completions の delta より扱いやすくなっています。
Python
代表的なイベントには response.createdresponse.output_text.deltaresponse.tool_call.createdresponse.completed などがあります。

Response API を使うべきタイミング

Response API が向いているケース
  • エージェントや多段タスクを構築する
  • Web 検索、ファイル検索、コード実行などのホスト型ツールが必要
  • o1、o3 などの推論モデルで思考過程を確認したい
  • マルチターン会話のステート管理を簡素化したい
当面 Chat Completions で十分なケース
  • messages ベースの既存コードが多く、短期的な移行メリットが小さい
  • ステートレスな単発補完だけで、ツールも不要
  • まだ Response API に対応していないサードパーティラッパーに依存している

移行のヒント

1

エンドポイントを置き換える

/v1/chat/completions/v1/responses に変更し、messagesinput に置き換えます。
2

previous_response_id でセッション管理

クライアントで全履歴を保存するのをやめ、直前の response.id のみを保持します。
3

ビルトインツールに置き換える

自作の検索、RAG、コード実行を web_searchfile_searchcode_interpreter に置き換えられるか評価します。
4

新しいイベントストリームへ対応

ストリーミングを使っている場合、delta 解析を event.type ベースのディスパッチに変更します。

まとめ

Response API は「モデル + ツール + ステート + マルチモーダル」を 1 つのインターフェイスに集約した、エージェント時代の推奨エントリーポイントです。新規プロジェクトは Response API から始めるのがおすすめで、既存プロジェクトも機能単位で段階的に移行し、ビルトインツールとステート管理による複雑さの削減を優先的に享受するとよいでしょう。