メインコンテンツへスキップ
Endpoint: POST /chat/completions 多くの統合はこのエンドポイントから始めます。modelmessages を送ると、OpenAI 互換の completion が返ります。ビジョン対応モデルでは messages[].content に画像入力も渡せます。

リクエスト例

curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": "Reply with exactly: connected"
      }
    ]
  }'

OpenAI SDK

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["YOUROUTER_API_KEY"],
    base_url="https://api.yourouter.ai/v1",
)

completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Reply with exactly: connected"}],
)

print(completion.choices[0].message.content)

ヘッダー

Header必須説明
AuthorizationはいBearer <YOUR_YOUROUTER_API_KEY>
Content-Typeはいapplication/json
vendorいいえ自動は省略/auto。固定は openai など

ボディパラメータ

model
string
必須
呼び出すモデル ID(例: gpt-4o, claude-sonnet-4-20250514, gemini-2.5-flash)。
messages
array
必須
会話メッセージの配列。各要素に rolecontent
stream
boolean
デフォルト:"false"
true で SSE の増分レスポンス。
temperature
number
モデルが対応する場合のサンプリング温度。
max_tokens
integer
モデルが対応する場合の出力上限。
tools
array
ツール/関数呼び出し定義。

マルチモーダル(画像入力)

content をブロック配列にします。textimage_url を組み合わせます。
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Describe this image in one sentence."
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://example.com/image.jpg"
            }
          }
        ]
      }
    ]
  }'
非公開画像は base64 data URL:
{
  "type": "image_url",
  "image_url": {
    "url": "data:image/jpeg;base64,<BASE64_IMAGE>"
  }
}
追加例は マルチモーダル を参照してください。

レスポンス

成功時は OpenAI Chat Completions 形式です。
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "connected"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 1,
    "total_tokens": 13
  }
}

ルーティング

自動(vendor 省略):
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'
固定(vendor 付与):
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "vendor: openai" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'

ストリーミング

stream: true で SSE を受け取ります。
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "stream": true,
    "messages": [
      {
        "role": "user",
        "content": "Explain model routing in two sentences."
      }
    ]
  }'

よくあるエラー

ステータス原因確認
400JSON/パラメータ不正modelmessages
401キー不正Authorization
429制限バックオフ、自動ルーティング
500障害再試行、ID 保存
モデル ID と固定例は モデルルーティング を参照してください。