Claude Messages

Anthropic 形式のメッセージペイロードを送信するクライアントには、Claude 互換の Messages エンドポイントを使用します。

POST https://getrouter.ai/v1/messages

基本リクエスト

curl https://getrouter.ai/v1/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "max_tokens": 512,
    "system": "明確かつ簡潔に回答してください。",
    "messages": [
      {"role": "user", "content": "Base URL の目的を説明してください。"}
    ]
  }'

レスポンスは、コンテンツブロックと、利用可能な場合は使用量情報を含む Claude 互換のメッセージ形式です。

必須フィールド

フィールド説明
modelClaude 互換のモデル ID
messages会話メッセージ
max_tokens出力トークン数の上限

オプションフィールド

API スキーマには次のようなフィールドがあります。

  • system
  • temperaturetop_ptop_k
  • stream
  • stop_sequences
  • toolstool_choice
  • thinking
  • context_management
  • output_configoutput_format
  • metadata
  • speedservice_tier

対応状況はモデルによって異なります。スキーマに含まれているという理由だけでオプションを送信せず、選択したモデルが対応していることを確認してください。

ストリーミング

対応している場合、streamtrue に設定して Claude 互換のストリーミングを使用します。

{
  "model": "MODEL_ID",
  "max_tokens": 512,
  "stream": true,
  "messages": [
    {"role": "user", "content": "短いリリースノートを書いてください。"}
  ]
}

Chat Completions や Responses のパーサーではなく、Claude 用のイベントパーサーを使用してください。

ツールと thinking の対応

Claude 互換のツール定義、ツール結果ブロック、thinking 設定には、それぞれの機能に対応するモデルが必要です。無人エージェントで有効にする前に、ワークフロー全体をテストしてください。

Warning

OpenAI 互換エンドポイントで使用する Claude モデル ID と、/v1/messages で使用する同じモデルでは、リクエストとレスポンスの処理方法が異なる場合があります。クライアントが期待するプロトコルを設定してください。

ツール連携

Claude 互換のコーディングクライアントなどでは、追加の環境変数やプロバイダー設定が必要になる場合があります。ホスト名だけを置き換えず、連携ガイド にある専用ガイドに従ってください。

次のステップ