プロトコル変換
あらゆるエンドポイントであらゆるモデルを使える仕組み、変更されずに転送される内容、変換では引き継げない項目。
すべてのモデルを、どのエンドポイントからでも利用できます。
/v1/responses で Claude モデルを指定する場合も、/v1/messages で GPT モデルを指定する場合もサポートされます。
これにより、1つのプロトコルを使用するクライアントから、別のプロトコルを使用するベンダーのモデルを、 2つ目のゲートウェイを用意せずに利用できます。
| エンドポイント | プロトコル | 主なクライアント |
|---|---|---|
/v1/chat/completions |
OpenAI チャット補完 | OpenAI SDK、OpenClaw、Hermes、ほとんどのエディター |
/v1/messages |
Anthropic Messages | Anthropic SDK、Claude Code |
/v1/responses |
OpenAI Responses | Codex、新しい OpenAI SDK |
クライアントごとに送信する形式が異なるため、認証情報は Authorization: Bearer、x-api-key、api-key
のいずれでも受け付けられます。
変換が行われない場合
エンドポイントとモデルのプロバイダーがすでに同じプロトコルを使用している場合、 リクエスト本文は再構築されず、そのまま転送されます。書き換えられるのはモデルIDだけです。
キャッシュブレークポイント、推論シグネチャ、Webway が認識していないフィールドも、 すべて変更されずにプロバイダーへ届きます。このページの公開後に追加されたプロバイダー機能も、 リリースされたその日から利用できます。
変換で引き継げないもの
それ以外の場合、対象のプロトコルに対応する場所がない項目がいくつかあります。
- キャッシュブレークポイントは、対象がチャット補完の場合に破棄されます。チャット補完には
cache_controlがないためです。そこでのキャッシュはプロバイダーが暗黙的に行うため、 失われるのは料金ではなく制御の自由度です。 - 推論シグネチャは、思考ブロックが変更されずに返されたことを示すプロバイダーの証明です。 発行したプロバイダー固有のものであり、別のプロバイダーのプロトコルには引き継げないため、 偽造せずに破棄されます。
previous_response_idは拒否され、400が返されます。Webway は 会話状態を保存しないため、完全なinput配列を送信してください。このフィールドを無視すると、 履歴が通知なしに失われてしまいます。
ツール、ツール結果、画像、システムプロンプト、停止理由、ストリーミング順序、 トークン数は、どちらの方向に変換してもすべて維持されます。
トークン数
/v1/messages/count_tokens は、プロバイダーがこの機能を提供していないモデルも含め、
すべてのモデルで利用できるため、Claude Code のコンテキストメーターは常に機能します。
そのようなモデルのトークン数は推定値です。
キャッシュ済み入力にはキャッシュ料金が、キャッシュ書き込みには書き込み料金が適用されます。
使用量は請求書に反映される前に正規化されます。Anthropic はキャッシュ済みトークンを
input_tokens から除外し、OpenAI は prompt_tokens に含めます。また、
GET /v1/models はそれぞれの単価を個別に公開します。