Llevaba tiempo queriendo tener un punto único desde el que hablar con varios modelos de IA sin pagar ninguna API de pago —ni la de Claude ni la de ChatGPT, esas las reservo para mi propio uso de Claude Code, no para meterlas en un gateway compartido—. OmniRoute apareció como la pieza que resuelve exactamente esto: un endpoint único, compatible con el formato de OpenAI, que reparte las peticiones entre decenas de proveedores con capa gratuita, con fallback automático cuando uno se queda sin cuota.
Por qué un gateway y no conectar cada proveedor por separado
La alternativa obvia sería apuntar cada herramienta directamente a la API de cada proveedor —Gemini por un lado, Groq por otro—, pero eso significa reconfigurar cada cliente cada vez que uno se queda sin cuota gratuita, o cambiar de proveedor a mano en mitad de una sesión. OmniRoute centraliza todo eso: un único endpoint, y es el propio gateway el que decide a qué proveedor mandar cada petición según disponibilidad, sin que yo tenga que tocar nada en el cliente que lo está usando.
No se trata de tener más modelos disponibles — se trata de dejar de acordarte de cuál te has quedado sin cuota esta semana.
Cómo lo tengo montado
Corre como Podman Quadlet en el mismo VPS que el resto de servicios, con solo la ruta /v1/ publicada hacia fuera, protegida con API key obligatoria — el dashboard de administración, en cambio, no lo expongo en absoluto: solo es accesible por túnel SSH. Con un gateway que centraliza credenciales de varios proveedores, prefiero pecar de exceso de precaución antes que dejar el panel de control accesible desde cualquier sitio.
Los proveedores que tengo activos hoy son Gemini, Groq, Mistral, Ollama Cloud, Cloudflare Workers AI y Cohere — todos con capa gratuita real, sin meter ninguna clave de pago en la mezcla.
El detalle que nadie te cuenta hasta que te pasa
El plan gratuito de Mistral tiene una peculiaridad molesta: solo funciona con modelos versionados explícitamente, no con los alias -latest — si apuntas a un -latest, te devuelve un 429 (límite excedido) aunque tu cuota real esté intacta. Tardé un rato en darme cuenta de que no era un problema de cuota, sino de qué nombre de modelo exacto estaba pidiendo.
Encima de OmniRoute tengo desplegado Open WebUI como interfaz de chat, con registro cerrado — soy admin y doy de alta a mano las cuentas de quien quiera usarlo. Y para no perseguir manualmente qué modelos nuevos van apareciendo entre tantos proveedores, tengo un detector diario corriendo en el propio VPS que revisa altas de modelos nuevos cada día.
Dónde cojea
Con tantos proveedores distintos detrás de un único endpoint, la calidad y el comportamiento varían bastante según a cuál te toque — si necesitas consistencia estricta de un modelo concreto, un gateway con fallback automático no es lo que buscas. Y como con cualquier pieza que centraliza credenciales de varios servicios, si el propio gateway cae, se cae el acceso a todo lo que dependa de él de golpe.



