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
- 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.
- Solo cuando el modelo en sí no puede responder (fallaron todas las rutas o no hay ninguna disponible) interviene el enrutamiento inteligente.
- Prueba las alternativas en orden, cada una con la misma autorrecuperación, hasta que una responde.
- La respuesta te indica qué modelo respondió (
modelen el cuerpo, cabecerasx-zurelay-modelyx-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
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 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)La cabecera
x-zurelay-fallback: off # never reroute this requestx-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
sizeyaspect_ratioigual. 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
backgroundtransparente solo va a modelos GPT Image. - Un modelo por respuesta. Con
nmayor 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.
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-modelyx-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).
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.