Endpoint: POST /chat/completions
多くの統合はこのエンドポイントから始めます。model と messages を送ると、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 など |
ボディパラメータ
呼び出すモデル ID(例: gpt-4o, claude-sonnet-4-20250514, gemini-2.5-flash)。
会話メッセージの配列。各要素に role と content。
マルチモーダル(画像入力)
content をブロック配列にします。text と image_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."
}
]
}'
よくあるエラー
| ステータス | 原因 | 確認 |
|---|
400 | JSON/パラメータ不正 | model と messages |
401 | キー不正 | Authorization |
429 | 制限 | バックオフ、自動ルーティング |
500 | 障害 | 再試行、ID 保存 |
モデル ID と固定例は モデル と ルーティング を参照してください。