Plataforma

Enrutamiento inteligente

Cuando el modelo que indica una solicitud no está disponible, el enrutamiento inteligente responde con una alternativa cercana en lugar de un error. Tu app sigue funcionando durante una caída sin una sola línea de código de reintento. El modo automático cubre modelos de chat e imagenn. En voz, solo se cambia de modelo si eliges tú las alternativas, y en vídeo nunca se cambia.

Cómo funciona

  1. Cada solicitud va primero al modelo que pediste. La mayoría de los problemas se resuelven aquí: si una ruta al modelo se atasca o da error, la solicitud se reintenta en otra antes de que veas nada.
  2. Solo cuando el modelo en sí no puede responder (fallaron todas las rutas o no hay ninguna disponible) interviene el enrutamiento inteligente.
  3. Prueba las alternativas en orden, cada una con la misma autorrecuperación, hasta que una responde.
  4. La respuesta te indica qué modelo respondió (model en el cuerpo, cabeceras x-zurelay-model y x-zurelay-routed-from), y se factura al precio de ese modelo.

Todas las rutas al modelo que pediste tienen su turno antes de probar una alternativa, así que solo recibes otro modelo cuando el tuyo realmente no puede responder. Si todo falló rápido, el modelo y sus alternativas tienen cada uno un intento más antes de que veas un error. Un modelo que se sabe caído se omite de inmediato.

Cómo activarlo

DóndeCómoSe aplica a
Valor predeterminado del espacio de trabajoAjustes → Enrutamiento inteligenteTodas las claves que no fijan el suyo propio, y el Playground
Por claveClaves de API → Editar → Enrutamiento inteligenteSolicitudes con esa clave
Por solicituduna lista models, o la cabecera x-zurelay-fallbackEsa solicitud

El ajuste de una clave es uno de estos:

Workspacedefault
Seguir el ajuste del espacio de trabajo (desactivado salvo que lo hayas activado).
Offmode
Si el modelo está caído, la solicitud falla con model_unavailable, y puedes reintentarla.
Automaticmode
Usar nuestra lista de alternativas cercanas para cada modelo de chat e imagen (abajo): primero la misma familia y un precio similar. Las solicitudes de voz se quedan en el modelo que pediste.
Custommode
Tus propias reglas: para cada modelo, hasta tres alternativas en orden. Una regla para «cualquier otro modelo» (*) cubre el resto.

Por solicitud

Una lista de alternativas

Pasa models junto a model: hasta tres alternativas, que se prueban en orden si model está caído, sea cual sea el ajuste de la clave o la cabecera. Nunca se envía al modelo. El SDK de Python de OpenAI lo envía mediante extra_body. Las solicitudes de imagen y voz también lo aceptan, y una edición de imagen enviada como formulario lo acepta como campo models (repetido, o una sola lista separada por comas).

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)

La cabecera

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

Qué se aplica, de primera a última prioridad: el models de la solicitud, luego la cabecera, luego el ajuste de la clave, luego el valor predeterminado del espacio de trabajo.

Qué pueden responder las alternativas

  • Son el mismo tipo de modelo. Las alternativas de un modelo de chat son modelos de chat, las de un modelo de imagen son modelos de imagen, las de un modelo de voz son modelos de voz. Una regla para cualquier otro modelo (*) puede incluir varios tipos; cada solicitud usa las de su propio tipo.
  • Leen lo que enviaste. Una solicitud con un PDF o un vídeo solo va a alternativas que lo lean. Si ninguna lo hace, recibes el error en lugar de una respuesta que ignore tu archivo.
  • La clave puede usarlas. Las alternativas fuera de los modelos permitidos de una clave se omiten.
  • Hablan el endpoint. En /v1/messages, las alternativas son modelos de Claude.
  • La solicitud en sí está bien. Si el modelo rechazó la solicitud (un parámetro incorrecto, un prompt demasiado largo, un prompt que no dibujará o un texto que no pronunciará), no se redirige: las alternativas también la rechazarían.

Imágenes

En modo automático, una imagen va primero a la misma familia (GPT Image 2.5 Sunburst a Flare, Nano Banana Pro a Nano Banana 2.1), y solo a modelos que dibujan más o menos igual de bien. Una alternativa automática nunca cuesta más de 1,5 veces el modelo que pediste en el tamaño que pediste. Tus propias reglas y la lista models de una solicitud no tienen ese límite. En cualquier caso:

  • El mismo tamaño y forma. Los modelos Nano Banana interpretan size y aspect_ratio igual. GPT Image sustituye un tamaño de Nano Banana solo donde ambos producen la misma imagen: cuadrado 1K (1024x1024), 1K 3:2 o 2:3, cuadrado 2K, 4K 16:9 o 9:16. Nano Banana sustituye un tamaño en píxeles de GPT Image solo cuando produce exactamente esos píxeles (1024x1024, 2048x2048), o cuando no pediste un tamaño.
  • Tus imágenes de referencia. Una alternativa debe aceptar tantas como enviaste (Nano Banana 14, GPT Image 16).
  • Tus opciones. Un background transparente solo va a modelos GPT Image.
  • Un modelo por respuesta. Con n mayor que 1, todas las imágenes provienen del mismo modelo.

Voz

La voz solo cambia de modelo con tus propias reglas o con la lista models de una solicitud, nunca en modo automático. Todos los modelos de voz hablan con las mismas voces, así que una alternativa lee tu texto con la voice que pediste y tu instructions. Las cabeceras de tokens de entrada y salida son las del modelo que responde.

Alternativas automáticas

En vivo desde el catálogo: las alternativas a las que recurre cada modelo de chat e imagenn en modo automático.

Si este modelo está caídoEl enrutamiento inteligente automático prueba, en orden
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
Paso 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

Cosas que conviene saber

  • Una alternativa puede costar más o menos que el modelo que pediste. Tu registro de solicitudes muestra qué modelo respondió y su costo.
  • El streaming funciona igual: no se envía nada hasta que un modelo está respondiendo, y los fragmentos indican ese modelo.
  • Las respuestas de imagen y voz llevan las mismas cabeceras x-zurelay-model y x-zurelay-routed-from, y las imágenes de tu biblioteca se etiquetan con el modelo que las creó.
  • Los videos no se redirigen: un trabajo de video se queda con el modelo que pediste y se reenvía hasta que se produce o falla (gratis).
Revisa x-zurelay-routed-from en tus registros o en el monitoreo: solo se establece cuando respondió una alternativa, así ves con qué frecuencia un modelo del que dependes estuvo caído. La única excepción es Zurelay Auto, que lo establece en zurelay-auto en cada respuesta.

¿Tienes dudas o falta algo? Escribe a nuestro equipo de soporte y te responderemos por email, normalmente en menos de un minuto.