OpenAI Responses API 総合ガイド

2025年5月時点|最新情報
📌 Responses APIとは?

OpenAIが2024年末に公開した統合APIエンドポイントであり、従来のChat Completions APIとAssistants APIの機能を融合させた次世代プラットフォームです。モデルによる応答生成と外部ツールの利用を単一のAPIで効率的に実現します。

「Chat Completions APIのシンプルさと、Assistants APIのツール使用能力を兼ね備えた新しいエージェント構築プラットフォーム」
https://api.openai.com/v1/responses
🔄

🌐 基本構造と動作原理

統合API

単一のエンドポイントで高度な機能を提供し、リクエスト・レスポンスはJSON形式を採用しています。

{ "model": "gpt-4.1", "instructions": "あなたは礼儀正しいアシスタントです。", "input": "OpenAIのResponses APIとは何ですか?", "temperature": 0.7, "max_output_tokens": 500 }
認証はBearer方式。ヘッダーに Authorization: Bearer {APIキー} を付与
レスポンスに id, created_at, status, output_text を含む
ストリーミング対応でリアルタイム応答も可能 (stream: true)
💰

💸 料金体系と利用制限

コスト最適化

API自体の利用料金はなく、使用するモデルのトークン消費量に応じた課金制となっています。

🔍
GPT-4o
入力: 約$0.005/1Kトークン
出力: 約$0.02/1Kトークン
GPT-4o-mini
入力: 約$0.0006/1Kトークン
出力: 約$0.0024/1Kトークン
📝 注意: 内蔵ツールには追加料金が発生します:Web検索(1,000回あたり$35)、ファイル検索(1,000回あたり$2.50)、ベクターストア保管(1GB/日$0.10、初1GB無料)
レート制限あり(RPM/TPM): モデルとプランにより異なる
コンテキスト長はモデル依存: GPT-4o-miniは最大128kトークン
📋

📊 対応モデル一覧

モデル選択

2025年5月現在、以下のモデルがResponses APIで利用可能です:

GPT-4.1 ファミリー

gpt-4.1: 最新の高精度モデル
gpt-4.1-mini: 軽量版
gpt-4.1-nano: 超小型版

GPT-4o ファミリー

gpt-4o: 多機能モデル
gpt-4o-mini: 小型・低コスト版
(128Kコンテキスト対応)

その他のモデル

o3, o4-mini: 小型推論モデル
gpt-image-1: 画像入力処理
• GPT-3.5 Turbo系(下位互換)

⚙️

🎛️ 主要パラメーター解説

制御機能

リクエストパラメーターを調整することで、モデルの応答を細かく制御できます。

必須 model: 使用するモデルを指定(例: "gpt-4.1")
必須 input/messages: モデルへの入力(テキスト文字列またはメッセージオブジェクト配列)
instructions: 開発者による指示(旧systemメッセージ)[デフォルト: null]
temperature: 生成の多様性(0~2)[デフォルト: 1.0]
top_p: 確率質量の上位考慮率(0~1)[デフォルト: 1.0]
max_tokens/max_output_tokens: 最大生成トークン数 [モデルごとに異なる]
frequency_penalty: 繰り返し抑制(-2~2)[デフォルト: 0]
presence_penalty: 新出トピック促進(-2~2)[デフォルト: 0]
💡 ヒント: temperatureを低く(0~0.5)すると決定論的な応答に、高く(0.8~1.5)すると創造的な応答になります。temperatureとtop_pは通常どちらか一方のみ調整するのがベストプラクティスです。
🧩

🔧 応答フォーマット制御

JSON出力

response_formatパラメーターを使用して、構造化データ出力を強制できます。

"response_format": { "type": "json_schema", "name": "product_details", "schema": { "type": "object", "properties": { "product_name": {"type": "string"}, "price": {"type": "number"} }, "required": ["product_name", "price"], "additionalProperties": false }, "strict": true }
JSON Schemaを直接指定して出力形式を強制
strict: trueでスキーマに厳密に従う
Chat APIのPydantic機能より言語非依存
🔮

🔄 高度なパラメーター

細かな制御

より複雑な制御や特殊なケースに対応するためのパラメーターです。

seed: 生成乱数シード値(整数)[デフォルト: 未指定]
stream: ストリーミング応答フラグ [デフォルト: false]
logprobs/top_logprobs: トークン予測確率情報取得(整数)
logit_bias: 特定トークンに対するバイアス設定(-100~100)
tools: 使用するビルトインツールの指定
metadata: 任意付与メタ情報タグ
seedパラメーターを固定値に設定すると、同じ入力・同じパラメーターで複数回呼び出しても再現性のある応答が得られます(実験やデバッグに有用)
🔄

🧠 会話管理と文脈保持

状態管理

複数ターン会話の履歴を効率的に管理するための機能が実装されています。

previous_response_id: 前回の応答IDを指定するだけで会話が続行
storeパラメータでサーバー保存を制御 [デフォルト: true]
応答はサーバーに30日間保存され履歴取得可能
プライバシー確保のためstore: falseも指定可能
🔒 セキュリティ: 保存されたデータはデフォルトでOpenAIのモデル学習には使用されません
🛠️

🧰 組み込みツール機能

拡張能力

APIに外部機能連携を組み込むことで、情報検索や計算処理など様々な操作を実行できます。

Web検索ツール

インターネットから最新情報を取得し、回答に活用します。1,000回あたり$35程度の追加費用が発生。

ファイル検索ツール

アップロードしたファイルやドキュメントから関連情報を検索。1,000回あたり$2.50の追加費用。

コード実行ツール

Python等のコードをリアルタイムで実行し結果を返します。1回あたり固定料金が発生。

ベクターストア管理

埋め込みベクトルを保存・検索するためのツール。1GB/日$0.10(初1GB無料)。

💻

📝 実装サンプルコード

実用例

主要言語での実装例です。公式SDKを使えば簡単にAPIを利用できます。

# Python import openai openai.api_key = "YOUR_API_KEY" response = openai.Response.create( model="gpt-4.1", instructions="あなたは専門的なITアドバイザーです。", input="最新のAI動向について教えてください。", tools=[{"type": "web_search"}], temperature=0.7, max_output_tokens=800 ) print(response.output_text)
// JavaScript (Node.js) const OpenAI = require("openai"); const openai = new OpenAI.ApiClient({ apiKey: process.env.OPENAI_API_KEY }); async function getResponse() { const response = await openai.responses.create({ model: "gpt-4.1", instructions: "You are a helpful assistant.", input: "What's the latest AI trend?", tools: [{ type: "web_search" }], temperature: 0.5 }); console.log(response.data.output_text); } getResponse();
活用法

💡 高度な使用パターンとベストプラクティス

🎭 開発者メッセージの活用

instructionsフィールドでモデルの振る舞いを制御します。旧systemメッセージと同様に、回答スタイルや口調を指定可能。

📚 長い会話のコンテキスト管理

要約と間引き: 古い履歴を要約し入れ替え
ベクターストア活用: 必要部分だけ検索して提供
超長コンテキストモデル: GPT-4o-mini (128k)活用

🎨 プロンプト設計手法

役割と口調を明示する
入力例(Few-shot)を与える
関数/ツールの活用で構造的に
禁止事項と許容事項を伝える

🚨 エラーハンドリング

レートリミット超過: 指数バックオフ
パラメータエラー: バリデーションチェック
ツール実行エラー: statusフィールド確認
タイムアウト: 適切なタイムアウト設定

🔗 複数APIコール連携

段階的質問応答: 解析→回答の二段構成
RAGパターン: Embedding+ベクトル検索
マルチモーダル連携: 音声/画像API組合せ

⚡ パフォーマンス最適化

ストリーミング: 早出しでUX改善
並列呼び出し: 非同期処理で高速化
軽量モデル活用: 目的別モデル切替え
キャッシュと再利用: 類似入力の結果活用

「ユースケースに応じてモデル選択とパラメータ調整を行うことで、コスト効率と応答品質のバランスを最適化できます。例えば、FAQ対応には中温度(0.3-0.7)で安定した回答を、創作には高温度(0.9前後)で創造的な出力を得られます」

🔍 ユースケース別の推奨設定

ユースケース 推奨モデル temperature パラメーター設定
チャットボットQ&A GPT-4o-mini 0.3-0.7 max_tokens: 300-500、必要に応じweb_search有効
創作文章生成 GPT-4.1 0.9前後 top_p: 0.9、frequency_penalty: ~0.5、presence_penalty: ~0.3
長文要約 GPT-4o 0.1-0.3 max_tokens: 原文の10-20%程度、開発者メッセージでフォーマット指示
コードアシスタント GPT-4.1 0 code_interpreter有効化、開発者メッセージで明確な指示
📊 比較: 競合サービスとの比較では、Claude API(Anthropic)は100kトークン長対応も外部ツール統合は限定的。Gemini API(Google)はマルチモーダルに秀でるが、性能評価ではGPT-4系が言語タスクで優位に。Responses APIは機能が最も豊富で開発効率が高い傾向があります。
セキュリティ

🔒 セキュリティ考慮事項

🔑 APIキー管理

APIキーは秘密情報として厳重に管理。フロントエンドJSに埋め込まない。サーバー側で環境変数として管理し、ユーザーリクエストをサーバー経由で処理する構成に。

🗑️ ゼロデータ保持

機密データを扱う場合はZero Data Retentionプログラムに申請可能。処理後データを完全に破棄し、自動でstore=false相当になります。

🛡️ コンテンツフィルタリング

有害な指示を防ぐため開発者メッセージで明示的に禁止。プロンプトインジェクション対策として入力をチェックし、危険ワードを除去・マスク。

🔍 出力検閲

モデル応答の不適切表現を検出・除去する仕組みを導入。OpenAIのModeration APIで有害コンテンツスコアを確認可能。

「企業システムに組み込む際は、データ保護とアクセス制御を徹底することが重要です。APIキーのローテーション、最小権限の原則、エンドユーザー識別情報の匿名化など、多層防御の考え方を取り入れましょう」