ユーザーガイド
汎用モデル

OpenAI Responses

OpenAI Responses API と互換性があります。テキスト、マルチモーダル入力、ストリーミングイベントをサポートします。成功レスポンスは Responses の元のプロトコルであり、choices は使用しません。

  • ルート: POST /v1/responses
  • 追加サポート: POST /v1/responses/compact
  • 成功レスポンスは Responses の元のプロトコルであり、code / data を含まず、Chat Completions の choices も使用しません。

リクエスト例

curl https://api.magickapi.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-5",
    "input": [
      {
        "role": "user",
        "content": [
          {
            "type": "input_text",
            "text": "この画像には何が写っていますか?"
          },
          {
            "type": "input_image",
            "image_url": "https://openai-documentation.vercel.app/images/cat_and_otter.png"
          }
        ]
      }
    ]
  }'

成功レスポンス例

{
  "id": "resp_123",
  "object": "response",
  "created_at": 1712345678,
  "status": "completed",
  "model": "gpt-5",
  "output": [
    {
      "id": "msg_123",
      "type": "message",
      "status": "completed",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "画像には猫とカワウソが写っています。",
          "annotations": []
        }
      ]
    }
  ],
  "parallel_tool_calls": true,
  "tools": [],
  "usage": {
    "input_tokens": 156,
    "output_tokens": 45,
    "total_tokens": 201
  }
}

ストリーミングの説明

"stream": true を渡すと、Responses のネイティブイベントストリームが返されます。例:

data: {"type":"response.output_text.delta","delta":"画像には"}
data: {"type":"response.output_text.delta","delta":"猫が"}
data: {"type":"response.completed","response":{"id":"resp_123","status":"completed"}}
data: [DONE]

エラーレスポンス例

{
  "error": {
    "message": "無効なリクエスト",
    "type": "invalid_request_error",
    "param": null,
    "code": "invalid_request"
  }
}

よく使うパラメータ

model

  • 型: string
  • 必須: はい

input

  • 型: array | string

  • 必須: はい

    OpenAI Responses プロトコルと同様に、input_textinput_imageinput_file などのコンテンツを混在させることができます。

instructions

  • 型: string

previous_response_id

  • 型: string

tools

  • 型: array

    現在のプロジェクトでは Responses のツールフィールドをそのまま渡します。function ツールは直接使用できます。web_search_previewfile_search などの組み込みツールが利用可能かどうかは、具体的な上流モデルとチャネルの能力に依存します。

tool_choice

  • 型: string | object

stream

  • 型: boolean

stream_options

  • 型: object

/v1/responses/compact

このルートは、コンテキストの圧縮や会話の継続が必要なクライアントに適しています。現在のプロジェクトでは、以下のコアフィールドのみを受け付けます:

  • model
  • input
  • instructions
  • previous_response_id

最終更新

目次