Zum Inhalt springen

Protokollübersetzung

Jedes Modell an jedem Endpunkt, was unverändert weitergeleitet wird und welche wenigen Dinge sich nicht übersetzen lassen.

Jedes Modell ist über jeden Endpunkt erreichbar. Eine Anfrage für ein Claude-Modell über /v1/responses oder für ein GPT-Modell über /v1/messages wird unterstützt.

So kann ein Client, der ein Protokoll spricht, Modelle von Anbietern verwenden, die ein anderes sprechen, ohne ein zweites Gateway betreiben zu müssen.

Endpunkt Protokoll Typische Clients
/v1/chat/completions OpenAI Chat Completions SDKs von OpenAI, OpenClaw, Hermes, die meisten Editoren
/v1/messages Anthropic Messages SDKs von Anthropic, Claude Code
/v1/responses OpenAI Responses Codex, neuere SDKs von OpenAI

Zugangsdaten werden als Authorization: Bearer, x-api-key oder api-key akzeptiert, weil Clients unterschiedliche Varianten senden.

Wenn nichts übersetzt wird

Wenn dein Endpunkt und der Anbieter des Modells bereits dasselbe Protokoll sprechen, wird der Anfragekörper weitergeleitet, statt neu aufgebaut zu werden. Nur die Modell-ID wird umgeschrieben.

Cache-Grenzpunkte, Reasoning-Signaturen und Felder, die Webway nicht kennt, erreichen den Anbieter unverändert. Eine Anbieterfunktion, die nach Erstellung dieser Seite veröffentlicht wird, funktioniert ab dem Tag ihrer Veröffentlichung.

Was sich nicht übersetzen lässt

Wenn die direkte Weiterleitung nicht greift, gibt es für einige Dinge im Zielprotokoll keine Entsprechung:

  • Cache-Grenzpunkte werden entfernt, wenn das Ziel Chat Completions ist, da dieses Protokoll kein cache_control kennt. Anbieter speichern dort implizit im Cache, sodass du Kontrolle verlierst, aber kein Geld.
  • Reasoning-Signaturen belegen, dass ein Reasoning-Block unverändert zurückgegeben wurde. Sie gelten nur für den Anbieter, der sie ausgestellt hat, und können nicht in das Protokoll eines anderen übertragen werden. Deshalb werden sie entfernt und nicht gefälscht.
  • previous_response_id wird mit 400 abgelehnt. Webway speichert keinen Gesprächszustand; sende das vollständige input-Array. Das Feld zu ignorieren würde deinen Verlauf unbemerkt verwerfen.

Tools, Tool-Ergebnisse, Bilder, System-Prompts, Stoppgründe, Streaming-Reihenfolge und Tokenanzahlen bleiben in beiden Richtungen erhalten.

Tokenanzahlen

/v1/messages/count_tokens steht für jedes Modell zur Verfügung, auch für Modelle, deren Anbieter dies nicht anbietet, sodass die Kontextanzeige von Claude Code durchgehend funktioniert. Die Angaben für diese Modelle sind Schätzungen.

Zwischengespeicherte Eingaben werden zum Cache-Tarif und Cache-Schreibvorgänge zum Schreibtarif abgerechnet. Die Nutzung wird normalisiert, bevor sie auf deiner Rechnung erscheint: Anthropic schließt zwischengespeicherte Tokens aus input_tokens aus, OpenAI schließt sie in prompt_tokens ein, und GET /v1/models veröffentlicht jeden Tarif separat.