Plattform

Smart Routing

Wenn das angefragte Modell ausfällt, liefert Smart Routing die Antwort eines ähnlichen Modells statt eines Fehlers. Deine App läuft auch bei einem Ausfall weiter – ganz ohne Retry-Code. Der automatische Modus unterstützt Chat- und Bildmodelle. Bei Sprachmodellen wird nur gewechselt, wenn du selbst Alternativen festlegst. Bei Videomodellen gibt es keinen Wechsel.

So funktioniert’s

  1. Jede Anfrage geht zuerst an das Modell, das du ausgewählt hast. Die meisten Probleme werden schon hier abgefangen: Wenn ein Zugangsweg zum Modell hängt oder einen Fehler liefert, wird ein anderer versucht, bevor du etwas davon bemerkst.
  2. Erst wenn das Modell selbst nicht antworten kann (weil alle Zugangswege fehlgeschlagen sind oder keiner verfügbar ist), springt Smart Routing ein.
  3. Die Alternativen werden der Reihe nach versucht, jeweils mit derselben automatischen Fehlerbehebung, bis eine antwortet.
  4. An der Antwort erkennst du, welches Modell geantwortet hat (model im Body, x-zurelay-model- und x-zurelay-routed-from-Header). Abgerechnet wird zum Preis dieses Modells.

Bevor eine Alternative versucht wird, kommen alle Zugangswege zu deinem Modell an die Reihe. Du erhältst also nur dann eine Antwort von einem anderen Modell, wenn deines wirklich nicht antworten kann. Falls alles schnell fehlschlägt, bekommen dein Modell und seine Alternativen je einen weiteren Versuch, bevor du einen Fehler siehst. Ein Modell, von dem bekannt ist, dass es ausgefallen ist, wird sofort übersprungen.

So aktivierst du es

WoWieGilt für
Workspace-StandardEinstellungen → Smart RoutingAlle Keys ohne eigene Einstellung und den Playground
Pro KeyAPI-Keys → Bearbeiten → Smart RoutingAnfragen mit diesem Key
Pro Anfrageeine models-Liste oder den x-zurelay-fallback-HeaderDiese Anfrage

Für einen Key gibt es diese Einstellungen:

Workspacedefault
Der Workspace-Einstellung folgen (deaktiviert, sofern du es nicht aktiviert hast).
Offmode
Wenn das Modell ausfällt, schlägt die Anfrage mit model_unavailable fehl. Du kannst sie erneut versuchen.
Automaticmode
Unsere Liste ähnlicher Alternativen für jedes Chat- und Bildmodell verwenden (siehe unten): zuerst Modelle derselben Familie mit ähnlichem Preis. Sprachanfragen bleiben beim angefragten Modell.
Custommode
Deine eigenen Regeln: pro Modell bis zu drei Alternativen in festgelegter Reihenfolge. Eine Regel für „jedes andere Modell“ (*) deckt den Rest ab.

Pro Anfrage

Eine Liste mit Alternativen

Übergib models zusammen mit model: bis zu drei Alternativen, die der Reihe nach versucht werden, wenn model ausfällt – unabhängig von der Key-Einstellung oder dem Header. Die Liste wird nie an das Modell gesendet. Das OpenAI Python SDK übermittelt sie über extra_body. Auch Bild- und Sprachanfragen unterstützen sie. Bei einer Bildbearbeitung, die als Formular gesendet wird, kannst du sie als models-Feld übergeben (mehrfach oder als eine kommagetrennte Liste).

import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.zurelay.com/v1",
api_key=os.environ["ZURELAY_API_KEY"],
)
response = client.chat.completions.create(
model="gpt-6-sol",
messages=[
{
"role": "user",
"content": "Summarize this ticket in one line: ..."
}
],
extra_body={
"models": [
"gpt-6.1-sol",
"gpt-6-astra"
]
},
)
print(response.choices[0].message.content)

Der Header

Header
x-zurelay-fallback: off # never reroute this request
x-zurelay-fallback: auto # use the automatic alternatives (chat and image models)

Es gilt diese Reihenfolge: zuerst models aus der Anfrage, dann der Header, dann die Key-Einstellung und zuletzt der Workspace-Standard.

Welche Alternativen antworten können

  • Sie sind vom selben Modelltyp. Alternativen für ein Chatmodell sind Chatmodelle, für ein Bildmodell Bildmodelle und für ein Sprachmodell Sprachmodelle. Eine Regel für jedes andere Modell (*) kann mehrere Typen enthalten; jede Anfrage verwendet nur Alternativen ihres eigenen Typs.
  • Sie können deine Eingaben verarbeiten. Eine Anfrage mit einem PDF oder Video geht nur an Alternativen, die es lesen können. Gibt es keine, erhältst du einen Fehler statt einer Antwort, die deine Datei ignoriert.
  • Der Key darf sie verwenden. Alternativen, die für den Key nicht zugelassen sind, werden übersprungen.
  • Sie unterstützen den Endpoint. Bei /v1/messages kommen nur Claude-Modelle als Alternativen infrage.
  • Die Anfrage selbst ist gültig. Wenn das Modell die Anfrage ablehnt (wegen eines ungültigen Parameters, eines zu langen Prompts, eines Bildmotivs, das es nicht zeichnen will, oder eines Texts, den es nicht sprechen will), wird sie nicht umgeleitet: Die Alternativen würden sie ebenfalls ablehnen.

Bilder

Im automatischen Modus wird bei Bildern zuerst innerhalb derselben Familie gewechselt (GPT Image 2.5 Sunburst zu Flare, Nano Banana Pro zu Nano Banana 2.1) und nur zu Modellen, die Bilder in etwa gleicher Qualität erzeugen. Eine automatische Alternative kostet bei der angefragten Größe nie mehr als das 1,5-Fache des angefragten Modells. Für deine eigenen Regeln und die models-Liste einer Anfrage gilt diese Grenze nicht. In beiden Fällen gilt:

  • Dieselbe Größe und dasselbe Format. Nano Banana-Modelle interpretieren size und aspect_ratio gleich. GPT Image kann eine Nano Banana-Größe nur ersetzen, wenn beide dasselbe Bildformat erzeugen: 1K quadratisch (1024x1024), 1K im Format 3:2 oder 2:3, 2K quadratisch, 4K im Format 16:9 oder 9:16. Nano Banana kann eine GPT Image-Pixelgröße nur ersetzen, wenn es exakt dieselbe Pixelzahl erzeugt (1024x1024, 2048x2048) oder du keine Größe angegeben hast.
  • Deine Referenzbilder. Eine Alternative muss so viele verarbeiten können, wie du gesendet hast (Nano Banana 14, GPT Image 16).
  • Deine Optionen. Ein transparentes background wird nur an GPT Image-Modelle gesendet.
  • Ein Modell pro Antwort. Bei n über 1 stammen alle Bilder vom selben Modell.

Sprache

Bei Sprache wird das Modell nur durch deine eigenen Regeln oder die models-Liste einer Anfrage gewechselt, nie im automatischen Modus. Alle Sprachmodelle bieten dieselben Stimmen. Ein alternatives Modell liest deinen Text also mit der gewünschten voice und deinem instructions vor. Die Header für Eingabe- und Ausgabetokens stammen vom antwortenden Modell.

Automatische Alternativen

Direkt aus dem Katalog: die Alternativen, auf die Chat- und Bildmodelle im automatischen Modus zurückgreifen.

Wenn dieses Modell ausfälltAutomatisches, intelligentes Routing versucht es der Reihe nach
Claude Opus 5.5Claude Opus 5→Claude Opus 4.8→Claude Sonnet 5.5
GPT-6 AstraGPT-5.6 Sol→GPT-6.1 Sol→Claude Opus 5.5
Claude Sonnet 5.5Claude Opus 5.5→Claude Opus 4.8→Claude Haiku 5.5
Claude Haiku 5.5Claude Haiku 4.5→GPT-6 Luna→Gemini 3.1 Flash-Lite
GPT-6.1 SolGPT-6 Sol→GPT-5.6 Terra→GPT-5.6 Sol
GPT-6.1 TerraGPT-6.1 Sol→GPT-6 Sol→GPT-5.6 Terra
GPT-6 SolGPT-6.1 Sol→GPT-5.6 Terra→GPT-5.6 Sol
GPT-6 LunaGPT-5.6 Luna→Gemini 3.1 Flash-Lite→DeepSeek V4.1 Flash
Grok 4.7GPT-6.1 Sol→Gemini 3.7 Flash→GLM-5.3
Muse WonderGemini 4 Argon→Claude Opus 5.5→Claude Sonnet 5.5
MiMo V2.6 ProMiMo V2.6 Flash→DeepSeek V4 Pro 0813→GLM-5.3
MiMo V2.6 FlashMiMo V2.6 Pro→DeepSeek V4.1 Flash→Qwen 3.8 Flash
DeepSeek V4.1 Flash 1017DeepSeek V4.1 Flash→DeepSeek V4 Pro 0813→Qwen 3.8 Flash
DeepSeek V4.1 FlashDeepSeek V4 Flash 0731→DeepSeek V4 Pro 0813→Qwen 3.8 Flash
DeepSeek V4 FlashDeepSeek V4 Flash 0731→DeepSeek V4 Pro 0813→Qwen 3.8 Flash
DeepSeek V4 Flash 0731DeepSeek V4.1 Flash→MiMo V2.6 Flash→Qwen 3.8 Flash
DeepSeek V4 Pro 0813DeepSeek V4.1 Flash→GLM-5.3→MiMo V2.6 Pro
Claude Fable 5.1Claude Fable 5→Claude Opus 5.5→Claude Opus 5
Claude Fable 5Claude Fable 5.1→Claude Opus 5.5→Claude Opus 5
Claude Opus 5Claude Opus 4.8→Claude Opus 5.5→Claude Opus 4.7
Claude Opus 4.8Claude Opus 5→Claude Opus 4.7→Claude Opus 5.5
Claude Opus 4.7Claude Opus 4.8→Claude Opus 4.6→Claude Opus 5
Claude Opus 4.6Claude Opus 4.7→Claude Opus 4.8→Claude Opus 5
Claude Haiku 4.5Claude Haiku 5.5→Claude Sonnet 5.5
GPT-5.6 SolGPT-6.1 Sol→GPT-5.6 Terra→GPT-6 Sol
GPT-5.6 TerraGPT-6.1 Terra→GPT-6.1 Sol→GPT-6 Sol
GPT-5.6 LunaGPT-6 Luna→Gemini 3.5 Flash-Lite→DeepSeek V4.1 Flash
Gemini 4 ArgonGemini 3.1 Pro→Gemini 3.8 Flash→GPT-6.1 Sol
Gemini 3.1 ProGemini 4 Argon→Gemini 3.8 Flash→GPT-6.1 Sol→Claude Sonnet 5.5
Gemini 3.8 FlashGemini 3.7 Flash→GPT-6.1 Sol→DeepSeek V4 Flash
Gemini 3.7 FlashGPT-6.1 Sol→Gemini 3.5 Flash-Lite→DeepSeek V4 Flash
Gemini 3.5 Flash-LiteGemini 3.1 Flash-Lite→Gemini 3.7 Flash→GPT-5.6 Luna
Gemini 3.1 Flash-LiteGemini 3.5 Flash-Lite→GPT-6 Luna→DeepSeek V4.1 Flash
GLM-5.3GLM-5.2→DeepSeek V4 Pro 0813
GLM-5.2GLM-5.3→DeepSeek V4 Pro 0813
GLM-5.3 FlashGLM-5.3→DeepSeek V4 Flash→Qwen 3.8 Flash
GLM-5.3 FlashXGLM-5.3 Flash→GLM-5.3→DeepSeek V4 Flash
Kimi K3.1 ProKimi K3→GLM-5.3→DeepSeek V4 Pro 0813
Kimi K3.1 Pro HighspeedKimi K3.1 Pro→Kimi K3→GLM-5.3
Kimi K3Kimi K3.1 Pro→Qwen 3.8 Max→GLM-5.3
Qwen 3.8 MaxKimi K3→GLM-5.3→DeepSeek V4 Pro 0813
Qwen 3.8 FlashQwen 3.8 Omni Flash→DeepSeek V4.1 Flash→MiMo V2.6 Flash
Qwen 3.8 Omni FlashQwen 3.8 Flash→Gemini 3.1 Flash-Lite→MiMo V2.6 Flash
MiniMax M3.1 FlashMiniMax M3→DeepSeek V4.1 Flash 1017→Qwen 3.8 Flash
HY4 PreviewGLM-5.3→DeepSeek V4 Pro 0813→Qwen 3.8 Flash
MiniMax M3GLM-5.3→DeepSeek V4 Pro 0813
Schritt 5 PreviewDeepSeek V4 Pro 0813→GLM-5.3→MiMo V2.6 Pro
Kimi K2.6Kimi K3.1 Pro→GLM-5.3→DeepSeek V4 Pro 0813
Kimi K2.5Kimi K2.6→Kimi K3.1 Pro→GLM-5.3
MiniMax M2.5MiniMax M3→GLM-5.3→DeepSeek V4 Pro 0813
Ministral 3 3BMinistral 3 14B→Qwen 3.8 Flash→DeepSeek V4.1 Flash
Ministral 3 14BMinistral 3 3B→Qwen 3.8 Flash→DeepSeek V4.1 Flash
Muse Spark 1.3 ContributorQwen 3.8 Flash→Gemini 3.1 Flash-Lite→DeepSeek V4.1 Flash
Nano Banana 2.1Nano Banana Pro→Nano Banana 2→GPT Image 2.5 Flare
Nano Banana ProNano Banana 2.1→Nano Banana 2→GPT Image 2.5 Flare
Nano Banana 2Nano Banana 2.1→Nano Banana Pro→GPT Image 2.5 Flare
Nano Banana 2 LiteGPT Image 2.5 Flare→GPT Image 2.5 Sunburst→GPT Image 2
GPT Image 2.5 FlareGPT Image 2.5 Sunburst→GPT Image 2→Nano Banana 2.1
GPT Image 2.5 SunburstGPT Image 2.5 Flare→GPT Image 2→Nano Banana 2.1
GPT Image 2GPT Image 2.5 Flare→GPT Image 2.5 Sunburst→Nano Banana 2.1
Grok Imagine Image 2.0Nano Banana Pro→GPT Image 2.5 Flare→Nano Banana 2.1
FLUX 3 ImageNano Banana 2.1→Nano Banana Pro→GPT Image 2.5 Flare

Gut zu wissen

  • Ein alternatives Modell kann mehr oder weniger kosten als das angefragte Modell. In deinem Anfragenprotokoll siehst du, welches Modell geantwortet hat und was es gekostet hat.
  • Streaming funktioniert genauso: Es wird nichts gesendet, bis ein Modell antwortet. Die Chunks nennen dieses Modell.
  • Bild- und Sprachantworten enthalten dieselben x-zurelay-model- und x-zurelay-routed-from-Header. Bilder in deiner Bibliothek sind mit dem Modell gekennzeichnet, das sie erstellt hat.
  • Videos werden nicht umgeleitet: Ein Videoauftrag bleibt beim angefragten Modell und wird erneut eingereicht, bis das Video erstellt wurde oder der Auftrag fehlschlägt (kostenlos).
Prüfe x-zurelay-routed-from in deinen Logs oder deinem Monitoring: Der Wert wird nur gesetzt, wenn ein alternatives Modell geantwortet hat. So siehst du, wie oft ein Modell, auf das du angewiesen bist, nicht verfügbar war. Die einzige Ausnahme ist Zurelay Auto: Hier wird der Wert bei jeder Antwort auf zurelay-auto gesetzt.

Fragen oder fehlt etwas? Frag unser Support-Team und wir antworten per E-Mail, meist innerhalb einer Minute.