Plateforme
Routage intelligent
Lorsqu’un modèle demandé dans une requête est indisponible, le routage intelligent répond avec un modèle similaire au lieu de renvoyer une erreur. Votre application continue de fonctionner pendant une panne, sans une seule ligne de code de nouvelle tentative. Le mode automatique couvre les modèles de chat et d’image. La synthèse vocale ne change de modèle que si vous choisissez vous-même les alternatives, et la vidéo ne change jamais de modèle.
Fonctionnement
- Chaque requête est d’abord envoyée au modèle demandé. La plupart des problèmes se règlent à ce stade : si un accès au modèle se bloque ou renvoie une erreur, la requête est réessayée par un autre accès, sans que vous ayez à intervenir.
- Le routage intelligent n’intervient que lorsque le modèle lui-même ne peut pas répondre (tous les accès ont échoué ou aucun n’est disponible).
- Il essaie les alternatives dans l’ordre, chacune avec le même mécanisme de reprise automatique, jusqu’à ce que l’une d’elles réponde.
- La réponse indique quel modèle a répondu (
modeldans le corps, en-têtesx-zurelay-modeletx-zurelay-routed-from), et la facturation se fait au tarif de ce modèle.
Tous les accès au modèle demandé sont essayés avant de passer à une alternative : vous n’obtenez donc un autre modèle que si le vôtre ne peut vraiment pas répondre. Si tous les essais ont échoué rapidement, le modèle et ses alternatives sont chacun réessayés une dernière fois avant qu’une erreur ne vous soit renvoyée. Un modèle dont l’indisponibilité est connue est ignoré d’emblée.
Activation
Une clé peut utiliser l’un des réglages suivants :
Workspacedefault- Suivre le réglage de l’espace de travail (désactivé sauf si vous l’avez activé).
Offmode- Si le modèle est indisponible, la requête échoue avec model_unavailable. Vous pouvez alors la réessayer.
Automaticmode- Utiliser notre liste d’alternatives proches pour chaque modèle de chat et d’image (ci-dessous) : priorité à la même famille et à un tarif similaire. Les requêtes vocales restent sur le modèle demandé.
Custommode- Vos propres règles : pour chaque modèle, jusqu’à trois alternatives, dans l’ordre. Une règle pour « tout autre modèle » (
*) couvre le reste.
Par requête
Une liste d’alternatives
Passez models à côté de model : jusqu’à trois alternatives, essayées dans l’ordre si model est indisponible, quels que soient le réglage de la clé ou l’en-tête. Cette liste n’est jamais transmise au modèle. Le SDK Python OpenAI l’envoie via extra_body. Les requêtes d’image et vocales l’acceptent aussi. Pour une retouche d’image envoyée sous forme de formulaire, utilisez un champ models (répété, ou contenant une liste séparée par des virgules).
import osfrom openai import OpenAIclient = 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)L’en-tête
x-zurelay-fallback: off # never reroute this requestx-zurelay-fallback: auto # use the automatic alternatives (chat and image models)Ordre de priorité : le champ models de la requête, puis l’en-tête, puis le réglage de la clé, puis le réglage par défaut de l’espace de travail.
Quelles alternatives peuvent répondre
- Elles sont du même type. Les alternatives d’un modèle de chat sont des modèles de chat, celles d’un modèle d’image sont des modèles d’image, celles d’un modèle vocal sont des modèles vocaux. Une règle pour tout autre modèle (
*) peut contenir plusieurs types ; chaque requête utilise ceux de son propre type. - Elles savent lire ce que vous envoyez. Une requête contenant un PDF ou une vidéo n’est envoyée qu’aux alternatives capables de le lire. Si aucune ne le peut, vous recevez une erreur plutôt qu’une réponse qui ignore votre fichier.
- La clé autorise leur utilisation. Les alternatives qui ne figurent pas parmi les modèles autorisés pour la clé sont ignorées.
- Elles sont compatibles avec l’endpoint. Sur
/v1/messages, les alternatives sont des modèles Claude. - La requête elle-même est valide. Si le modèle a refusé la requête (paramètre incorrect, prompt trop long, image qu’il refuse de générer ou texte qu’il refuse de prononcer), elle n’est pas reroutée : les alternatives la refuseraient aussi.
Images
En mode automatique, une requête d’image passe d’abord à un modèle de la même famille (de GPT Image 2.5 Sunburst à Flare, de Nano Banana Pro à Nano Banana 2.1), et uniquement à des modèles de qualité de génération comparable. Une alternative automatique ne coûte jamais plus de 1.5 fois le tarif du modèle demandé, au format demandé. Vos propres règles et la liste models d’une requête ne sont pas soumises à cette limite. Dans tous les cas :
- Les mêmes dimensions et proportions. Les modèles Nano Banana interprètent
sizeetaspect_ratiode la même façon. GPT Image ne remplace un format Nano Banana que si les deux produisent une image aux mêmes dimensions : carré 1K (1024x1024), 1K 3:2 ou 2:3, carré 2K, 4K 16:9 ou 9:16. Nano Banana ne remplace un format en pixels de GPT Image que s’il produit exactement ces dimensions (1024x1024,2048x2048), ou si vous n’avez pas demandé de format. - Vos images de référence. Une alternative doit en accepter autant que vous en avez envoyé (Nano Banana 14, GPT Image 16).
- Vos options. Un
backgroundtransparent ne peut être traité que par les modèles GPT Image. - Un seul modèle par réponse. Si
nest supérieur à 1, toutes les images proviennent du même modèle.
Voix
La synthèse vocale ne change de modèle que selon vos propres règles ou la liste models d’une requête, jamais en mode automatique. Tous les modèles vocaux proposent les mêmes voix : un modèle de remplacement lit donc votre texte dans le voice demandé, avec votre instructions. Les en-têtes de tokens d’entrée et de sortie correspondent au modèle qui a répondu.
Modèles de remplacement automatiques
En direct du catalogue : les modèles de remplacement utilisés en mode automatique pour chaque modèle de chat et d’image.
À savoir
- Un modèle de remplacement peut coûter plus ou moins cher que le modèle demandé. Votre journal des requêtes indique le modèle qui a répondu et son coût.
- Le streaming fonctionne de la même façon : rien n’est envoyé tant qu’un modèle ne répond pas, et les fragments indiquent son nom.
- Les réponses de génération d’images et de synthèse vocale contiennent les mêmes en-têtes
x-zurelay-modeletx-zurelay-routed-from, et les images de votre bibliothèque portent le nom du modèle qui les a créées. - Les vidéos ne sont pas redirigées : chaque tâche reste sur le modèle demandé et est relancée jusqu’à ce que la vidéo soit créée ou que la tâche échoue (sans frais).
x-zurelay-routed-from dans vos journaux ou vos outils de suivi : il n’est renseigné que lorsqu’un modèle de remplacement a répondu, ce qui vous permet de mesurer la fréquence d’indisponibilité d’un modèle dont vous dépendez. Seule exception : Zurelay Auto, qui le définit sur zurelay-auto à chaque réponse.Une question ou un élément manquant ? Contactez notre équipe d’assistance et nous vous répondrons par e-mail, généralement en moins d’une minute.