
OpenAI Responses APIとは?使い方とChat Completions APIとの違いを公式準拠で解説
この記事のポイント OpenAI Responses APIとは、Web検索やファイル検索などの「組み込みツール」を最初から内蔵した、エージェント開発向けの新しいAPIだ。Chat Completions APIの後継で、新規開発はこちらが公式推奨。
messages配列ではなくinputとinstructionsで書く、レスポンスがデフォルト保存されprevious_response_idで会話をつなげる、の2点が最大の違い。古いAssistants APIは2026年8月26日に廃止予定なので、移行先もここになる。
OpenAI Responses APIは、もう「新しい選択肢の1つ」ではない。OpenAI公式が新規プロジェクトでの利用を推奨している、事実上の標準APIだ。
それでも現場では混乱が続いている。Chat Completions APIに慣れた開発者ほど「何が違うのか」「いま書き換える必要があるのか」が分からないまま手が止まる。さらにAssistants APIの廃止期限も迫っていて、移行先としてのResponses APIを正しく理解しておかないと、夏に慌てることになる。
この記事では、OpenAI Responses APIとは何か、基本リクエストの書き方、Chat Completions APIとの具体的な違い、Web検索などの組み込みツール、料金、そして移行手順までを公式Docs準拠で整理する。出てくる数値・仕様はすべてOpenAI公式(platform.openai.com / developers.openai.com)で確認できるものだけに絞った。
OpenAI Responses APIとは何か——一言でいうと「ツール内蔵のAPI」
OpenAI Responses APIとは、Web検索・ファイル検索・コード実行などのツールをAPI側に最初から組み込んだ、エージェント開発のための統合インターフェースです。
ここで言う「ツール」とは、モデル(AI本体)が自分で呼び出せる外部機能のこと。たとえば最新情報を調べるWeb検索や、アップロードした資料を読むファイル検索がこれにあたる。
従来のChat Completions APIには、こうしたツールは付いていなかった。Web検索を使いたければ自分で検索APIを呼び、結果を整形してAIに渡す——という配線を全部自前で組む必要があった。Responses APIはその配線を最初から内側に持っている。これが一番の存在意義だ。
OpenAI公式は、Responses APIを「エージェント的なアプリケーションを構築するための統合インターフェース」と位置づけている。Chat Completionsの単なる名前替えではなく、AIに「考えて、調べて、動く」を任せる前提で作り直されたAPIだと理解するのが正確だ。
結局のところ、Responses APIは「AIに道具を持たせて自走させたい人」のためのAPIだ。1問1答で済むならChat Completionsで十分。だが調べ物や複数ステップの処理をAIに任せたいなら、自前で配線するより最初から持っている方が早い。
ここまでが概念。次は実際にどう書くのかを見ていく。
ステップ1: 基本リクエストを送る——最小コードで動かす
まずは何も飾らない最小のリクエストから。Responses APIの基本形はこれだけだ。
エンドポイント(APIの宛先URL)は /v1/responses。Chat Completionsの /v1/chat/completions とは別物なので、ここを差し替えるのが第一歩になる。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5.4",
instructions="あなたは丁寧な日本語アシスタントです。",
input="Responses APIとChat Completions APIの違いを一言で説明して。"
)
print(response.output_text)
ポイントは2つ。役割や前提を伝える指示文は instructions、ユーザーの質問は input。Chat Completionsのように messages 配列へ system / user を詰め込む必要はない。
response.output_text で本文を取り出せる。出力の正体は output という配列で、メッセージ・推論(reasoning)・関数呼び出し(function_call)など複数の型が混ざって返る設計だ。1問1答なら output_text だけ見れば足りる。
補足:
modelに渡すモデル名は契約・時期で変わる。本記事のコードは2026年6月時点でデフォルト系のGPT-5.4を例にしているが、実際に使うときは公式のモデル一覧で現行名を確認してほしい。
最小コードが動いたら、次は会話をつなげる方法だ。
ステップ2: 会話を続ける——previous_response_idで状態を持たせる
Chat Completionsでは、会話履歴を毎回全部送り直すのが基本だった。Responses APIはここが違う。
レスポンスはデフォルトで保存される(store パラメータの既定値が true)。だから前回の返答IDを次のリクエストに渡すだけで、文脈が引き継がれる。
first = client.responses.create(
model="gpt-5.4",
input="日本の首都はどこ?"
)
second = client.responses.create(
model="gpt-5.4",
previous_response_id=first.id,
input="その都市の人口は?"
)
print(second.output_text)
2回目のリクエストで「その都市」が東京を指すのは、previous_response_id で前のやり取りを参照しているからだ。履歴を自前で抱えて毎回送り直す手間が消える。
保存したくない場合は store=false を指定すればいい。社外秘データを扱うときや、自前で履歴管理したいときはここをオフにする。
専門用語をひとつ補足しておく。「ステートレス」とは、サーバー側が会話状態を覚えない設計のこと。Responses APIは保存(ステートフル)も自前管理(ステートレス)も選べる、という柔軟さが効いてくる。
会話の土台ができたら、いよいよResponses APIの主役——組み込みツールに進む。
Chat Completions APIとの違いはどこにある?
「結局Chat Completionsと何が違うの?」が、この記事を読む人の最大の疑問だろう。違いは大きく4つに集約できる。
下の表が要点だ。表の前にひとつだけ。どちらが優れているという話ではなく、用途が分かれる、というのが正しい捉え方になる。
| 観点 | Chat Completions API | Responses API |
|---|---|---|
| 入出力の形 | messages 配列 | input + instructions、出力は output 配列(Items) |
| 組み込みツール | なし(自前で配線) | Web検索・ファイル検索・コード実行などを内蔵 |
| 状態管理 | 毎回履歴を送り直す | デフォルト保存、previous_response_id で連結 |
| 公式の推奨 | 既存利用は継続サポート | 新規プロジェクトはこちらを推奨 |
つまり、単発のテキスト生成ならChat Completionsで何も困らない。一方、ツールを使わせたい・会話状態を持たせたい・新規で作るなら、Responses APIが素直な選択肢になる。
コスト面でも差がある。OpenAI公式は、内部テストでキャッシュ利用率がChat Completions比で40〜80%改善し、その分コストが下がると説明している。GPT-5系のような推論モデルと組み合わせたときに効きやすい設計だ。
ただし誤解しないでほしい。Chat Completionsは廃止されない。公式は既存実装のサポート継続を明言している。慌てて全部書き換える必要はなく、新規分からResponses APIに寄せていくのが現実的だ。
なぜここまでツールを推すのか。その中身を次で見ていく。
組み込みツールで何ができる?——Web検索・ファイル検索ほか
Responses APIの価値の半分は、この組み込みツールにある。OpenAI公式が挙げている主なツールは次の通りだ。
5つ以上並ぶので、先に一言。これらは「AIが必要に応じて自分で呼ぶ」前提の機能で、すべて自前実装なしで使える。
- Web検索: 最新情報をその場で調べる。リアルタイム性が要る質問に強い
- ファイル検索: アップロードした資料を読み、根拠付きで答えさせる。社内ドキュメントQ&A向き
- コード実行(Code Interpreter): その場でコードを走らせて計算・データ処理をする
- コンピュータ操作(Computer use): 画面操作を伴うタスクを担わせる
- リモートMCPサーバー / 画像生成: 外部ツール連携や画像の生成も同じ枠組みで扱える
一番イメージしやすいWeb検索を例に、コードを見てみよう。tools にツール種別を1行足すだけだ。
response = client.responses.create(
model="gpt-5.4",
tools=[{"type": "web_search"}],
input="2026年のOpenAI Responses APIの最新アップデートを調べて要約して。"
)
print(response.output_text)
Chat Completionsで同じことをやろうとすると、検索API契約・呼び出し・結果整形・プロンプト注入を全部自分で書くことになる。Responses APIはその一連を tools の1行に畳み込んでいる。この差は地味だが、実務では効く。
ツールが分かったら、気になるのはお金の話だろう。
料金はどうなっている?——ツール課金とトークン課金の二段構え
ここは正確さが命なので、OpenAI公式の料金ページの数値だけで話す。
まず大前提。Responses API自体に「API利用料」という固定の上乗せはない。テキスト処理ぶんは、選んだモデルの標準トークン単価で課金される。Chat CompletionsもRealtimeもBatchも同じ扱いだ。
「トークン」とは、AIが文章を処理する単位(文字のかたまり)のこと。入力文と出力文の量に応じて課金される、と理解しておけばいい。
その上で、組み込みツールには別途の従量課金がかかる。主要ツールの公式価格は下表の通り。
| ツール | 料金 | 補足 |
|---|---|---|
| Web検索 | $10.00 / 1,000回 | 取得した検索内容のトークンは別途モデル単価で課金 |
| ファイル検索(呼び出し) | $2.50 / 1,000回 | Responses APIでのみ適用 |
| ファイル検索(保存) | $0.10 / GB・日 | 最初の1GBは無料 |
つまり料金は「モデルのトークン課金」+「使ったツールの従量課金」の二段構え。Web検索を1日に何百回も呼ぶ設計だと、$10/1,000回のツール課金が地味に積み上がる点だけ注意したい。
ファイル検索は呼び出しが$2.50/1,000回と安く、保存も1GBまで無料。社内ドキュメントQ&Aの試作なら、コストはほぼトークン代だけで収まる計算になる。
料金の見通しが立ったら、最後に避けて通れないのが移行の話だ。
Assistants APIからの移行はいつまで?——2026年8月26日が期限
開発者にとって見落とせないのが、旧Assistants APIの廃止スケジュールだ。
OpenAIはResponses APIを推奨し、Assistants APIは2026年8月26日に廃止予定としている。Assistants APIで組んだスレッド管理・ファイル管理・関数呼び出しは、すべてResponses APIへ移していく必要がある。
移行の勘所は、状態管理の考え方が変わる点だ。Assistants APIはスレッドという入れ物で会話を抱えていたが、Responses APIは previous_response_id で前の返答を参照する方式。ファイル検索のような機能は組み込みツールとしてそのまま置き換えられる。
期限まで残りわずか。Assistants APIで動いている本番システムがあるなら、まず移行計画を固め、夏前には切り替えを終えておきたい。実際の対応表や手順は、別記事のAssistants API移行ガイドと、API全体の使い方をまとめたChatGPT API入門も合わせて参照してほしい。
移行を見据えると、Responses APIはAIコーディング系のツールとも相性がいい。次でその関係を整理する。
Responses APIとAIコーディングツールの関係
Responses APIは、自律的にコードを書くエージェント型ツールの土台としても使われている。
たとえばGitHub CopilotやCursorのようなAIコーディングツール、あるいはClaude Codeのようなエージェントは、いずれも「AIにツールを持たせて自走させる」発想で動く。Responses APIの組み込みツール+状態管理は、まさにこの種のアプリを自前で作るときの基盤になる。
自分でエージェントを組むほどではないが恩恵は受けたい、という人は、既製のAIコーディングツールを使うのが早い。AIコーディング全般の選び方はAIコーディングのカテゴリ、自律エージェントの比較はAIエージェントのカテゴリにまとめてある。各ツールの詳細はCursorの解説やClaude Codeの解説が参考になる。
OpenAIのモデルやサービス全体像を押さえたいなら、提供元のOpenAIと、入口になるChatGPTのページから辿るのが分かりやすい。
ここまで来れば、Responses APIを「いま採用すべきか」の判断材料は揃う。最後に編集部の見立てをまとめる。
編集部の評価——Responses APIは「新規なら一択」
公開情報をもとにした、率直な評価を残しておく。捏造のない範囲での判断だ。
- 新規開発での採用: 一択。公式が推奨しており、組み込みツールと状態管理を自前配線せずに済むメリットが大きい
- 組み込みツール: 地味に効く。特にWeb検索とファイル検索は、自前で配線する手間を考えると破格の省力化
- Chat Completionsからの全面移行: 急ぐ必要なし。既存はサポート継続。単発テキスト生成だけなら無理に乗り換える理由は薄い
- Assistants APIからの移行: 待ったなし。2026年8月26日の廃止期限があるので、これは計画必須
- 料金の分かりにくさ: 正直やや面倒。トークン課金とツール従量課金が二段構えで、Web検索を多用する設計だとコスト試算を先にやらないと読みづらい
総じて、Responses APIは「AIに道具を持たせて動かす」これからのアプリの標準形だ。1問1答で完結する用途ならChat Completionsで十分だが、調べ物・複数ステップ・状態保持が絡むなら、最初からResponses APIで組むのが結局いちばん早い。
一次情報・出典(最終確認: 2026-06-28)
数値・仕様は以下のOpenAI公式ページで確認した。鮮度のため、導入前に必ず最新の公式表記を当たってほしい。
- Responses APIへの移行ガイド: https://developers.openai.com/api/docs/guides/migrate-to-responses
- API料金ページ(ツール従量課金): https://developers.openai.com/api/docs/pricing
- OpenAI開発者ドキュメント: https://platform.openai.com/docs
あわせて読みたい関連記事
Responses APIまわりをさらに深掘りするなら、次の記事が役立つ。
- Assistants API移行ガイド — 廃止期限と移行手順
- ChatGPT API入門 — API利用の全体像
- Claude Codeの解説 — 自律エージェント型の比較対象
よくある質問(FAQ)
Q. Responses APIはChat Completions APIと併用できますか?
できる。両方とも有効なAPIで、Chat Completionsは廃止されない。単発のテキスト生成はChat Completions、ツールや状態管理が要る処理はResponses API、と用途で使い分ける運用も普通にアリだ。OpenAI公式も既存実装のサポート継続を明言している(最終確認: 2026-06-28)。
Q. instructionsとinputは何が違うのですか?
instructions はAIへの役割・前提の指示(システム的な指示)、input はユーザーの実際の質問や依頼を入れる場所だ。Chat Completionsで system / user メッセージに分けていた役割が、トップレベルの2つのパラメータに整理されたイメージで捉えると分かりやすい。
Q. レスポンスを保存したくない場合はどうすればいいですか?
store=false を指定すればいい。Responses APIはデフォルトで保存(store=true)されるが、機密データを扱う場合や履歴を自前管理したい場合はオフにできる。store=false のときは previous_response_id による自動連結が使えないので、文脈は自分で渡す必要がある。
Q. 組み込みツールは追加契約が必要ですか?
不要だ。Web検索やファイル検索は tools パラメータに種別を指定するだけで使える。ただし利用は従量課金で、公式価格はWeb検索が$10.00/1,000回、ファイル検索が$2.50/1,000回(保存は$0.10/GB・日、最初の1GB無料)。トークン課金とは別にかかる。
Q. どのプログラミング言語から使えますか?
OpenAI公式が提供するPython・Node.js(TypeScript)のSDKから利用でき、HTTPで直接 /v1/responses を叩くことも可能だ。本記事のコード例はPython SDKだが、考え方(input / instructions / tools / previous_response_id)はどの言語でも共通になる。
Q. Responses APIに移行するとコストは下がりますか?
下がる可能性がある。OpenAI公式は内部テストでキャッシュ利用率がChat Completions比40〜80%改善したと説明しており、その分コストが下がると述べている(最終確認: 2026-06-28)。ただし組み込みツールを多用すると従量課金が乗るため、最終的なコストは使い方次第だ。
まとめ——OpenAI Responses APIの最短理解ルート
OpenAI Responses APIとは、Web検索やファイル検索などのツールを内蔵し、状態管理まで面倒を見てくれる、エージェント開発向けの新しい標準APIだ。
書き方の勘所は3つ。指示は instructions、質問は input、会話の連結は previous_response_id。これだけ押さえれば最小構成は動く。Chat Completionsとの違いは「ツール内蔵」と「デフォルト保存」の2点に集約される。
判断はシンプルだ。新規開発ならResponses APIが一択。単発テキスト生成だけならChat Completionsのままで困らない。そしてAssistants APIで動いている本番システムがあるなら、2026年8月26日の廃止期限に向けて、今月中に移行計画を固めておきたい。詳しい手順はAssistants API移行ガイドとChatGPT API入門も参照してほしい。
