Platform

Slimme routering

Als het model in je request niet beschikbaar is, geeft slimme routering je een antwoord van een vergelijkbaar alternatief in plaats van een foutmelding. Je app blijft werken tijdens een storing, zonder dat je code voor retries hoeft te schrijven. De automatische modus werkt voor chat- en afbeeldingsmodellen. Bij spraak wordt alleen van model gewisseld als je zelf alternatieven kiest, en bij video's gebeurt dat nooit.

Hoe het werkt

  1. Elk request gaat eerst naar het model dat je hebt gevraagd. De meeste problemen worden hier al opgelost: als één route naar het model vastloopt of een fout geeft, wordt het request via een andere route opnieuw geprobeerd voordat je er iets van merkt.
  2. Pas als het model zelf niet kan antwoorden (alle routes zijn mislukt of er is geen route beschikbaar), grijpt slimme routering in.
  3. De alternatieven worden op volgorde geprobeerd, elk met hetzelfde automatische herstel, totdat er één antwoordt.
  4. In het antwoord staat welk model heeft geantwoord (model in de body, x-zurelay-model en x-zurelay-routed-from in de headers). Je betaalt het tarief van dat model.

Elke route naar het gevraagde model komt aan de beurt voordat een alternatief wordt geprobeerd. Je krijgt dus pas een ander model als het jouwe echt niet kan antwoorden. Als alles snel is mislukt, krijgen het model en de alternatieven elk nog één poging voordat je een foutmelding ziet. Een model waarvan bekend is dat het niet beschikbaar is, wordt direct overgeslagen.

Inschakelen

WaarHoeGeldt voor
Standaard voor de werkruimteInstellingen → Slimme routeringElke sleutel zonder eigen instelling, en de Playground
Per sleutelAPI-sleutels → Bewerken → Slimme routeringRequests met die sleutel
Per requesteen models-lijst, of de x-zurelay-fallback-headerDat request

Voor een sleutel kies je één van deze instellingen:

Workspacedefault
Volg de instelling van de werkruimte (uit, tenzij je die hebt ingeschakeld).
Offmode
Als het model niet beschikbaar is, mislukt het request met model_unavailable. Je kunt het dan opnieuw proberen.
Automaticmode
Gebruik onze lijst met vergelijkbare alternatieven voor elk chat- en afbeeldingsmodel (hieronder): eerst dezelfde familie en een vergelijkbare prijs. Spraakrequests blijven bij het model dat je hebt gevraagd.
Custommode
Je eigen regels: per model maximaal drie alternatieven op volgorde. Een regel voor “elk ander model” (*) dekt de rest.

Per request

Een lijst met alternatieven

Geef models mee naast model: maximaal drie alternatieven die op volgorde worden geprobeerd als model niet beschikbaar is, ongeacht de instelling van de sleutel of de header. De lijst wordt nooit naar het model gestuurd. De OpenAI Python SDK stuurt deze mee via extra_body. Ook afbeeldings- en spraakrequests ondersteunen de lijst. Bij een afbeeldingsbewerking die je als formulier verstuurt, geef je deze mee als een models-veld (herhaald, of als één door komma's gescheiden lijst).

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)

De header

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

Dit is de volgorde van prioriteit: eerst models van het request, dan de header, dan de instelling van de sleutel en tot slot de standaardinstelling van de werkruimte.

Welke alternatieven kunnen antwoorden

  • Het zijn modellen van hetzelfde type. Een chatmodel krijgt chatmodellen als alternatief, een afbeeldingsmodel krijgt afbeeldingsmodellen en een spraakmodel krijgt spraakmodellen. Een regel voor elk ander model (*) kan meerdere typen bevatten; elk request gebruikt alleen modellen van het eigen type.
  • Ze kunnen lezen wat je meestuurt. Een request met een PDF of video gaat alleen naar alternatieven die deze kunnen lezen. Kan geen enkel alternatief dat, dan krijg je de foutmelding in plaats van een antwoord dat je bestand negeert.
  • De sleutel mag ze gebruiken. Alternatieven die niet tot de toegestane modellen van een sleutel behoren, worden overgeslagen.
  • Ze ondersteunen het endpoint. Op /v1/messages zijn de alternatieven Claude-modellen.
  • Het request zelf is in orde. Als het model het request heeft geweigerd (een ongeldige parameter, een te lange prompt, een prompt die het niet wil tekenen of tekst die het niet wil uitspreken), wordt het niet omgeleid: de alternatieven zouden het ook weigeren.

Afbeeldingen

In de automatische modus gaat een afbeeldingsrequest eerst naar dezelfde familie (GPT Image 2.5 Sunburst naar Flare, Nano Banana Pro naar Nano Banana 2.1), en alleen naar modellen die ongeveer even goed tekenen. Een automatisch alternatief kost nooit meer dan 1.5 keer de prijs van het gevraagde model voor het gevraagde formaat. Die limiet geldt niet voor je eigen regels of de models-lijst van een request. In beide gevallen geldt:

  • Hetzelfde formaat en dezelfde verhouding. Nano Banana-modellen interpreteren size en aspect_ratio op dezelfde manier. GPT Image vervangt een Nano Banana-formaat alleen als beide dezelfde afbeelding kunnen maken: 1K vierkant (1024x1024), 1K 3:2 of 2:3, 2K vierkant, 4K 16:9 of 9:16. Nano Banana vervangt een GPT Image-pixelformaat alleen als het exact die pixelafmetingen kan maken (1024x1024, 2048x2048), of als je geen formaat hebt opgegeven.
  • Je referentieafbeeldingen. Een alternatief moet minstens zoveel afbeeldingen ondersteunen als je hebt meegestuurd (Nano Banana 14, GPT Image 16).
  • Je opties. Een transparante background gaat alleen naar GPT Image-modellen.
  • Eén model per antwoord. Als n hoger is dan 1, komt elke afbeelding van hetzelfde model.

Spraak

Bij spraak wordt alleen van model gewisseld op basis van je eigen regels of de models-lijst van een verzoek, nooit in de automatische modus. Elk spraakmodel gebruikt dezelfde stemmen, dus een alternatief leest je tekst voor in de gevraagde voice, met je instructions. De headers voor invoer- en uitvoertokens zijn die van het model dat antwoordt.

Automatische alternatieven

Live uit de catalogus: de alternatieven waarop elk chat- en afbeeldingsmodel terugvalt in de automatische modus.

Als dit model niet beschikbaar isAutomatische slimme routering probeert op volgorde
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
Stap 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

Goed om te weten

  • Een alternatief kan meer of minder kosten dan het model dat je hebt aangevraagd. Je verzoeklog toont welk model heeft geantwoord en wat het heeft gekost.
  • Streaming werkt hetzelfde: er wordt niets verstuurd totdat een model antwoordt, en de chunks vermelden dat model.
  • Antwoorden op afbeeldings- en spraakverzoeken bevatten dezelfde headers x-zurelay-model en x-zurelay-routed-from, en bij afbeeldingen in je bibliotheek staat welk model ze heeft gemaakt.
  • Video's worden niet omgeleid: een videotaak blijft bij het model dat je hebt aangevraagd en wordt opnieuw ingediend totdat de video klaar is of de taak mislukt (kosteloos).
Controleer x-zurelay-routed-from in je logs of monitoring: deze waarde wordt alleen ingesteld als een alternatief heeft geantwoord, zodat je ziet hoe vaak een model waarop je vertrouwt niet beschikbaar was. De enige uitzondering is Zurelay Auto, dat deze waarde bij elk antwoord instelt op zurelay-auto.

Vragen, of ontbreekt er iets? Vraag het ons supportteam en je krijgt antwoord per e-mail, meestal binnen een minuut.