本文へスキップ

プロトコル変換

あらゆるエンドポイントであらゆるモデルを使える仕組み、変更されずに転送される内容、変換では引き継げない項目。

すべてのモデルを、どのエンドポイントからでも利用できます。 /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: Bearerx-api-keyapi-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 はそれぞれの単価を個別に公開します。