

Apps de IA multimodelo: enrutamiento y fallbacks
Tutorial práctico de IA multimodelo: cliente compatible con OpenAI, enrutamiento OpenRouter, fallbacks automáticos, topes de precio y control de costes.
Una app de IA en producción debería sobrevivir a la caída de un modelo sin despertar a nadie. El patrón que te lleva hasta ahí es aburrido y fiable: un cliente compatible con OpenAI, una lista priorizada de modelos, reglas de enrutamiento que prefieren proveedores baratos pero sanos, y topes de precio estrictos.
Lo que construirás en este tutorial:
-
Un único cliente capaz de llamar a GPT, Claude, Gemini, DeepSeek y otros cambiando un solo string
-
Fallbacks automáticos — si el modelo principal falla o agota el tiempo de espera, la petición se reintenta con el siguiente modelo de tu lista
-
Control de costes — enrutamiento cheapest-first y topes
max_pricepara que un pico de tráfico no pueda quemar tu presupuesto -
Visibilidad del gasto — contabilidad de coste por petición que puedes registrar y usar para alertas
Todo lo que sigue usa OpenRouter como capa de enrutamiento; la misma arquitectura funciona con cualquier gateway compatible con OpenAI, incluido APIMart cuando necesitas modelos de imagen, vídeo o audio en la misma app.

Por qué multimodelo gana a un solo modelo
Las caídas son cuestión de cuándo, no de si
Todos los grandes proveedores tienen incidentes visibles. Si tu app hardcodea un único proveedor, cada uno de esos incidentes es tu incidente. Una cadena de fallbacks convierte "proveedor caído" en un breve pico de latencia.
Cada modelo tiene su punto fuerte
Los modelos baratos y rápidos se encargan de la clasificación y la extracción; los modelos frontier se encargan de la generación con mucho razonamiento. Mezclar niveles según la tarea suele reducir la factura de inferencia a la mitad o más.
Los precios cambian cada mes
Los precios de los modelos bajan constantemente. Si cambiar de modelo es un cambio de una línea, puedes perseguir la mejor relación precio-rendimiento cada trimestre sin un proyecto de migración.
Paso 1: un cliente, muchos modelos
Apunta el SDK oficial de OpenAI al gateway — sin código HTTP a medida:
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-..."
)
resp = client.chat.completions.create(
model="anthropic/claude-sonnet-4.5",
messages=[{"role": "user", "content": "Summarize this contract clause..."}],
)
print(resp.choices[0].message.content)
Cambiar a deepseek/deepseek-chat o google/gemini-2.5-pro es solo un string model distinto. Mantén los nombres de modelo en configuración, no en código.
Versión TypeScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://openrouter.ai/api/v1",
apiKey: process.env.OPENROUTER_API_KEY,
});
const resp = await client.chat.completions.create({
model: "deepseek/deepseek-chat",
messages: [{ role: "user", content: "Classify this ticket: ..." }],
});
Un registro de modelos, no strings dispersos
Centraliza el mapeo de tarea → nivel de modelo una sola vez:
{
"extract": "deepseek/deepseek-chat",
"chat": "anthropic/claude-sonnet-4.5",
"reason": "openai/gpt-5.2"
}
Paso 2: fallbacks que se disparan solos
El array models
OpenRouter reintenta la petición en el servidor recorriendo una lista priorizada cuando el modelo principal falla, está limitado por rate limit o agota el tiempo de espera [1]:
{
"model": "openai/gpt-5.2",
"models": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat"],
"messages": [{ "role": "user", "content": "..." }]
}
La respuesta te dice qué modelo sirvió realmente la petición — regístralo.
Failover a nivel de proveedor
Por debajo de los fallbacks de modelo, cada modelo puede ser servido por varios proveedores. Las preferencias de enrutamiento fijan o excluyen upstreams concretos [2]:
{
"model": "meta-llama/llama-3.3-70b-instruct",
"provider": {
"order": ["deepinfra", "together"],
"allow_fallbacks": true
}
}
Último recurso en el cliente
Envuelve la llamada en un único reintento contra otro gateway (o una respuesta cacheada) para el raro caso en que el propio router no responda. Limítalo a un reintento — las tormentas de reintentos son caídas autoinfligidas.
Paso 3: control de costes que no se puede saltar
Enrutamiento cheapest-first
Ordena los proveedores por precio cuando la latencia sea secundaria — bien por petición ("provider": {"sort": "price"}), bien usando el sufijo de modelo :floor para trabajos batch.
Topes de precio estrictos
max_price rechaza a cualquier proveedor que cotice por encima de tu techo (dólares por 1M de tokens):
{
"model": "openai/gpt-5.2",
"max_price": { "prompt": 1.5, "completion": 10 },
"messages": [{ "role": "user", "content": "..." }]
}
Es una garantía, no una preferencia — las peticiones que no pueden servirse bajo el tope fallan rápido en lugar de costar más en silencio.
Mide el coste por petición
Las respuestas incluyen usage; multiplícalo por las tarifas del modelo que sirvió la petición y emítelo como métrica. Alerta sobre la deriva del coste por tarea, no solo sobre el gasto total — la deriva es la forma en que se manifiesta un fallback silencioso hacia un modelo más caro.
Más allá del texto: el mismo patrón para imagen, vídeo y audio
Los routers de LLM se quedan en los modelos de lenguaje. Los productos reales también generan imágenes, vídeo y voz — y hacer malabares con cinco SDKs más de proveedores reintroduce justo el problema que acabas de resolver.
Un gateway para todas las modalidades
APIMart expone 500+ modelos — chat más GPT-Image-2, Sora 2, Kling, Veo, Suno — tras una única API compatible con OpenAI y un único saldo.
Integración familiar, tarifas con descuento
La configuración del cliente es idéntica a la del Paso 1 con otra base URL, y los precios por modelo se sitúan en torno a un 20% por debajo de la lista oficial — consulta la página de precios para ver las tarifas exactas por modelo.
Mezclar routers no es ningún problema
Un diseño de producción habitual: OpenRouter o APIs directas para texto, APIMart para generación de medios — ambos tras la misma abstracción en tu código, ambos reemplazables por configuración.
Añade modelos de imagen, vídeo y audio a tu app
Conserva la arquitectura multimodelo que acabas de construir y extiéndela más allá del texto — 500+ modelos, una API compatible con OpenAI, pago por uso ~20% por debajo de la lista.
Consigue una API KeyChecklist de producción
Lanza con las cinco piezas: registro de modelos guiado por configuración, cadena de fallbacks en el servidor, enrutamiento cheapest-first donde la latencia lo permita, topes max_price en cada llamada y métricas de coste por petición con alertas de deriva. Esa combinación es lo que permite a un equipo de dos personas operar una app multimodelo sin una rotación de ops dedicada.
Elige el modelo que quieres en el marketplace
Prueba modelos de chat, imagen y video en el marketplace de APIMart y experimenta rápidamente sus capacidades con una API unificada.
