API ReferenceText APIs
OpenAI レスポンス API
このプラットフォームは、OpenAI Responses API と互換性のある統合エンドポイントを提供します。
このドキュメントはクライアント側のインテグレータを対象としており、パブリック リクエスト パス、認証方法、リクエスト パラメータ、サンプル ペイロードに焦点を当てています。チャット コンプリーションと比較した要求および応答プロトコルの違いを除けば、サポートされているモデル範囲は /docs/api-reference/text/openai-chat-api と同じです。
Overview:
- エンドポイント:
POST /v1/responses - 機能タイプ: 統合テキスト生成 / マルチターン入力オーケストレーション
- 応答モード:
stream = falseまたは省略時:標準JSONレスポンスstream = trueの場合:text/event-streamSSEレスポンス
- プロトコル スタイル: リクエスト本文は、チャット完了
messages最上位構造の代わりに、プライマリ フィールドとしてinputを使用します。
現在の範囲:
POST /v1/responsesのみをカバー/docs/api-reference/text/openai-chat-apiと比較した場合、主な違いはモデルの可用性ではなくプロトコル構造です。- 埋め込み、画像、オーディオなどの他の OpenAI エンドポイントはカバーされません
1. APIの概要
- HTTPメソッド:
POST - リクエストパス:
/v1/responses - コンテンツタイプ:
application/json - 応答タイプ:
- 非ストリーミング:
application/json - ストリーミング:
text/event-stream
- 非ストリーミング:
2. 認証とヘッダー
ヘッダーの例:
Authorization: Bearer YOUR_REACH_API_KEY
Content-Type: application/jsonAuthorization または x-api-key の少なくとも 1 つを指定する必要があります。
ヘッダーの詳細:
| Header | Required | Description |
|---|---|---|
Authorization | No | Bearer sk-xxxxxx 形式のプラットフォーム API キー |
x-api-key | No | このヘッダーでプラットフォーム API キーを直接渡すこともできます。 |
Content-Type | Yes | application/json である必要があります |
3. リクエストボディ
リクエスト本文は、一般的な OpenAI Responses API オブジェクト構造に従います。
{
"model": "YOUR_MODEL_ID",
"input": "Please introduce yourself in one sentence.",
"instructions": "You are a professional technical assistant.",
"temperature": 0.2,
"stream": false
}3.1 最上位パラメータ
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Yes | モデルID |
input | string または array<object> | Yes | 内容を入力します。プレーンテキストまたは構造化コンテンツブロックの配列を使用できます |
instructions | string | No | システム説明書 |
temperature | number | No | サンプリング温度 |
top_p | number | No | 核サンプリングパラメータ |
max_output_tokens | integer | No | 出力トークンの最大数 |
stream | boolean | No | SSEストリーミング出力を返すかどうか |
tools | array<object> | No | ツールの定義 |
tool_choice | 文字列またはオブジェクト | No | ツール呼び出し戦略 |
parallel_tool_calls | boolean | No | 並列ツール呼び出しが許可されるかどうか |
response_format | object | No | 構造化された出力構成 |
user | string | No | エンドユーザー識別子 |
3.2 input パラメータ
input は、プレーン文字列または構造化配列として渡すことができます。一般的な形式は次のとおりです。
テキストの例:
"Please summarize the main idea of this document in one sentence."構造化された入力例:
[
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe the image."
},
{
"type": "input_image",
"image_url": "https://cdn.example.com/demo.png"
}
]
}
]4. リクエスト例
4.1 標準の非ストリーミングリクエスト
curl -X POST "https://direct.reachapi.ai/v1/responses" \
-H "Authorization: Bearer YOUR_REACH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"input": "Introduce ReachAPI in one sentence.",
"temperature": 0.2
}'4.2 ストリーミングリクエスト
curl -X POST "https://direct.reachapi.ai/v1/responses" \
-H "Authorization: Bearer YOUR_REACH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"input": "Summarize today'\''s priorities in three lines.",
"stream": true
}'4.3 ツール定義を含むリクエスト
curl -X POST "https://direct.reachapi.ai/v1/responses" \
-H "Authorization: Bearer YOUR_REACH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"input": "Help me check the weather in Shanghai.",
"tools": [
{
"type": "function",
"name": "get_weather",
"description": "Get weather information for a city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": ["city"]
}
}
],
"tool_choice": "auto"
}'5. 成功した応答
非ストリーミング応答の例:
{
"id": "resp_123",
"object": "response",
"created_at": 1710000000,
"model": "YOUR_MODEL_ID",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "ReachAPI is a unified AI API platform for enterprise use."
}
]
}
],
"usage": {
"input_tokens": 25,
"output_tokens": 20,
"total_tokens": 45
}
}ストリーミング応答 (SSE) の例:
event: response.created
data: {"id":"resp_123","object":"response","status":"in_progress"}
event: response.output_text.delta
data: {"delta":"ReachAPI is a unified"}
event: response.output_text.delta
data: {"delta":" AI API platform for enterprise use."}
event: response.completed
data: {"id":"resp_123","status":"completed"}6. エラー応答
OpenAI スタイルのエラーの例:
{
"error": {
"message": "Field `input` is required",
"type": "invalid_request_error",
"param": null,
"code": "MISSING_REQUIRED_FIELD"
}
}一般的なシナリオ:
- リクエスト本文に
modelがありません - リクエスト本文に
inputがありません - 無効な JSON ペイロード
- 認証失敗
7. 互換性に関する注意事項
- このドキュメントには、一般的に使用されるフィールドとペイロードの例がリストされています。実際のフィールド名と構造は OpenAI Responses API に従います。
- チャット コンプリーションと比較した場合、応答 API の主な違いは入力プロトコル (
input/instructions) と応答構造です。 - 新しいまたは実験的な公式フィールドを使用する場合は、ゲートウェイで利用可能な実際の機能と照らし合わせて検証してください。
8. チャットコンプリートとの主な違い
| Category | チャットの完了 | Responses |
|---|---|---|
| Path | /v1/chat/completions | /v1/responses |
| 主な入力フィールド | messages | input + instructions |
| 主な出力構造 | choices[].message | output[] |
| ストリーミングイベント | chat.completion.chunk | response.* イベント ストリーム |
9. サポート対象モデルと参考価格
以下の価格は、統一価格文書から要約されたものです。プロトコルの違いを除けば、このエンドポイントは /docs/api-reference/text/openai-chat-api と同じモデル範囲をサポートします。価格は2026-04-17で確認されました。詳細な価格ルールについては、gpt.md を参照してください。
| Model | Input | キャッシュされた入力 | Output |
|---|---|---|---|
gpt-5.4 | $2.50 / 1M tokens | $0.25 / 1M tokens | $15.00 / 1M tokens |
gpt-5.3-codex | $1.75 / 1M tokens | $0.175 / 1M tokens | $14.00 / 1M tokens |
gpt-5.2 | $1.75 / 1M tokens | $0.175 / 1M tokens | $14.00 / 1M tokens |
gpt-5.1-codex | $1.25 / 1M tokens | $0.125 / 1M tokens | $10.00 / 1M tokens |
gpt-5.1 | $1.25 / 1M tokens | $0.125 / 1M tokens | $10.00 / 1M tokens |
gpt-5 | $1.25 / 1M tokens | $0.125 / 1M tokens | $10.00 / 1M tokens |
gpt-5.4-mini | $0.75 / 1M tokens | $0.075 / 1M tokens | $4.50 / 1M tokens |
gpt-5-mini | $0.25 / 1M tokens | $0.025 / 1M tokens | $2.00 / 1M tokens |
Notes:
Cached inputは、キャッシュ ヒット入力トークンの単価を指します。- モデルのリストが時間の経過とともに変更される場合は、現在有効なモデルの信頼できる情報源としてダッシュボードまたは製品構成を使用します。
10. 参考文献
- OpenAI レスポンス API: https://platform.openai.com/docs/api-reference/responses/create
- OpenAI テキスト生成ガイド: https://platform.openai.com/docs/guides/text
- OpenAI API エラー: https://platform.openai.com/docs/guides/error-codes/api-errors
- 統合プラットフォームの価格ドキュメント:
gpt.md