APIMart
APIMart

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.

Tutorial

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_price para 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.

APIMart
La ruta de la petición: primero el router, después la cadena de fallbacks, con topes de precio siempre activos

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 Key

Checklist 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.

¿Listo para probar?

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.

Modelos de chatModelos de imagenModelos de video
Explorar marketplace