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

汎用対話インターフェース(デフォルトストリーミング)

統一された OpenAI Chat Completions 互換エントリポイント。同一ルートでストリーミングと非ストリーミングをサポート。成功レスポンスは OpenAI オリジナルプロトコルで、code/data は含まれません。

  • ルート:POST /v1/chat/completions
  • 同一ルートでストリーミングと非ストリーミングの両方をサポート。本ページではストリーミング呼び出しを紹介します
  • 成功レスポンスは OpenAI オリジナルプロトコルであり、code / data でラップされることはありません

リクエスト例

curl --request POST \
  --url https://api.magickapi.com/v1/chat/completions \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gpt-5",
    "stream": true,
    "stream_options": { "include_usage": true },
    "messages": [
      {
        "role": "system",
        "content": "あなたはプロの AI アシスタントです。"
      },
      {
        "role": "user",
        "content": "人工知能の発展の歴史を紹介してください。"
      }
    ]
  }'

ストリーミングレスポンス例

data: {"id":"chatcmpl_123","object":"chat.completion.chunk","created":1712345678,"model":"gpt-5","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl_123","object":"chat.completion.chunk","created":1712345678,"model":"gpt-5","choices":[{"index":0,"delta":{"content":"人工知能"},"finish_reason":null}]}

data: {"id":"chatcmpl_123","object":"chat.completion.chunk","created":1712345678,"model":"gpt-5","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":28,"completion_tokens":18,"total_tokens":46}}

data: [DONE]

エラーレスポンス例

{
  "error": {
    "message": "Invalid request",
    "type": "invalid_request_error",
    "param": null,
    "code": "invalid_request"
  }
}

認証

  • リクエストヘッダー:Authorization: Bearer YOUR_API_KEY
  • API キーは Magick API 管理画面で生成されたキーを使用してください

よく使われるパラメータ

model

  • 型:string

  • 必須:はい

    具体的なモデル ID を指定します。プロジェクトはチャネルマッピングと分配ルールに従って上流モデルを選択します。

messages

  • 型:array

  • 必須:はい

    OpenAI Chat Completions プロトコルに準拠します。各メッセージには少なくとも rolecontent が含まれます。

stream

  • 型:boolean

  • デフォルト値:true

    ストリーミング出力を使用するかどうか。省略した場合、多くのクライアントは独自のデフォルト動作で送信します。ストリーミングを強制したい場合は、明示的に true を渡すことを推奨します。

stream_options

  • 型:object

    現在のプロジェクトでは OpenAI スタイルの stream_options をサポートしています。一般的な記述例:

{
  "stream_options": {
    "include_usage": true
  }
}

その他のよく使われるフィールド

以下の OpenAI 互換フィールドは直接使用できますが、上流で受け入れられるかどうかはモデルとチャネルの能力に依存します:

  • temperature
  • top_p
  • max_tokens
  • max_completion_tokens
  • tools
  • tool_choice
  • response_format
  • reasoning_effort

互換性に関する注意

  • POST /v1/completions も引き続き存在しますが、新規の接続では POST /v1/chat/completions を統一して使用することを推奨します

最終更新

目次