Saltar al contenido

Guías de migraciónDesde OpenRouter

Desde OpenRouter, con OpenRouter todavía en el panorama si lo quieres

OpenRouter da una cuenta y una clave para modelos de muchos fabricantes, pagados con sus créditos, con tus propias claves de proveedor como opción. INFRO es al revés: cada solicitud corre en una cuenta de proveedor que tienes. Ambos no se excluyen, porque OpenRouter es uno de los proveedores a los que se conecta INFRO. Esta página muestra los dos caminos: OpenRouter como un upstream entre tus cuentas directas, o solo cuentas directas.

Stripe acordó adquirirlo (anunciado el 2026-08-19); sin aviso de cierre de la operación al 2026-10-19

Las cuentas de INFRO son de autoservicio. El catálogo, la documentación y el contrato de la API son públicos, el gateway está desplegado, y todo lo que va más allá de v1 está marcado como Más adelante. Planes y prueba

Dónde están las cosas

Titularidad

Stripe anunció el 2026-08-19 que acordó adquirir OpenRouter. La publicación de OpenRouter dice que el nombre, el producto y la hoja de ruta se mantienen y que las integraciones no cambian. Ninguna de las dos empresas había publicado un aviso de cierre de la operación cuando leímos sus páginas el 2026-10-19.

En qué cuenta se sirve la solicitud

Por defecto, las propias cuentas de proveedor de OpenRouter, pagadas con créditos prepagados. Con BYOK, se prueba primero tu clave de proveedor; la documentación de OpenRouter dice que ante un fallo puede recurrir a su capacidad compartida salvo que se desactive por clave.

Lo que se mueve

URL base y clave; models a fallbacks; el enrutamiento provider a rutas o a routing.providers; user, session_id y trace a metadata o a encabezados de INFRO. HTTP-Referer y X-OpenRouter-Title se eliminan.

OpenRouter resuelve el acceso: una cuenta, muchos fabricantes. Si ese es el problema que tienes, es el producto correcto, y aun así puedes poner INFRO delante.

  • No quieres tener una cuenta con cada fabricante. INFRO solo funciona con cuentas que tienes, así que cada modelo que llames necesita una cuenta de proveedor detrás (la de OpenRouter puede ser una de ellas).
  • Eliges entre muchos hosts de modelos open-weight según precio, rendimiento o latencia por solicitud (provider.sort, max_price). INFRO no ordena por precio ni latencia por solicitud; una ruta define el orden.
  • Dependes de openrouter/auto o de presets que llevan un prompt de sistema y parámetros. Lo más parecido en INFRO es una ruta con un clasificador de prompts, que elige destinos, no prompts.
  • Necesitas hoy enrutamiento dentro de la UE. La residencia de INFRO está en la hoja de ruta, no disponible.

Los cambios, uno por fila. Todo lo que no aparece aquí queda como está.

 OpenRouterINFRO
URL basehttps://openrouter.ai/api/v1https://api.infro.io/v1
ClaveUna clave de OpenRouter; tus claves de proveedor se agregan opcionalmente como BYOK.Una clave del gateway de INFRO. Tus cuentas de proveedor (y tu clave de OpenRouter, si la conservas) son conexiones en la consola.
Id del modelovendor/model, ~vendor/...-latest, openrouter/auto, @preset/name.vendor/model del catálogo de INFRO, o el nombre de una ruta. GET /v1/models lista lo que sirven tus conexiones. Algunos prefijos de fabricante difieren de los de OpenRouter (xai/ en INFRO, x-ai/ en OpenRouter).
Campos del cuerpomodels, provider { order, only, ignore, sort, max_price }, user, session_id, trace.fallbacks (hasta 5), routing.providers { allow, deny }, metadata { user_id, session_id, tags }; X-INFRO-Trace-Id para un id de traza.

Antes · OpenRouter

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://openrouter.ai/api/v1",
  apiKey: process.env.OPENROUTER_API_KEY,
  defaultHeaders: { "X-OpenRouter-Title": "Example App" },
});

await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5.5",
  messages: [{ role: "user", content: "Hello" }],
  user: "user_123",
  // @ts-expect-error OpenRouter extensions
  models: ["anthropic/claude-sonnet-5.5", "openai/gpt-5.6-terra"],
  provider: { order: ["anthropic", "google-vertex"] },
});

Después · INFRO

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.infro.io/v1",
  apiKey: process.env.INFRO_API_KEY,
});

await client.chat.completions.create({
  model: "anthropic/claude-sonnet-5.5",
  messages: [{ role: "user", content: "Hello" }],
  // @ts-expect-error INFRO extensions
  fallbacks: ["openai/gpt-5.6-terra"],
  routing: { providers: { allow: ["anthropic", "google-vertex"] } },
  metadata: { user_id: "user_123" },
});

El orden vive en una ruta

routing.providers acota cuáles de tus proveedores pueden servir una solicitud; no define el orden. Para un orden fijo, crea una ruta (por ejemplo chat-default) con tus destinos en secuencia y envíala como model.

Mantener OpenRouter detrás de INFRO

Conecta tu clave de OpenRouter como proveedor en la consola. Así las solicitudes pueden hacer failover de tus cuentas directas a OpenRouter, y routing.providers con openrouter en allow o deny lo incluye o excluye por solicitud.

Disparadores de respaldo

Los fallbacks se prueban después de que haya fallado cada conexión para model. Un error del proveedor después de que la respuesta empezó a transmitirse se devuelve, no se vuelve a enrutar.

Los objetos de OpenRouter frente a los de INFRO, según la documentación pública de OpenRouter leída el 19 de octubre de 2026 y comprobados contra lo que implementa el gateway. Dos filas dicen que INFRO no tiene nada.

OpenRouterQué hace allíEn INFRO
Clave y créditos de OpenRouterdistintoUna clave para todos los modelos, pagada con créditos prepagados.Una clave del gateway sobre las cuentas de proveedor que conectas; cada proveedor te factura directamente. INFRO cobra una suscripción y agrega 0% al gasto en modelos.
BYOKdistintoTus claves de proveedor, probadas primero; respaldo en capacidad compartida salvo que se desactive por clave.El único modo. Sin capacidad compartida detrás del gateway: si fallan todas las conexiones, la solicitud falla.
Respaldos con `models`misma formaUna lista de modelos por prioridad que se prueban ante un error.fallbacks, hasta 5 ids de modelo que se prueban después de que haya fallado cada conexión para model.
`provider` order, only, ignoredistintoElegir, ordenar y excluir proveedores upstream por solicitud.routing.providers allow o deny por solicitud; el orden se define en una ruta, con reglas de fallo por tipo (429, 5xx, timeout).
`provider.sort`, `max_price`, preferencias de rendimiento y latencianadaElegir un host por solicitud según precio, rendimiento o latencia.Nada. INFRO no elige entre hosts por precio ni latencia; deciden el orden o los pesos de una ruta.
Auto routerdistintoopenrouter/auto elige un modelo por prompt.Una ruta puede clasificar cada prompt con un modelo de decisión en tu propia conexión y enviar cada clase a sus propios destinos.
PresetsdistintoConfiguración con nombre del lado del servidor: modelo, enrutamiento, prompt de sistema, parámetros.Las rutas llevan el modelo y los destinos. Los prompts de sistema y los parámetros se quedan en tu código.
Caché de respuestasmisma formaCaché por coincidencia exacta por clave mediante los encabezados X-OpenRouter-Cache.Una caché opcional por coincidencia exacta para chat completions, con un namespace y un TTL.
Guardrails (presupuestos, listas de permitidos)misma formaTopes de gasto y listas de modelos o proveedores permitidos por espacio de trabajo, miembro o clave.Presupuestos de organización, proyecto, miembro, clave y cliente final que rechazan con 402 antes de la llamada; listas de permitidos y bloqueados por organización, proyecto y clave.
BroadcastdistintoTrazas exportadas a Langfuse, Datadog, un colector de OTel, S3 o un webhook.Spans hacia tu colector de OpenTelemetry, exportaciones de solicitudes y el registro de solicitudes. Sin destinos integrados para fabricantes concretos.
Costo por solicituddistintoCosto por generación al precio que publica OpenRouter.Una estimación de la factura de tu proveedor en cada respuesta (usage.cost, usage.price_source): tu tarifa negociada donde ingresaste una, la tarifa de lista del fabricante en caso contrario, y unpriced en lugar de cero cuando no se conoce ninguna.
Enrutamiento dentro de la UE, endpoints ZDRnadaUna URL base en la UE y un filtro para endpoints sin retención de datos.No disponible. La fijación de región está en la hoja de ruta; la retención en el proveedor se rige por tu propio contrato con él.

Nuestra lectura de la documentación publicada de OpenRouter, no una prueba ni un benchmark. Si leímos algo mal, dínoslo y corregiremos la fila.

Lo que INFRO no hace

  • Darte acceso a un fabricante con el que no tienes cuenta, salvo mediante una conexión a una cuenta de agregador que tengas (incluida la de OpenRouter).
  • Elegir un host por solicitud según precio, rendimiento o latencia.
  • Guardar prompts de sistema y parámetros del lado del servidor (presets).
  • Fijar el tráfico a la UE; la residencia está en la hoja de ruta.
  • Servir embeddings en proveedores distintos de OpenAI, Azure OpenAI, Mistral o un endpoint compatible con OpenAI.

Lo que no se traslada

  • Tu historial de actividad y tus registros de generación en OpenRouter. No hay importador.
  • Créditos. Se quedan en tu cuenta de OpenRouter y solo se gastan si conservas OpenRouter como conexión.
  • Presets, espacios de trabajo y guardrails. Recréalos como rutas, proyectos, presupuestos y listas de permitidos.

Preguntas

¿Puedo conservar OpenRouter y agregar INFRO?
Sí. OpenRouter es un tipo de proveedor en INFRO: conecta tu clave de OpenRouter y sirve solicitudes junto a tus cuentas directas, con failover entre ellas.
¿INFRO vende créditos o revende acceso a modelos?
No. INFRO ejecuta cada solicitud en una cuenta de proveedor que tienes, tus proveedores te facturan directamente, e INFRO cobra una suscripción con 0% de margen sobre el gasto en modelos.
¿Qué reemplaza los campos `models` y `provider`?
fallbacks reemplaza a models; allow y deny de routing.providers reemplazan a provider.only y provider.ignore; una ruta con nombre define el orden. El orden por precio y latencia no tiene equivalente.

Migra con nosotros o por tu cuenta

El programa de migración traslada en una llamada tu configuración de OpenRouter a conexiones, rutas y presupuestos de INFRO, y migra contigo el primer servicio. Tus proveedores te siguen facturando directamente; INFRO es una suscripción y agrega 0% al gasto en modelos.

Fuentes

Cada afirmación de esta página sobre OpenRouter proviene de una de estas fuentes, leídas el 19 de octubre de 2026. Nada se deduce de una prueba, un benchmark o una conversación.