Skip to main content
Phaseo es una alternativa compatible con OpenAI a OpenRouter. Si tu aplicación ya usa OpenRouter mediante OpenAI SDK o llamadas HTTP directas, normalmente puedes migrar en el límite del cliente sin reescribir prompts ni lógica.

Qué cambia

La migración tiene cuatro partes:
  1. Conserva la forma de la carga.
  2. Cambia la URL base y el origen de la clave API.
  3. Verifica los IDs de modelo y las cabeceras exclusivas de OpenRouter.
  4. Aumenta el tráfico gradualmente y compara latencia, resultados y costes.

Antes de empezar

  • Acceso al código de integración actual de OpenRouter y a la configuración de despliegue.
  • PHASEO_API_KEY disponible en desarrollo, pruebas y producción.
  • Una lista breve de los IDs de modelo en producción y prompts representativos.

1) Haz inventario del uso actual de OpenRouter

Busca todas las referencias a OpenRouter: URL, claves, IDs de modelo y cabeceras específicas del proveedor.
  • Busca endpoints openrouter.ai.
  • Busca OPENROUTER_API_KEY en el código, CI y variables de entorno del hosting.
  • Busca cabeceras exclusivas como HTTP-Referer y X-Title.
  • Documenta los IDs de modelo activos y la lógica de alternativas.
  • Identifica prompts, proveedores o parámetros reutilizables que deberían pasar a presets de Gateway, en vez de duplicarse en el código de la aplicación.

2) Cambia la URL base y las credenciales

Mantén primero la forma de la carga sin cambios y comprueba la paridad antes de optimizar.

3) Valida los IDs de modelo y adapta el comportamiento exclusivo de OpenRouter

No des por hecho que todos los alias anteriores son válidos. Consulta /v1/models y verifica cada modelo de producción. La respuesta predeterminada solo incluye modelos disponibles para enrutamiento público; usa availability=all únicamente para revisar modelos inactivos o próximos.
  • Mantén el formato Authorization: Bearer.
  • Conserva HTTP-Referer y X-Title si identifican la aplicación que realiza la llamada. Phaseo también acepta las variantes en minúsculas http-referer y x-title.
  • Si el código depende de campos de respuesta exclusivos de OpenRouter, adáptalos en una sola capa de compatibilidad.
  • Si usas listas de proveedores permitidos o bloqueados y valores predeterminados de enrutamiento, trasládalos a Presets y Enrutamiento y alternativas.
No copies las preferencias de proveedores ni campos exclusivos de respuesta de OpenRouter en cada llamada. Centraliza estas diferencias en un adaptador para que la reversión solo requiera cambiar la URL y las credenciales.

Mapea los controles de proveedores

Phaseo también admite provider.required_execution_region y provider.required_data_region para cargas de trabajo con requisitos regionales. Consulta Fijar o excluir proveedores y Enrutar solo a proveedores de la UE o con ZDR para ver solicitudes completas.

4) Lista de comprobación de paridad con OpenRouter

Antes de desviar una parte relevante del tráfico, confirma que:
  • La URL base es https://api.phaseo.app/v1.
  • OPENROUTER_API_KEY se sustituyó por PHASEO_API_KEY en todos los entornos.
  • Todos los IDs de modelo de producción se verificaron con /v1/models.
  • Una solicitud sin streaming funciona mediante /v1/chat/completions o /v1/responses.
  • Una solicitud con streaming funciona por la misma integración de la aplicación que se usa en producción.
  • Se volvieron a comprobar las consultas GET /v1/generations?id=<request_id> para reproducir errores desde replay_request cuando replay_supported=true.
  • Se volvieron a comprobar las llamadas a herramientas y las salidas estructuradas con prompts reales.
  • Se verificaron en pruebas los errores por clave o modelo no válidos.
  • Las cabeceras y los campos de respuesta exclusivos de OpenRouter se eliminaron o normalizaron explícitamente.
  • Los valores predeterminados compartidos de prompts y enrutamiento se trasladaron a presets cuando corresponde.

Lista para migrar con un agente

Asigna al agente esta secuencia acotada:
  1. Busca openrouter.ai, OPENROUTER_API_KEY, sk-or-v1, HTTP-Referer y X-Title en el código y la configuración de despliegue.
  2. Cambia el cliente a https://api.phaseo.app/v1 y PHASEO_API_KEY sin guardar secretos en el repositorio.
  3. Consulta GET /v1/models y registra cada equivalencia entre modelos.
  4. Adapta las opciones de enrutamiento o los campos de respuesta exclusivos de OpenRouter en un único módulo.
  5. Ejecuta las comprobaciones de salud, modelos, solicitudes normales, streaming y errores descritas abajo.
  6. Informa los archivos modificados, cambios de nombres de secretos, equivalencias de modelos, pruebas, diferencias de paridad y método de reversión.
Para un flujo reutilizable, consulta la guía de migración de OpenRouter a Phaseo, que reúne el inventario, las equivalencias, la validación, los informes y la reversión.

5) Despliega de forma segura

Despliega por etapas: primero desarrollo, luego una fracción pequeña de producción y, cuando las métricas sean estables, todo el tráfico.
  1. Empieza solo con tráfico interno.
  2. Pasa al 5-10 % del tráfico de producción y compara calidad, latencia y costes.
  3. Sube al 100 % cuando confirmes la paridad.
  4. Conserva la reversión como un simple cambio de URL y clave hasta que el cambio esté estable.

Comandos de validación

Prueba el streaming por separado con el mismo endpoint:
Confirma que la aplicación también gestiona un modelo no válido sin revelar credenciales:
Después:
  • Ejecuta una solicitud con streaming mediante la prueba de integración de la aplicación.
  • Ejecuta una prueba negativa para una clave o un modelo no válidos.
  • Reproduce un conjunto pequeño de prompts de referencia y compara los resultados.

Próximos pasos

Última modificación el 2 de octubre de 2026