Guías principales
Guías de migración
Traslada tus cargas de trabajo de OpenAI, Anthropic, Gemini y multimedia a TokenLab con cambios mínimos y seguros para producción.
TokenLab es multiformato: puedes mantener clientes compatibles con OpenAI, llamadas a Messages nativas de Anthropic, llamadas REST nativas de Gemini y endpoints multimedia en sus formatos originales. La migración más segura no consiste en traducir cada carga de trabajo a un formato universal. Elige la ruta que posea el comportamiento que tu aplicación necesita.
Mapeo de rutas
| Carga de trabajo existente | URL base de TokenLab | Endpoint principal | Nota de migración |
|---|---|---|---|
| OpenAI Chat Completions | https://api.tokenlab.sh/v1 | /chat/completions | El cambio más pequeño para chat y llamadas a funciones compatibles con OpenAI |
| OpenAI Responses | https://api.tokenlab.sh/v1 | /responses | Úsalo cuando tu aplicación dependa de entradas, herramientas o manejo de salidas específicos de Responses |
| Anthropic SDK | https://api.tokenlab.sh | /v1/messages | No añadas /v1 a la URL base del SDK |
| Gemini REST | https://api.tokenlab.sh | /v1beta/models/:model:generateContent | Mantén los campos nativos de Gemini en la ruta de Gemini |
| Generación de medios | https://api.tokenlab.sh/v1 | /images, /videos, /music, /3d | Descubre modelos con recommended_for y espera sondeo asíncrono donde esté documentado |
| Gestión y facturación | https://api.tokenlab.sh/v1 | /management/... | Usa tokens de gestión para uso en el lado del servidor y conciliación de facturación |
Recetas de migración rápida
De OpenAI a TokenLab
Cambia solo la base_url / baseURL del SDK a https://api.tokenlab.sh/v1, mantén el nombre de tu variable de entorno de clave API de OpenAI existente si eso facilita el despliegue, y reemplaza los IDs de modelo después de verificar GET /v1/models.
De OpenRouter a TokenLab
Usa https://api.tokenlab.sh/v1 donde tu aplicación utilizaba anteriormente la URL base compatible con OpenAI de OpenRouter. Elimina los IDs de modelo con prefijo de proveedor y utiliza los IDs de modelo públicos de TokenLab desde /v1/models; cuando una carga de trabajo necesite Claude Messages o generateContent de Gemini, muévela al endpoint nativo de TokenLab en lugar de forzarla a través del chat compatible con OpenAI.
De LiteLLM a TokenLab
Usa la ruta custom_openai/<model> de LiteLLM con api_base: https://api.tokenlab.sh/v1. Mantén los alias de LiteLLM separados de los IDs de modelo reales de TokenLab para que puedas cambiar la política de enrutamiento sin modificar los prompts de la aplicación.
Claude Messages vía TokenLab
Apunta los clientes del SDK de Anthropic a https://api.tokenlab.sh y llama a messages.create. No añadas /v1 a la URL base del SDK; el SDK posee la ruta /v1/messages.
Gemini Native vía TokenLab
Mantén los payloads de Gemini en https://api.tokenlab.sh/v1beta/models/{model}:generateContent. Los campos contents, parts, archivos, contenidos cacheados, declaraciones de funciones y herramientas integradas nativos de Gemini deben permanecer en esta ruta cuando tu aplicación dependa del comportamiento de Gemini.
Migración compatible con OpenAI
from openai import OpenAI
client = OpenAI(
api_key="sk-your-tokenlab-key",
base_url="https://api.tokenlab.sh/v1",
)
response = client.chat.completions.create(
model="gpt-5.6-terra",
messages=[{"role": "user", "content": "Hello from TokenLab"}],
)Mantén tu código existente de reintentos, tiempos de espera y streaming, pero valida los IDs de modelo con GET /v1/models antes del tráfico de producción. Para la generación de imágenes, envía el model explícitamente y lee la guía de imágenes, ya que los modelos de imagen difieren más que los modelos de chat.
Migración de Anthropic
from anthropic import Anthropic
client = Anthropic(
api_key="sk-your-tokenlab-key",
base_url="https://api.tokenlab.sh",
)
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Reply with: Connected to TokenLab."}],
)Usa /v1/messages para el uso de herramientas nativas de Claude, flujos de pensamiento y semántica de mensajes de Anthropic. No traduzcas campos exclusivos de Anthropic a través de Chat Completions a menos que intencionalmente desees un cambio de comportamiento compatible con OpenAI.
Migración de Gemini
curl "https://api.tokenlab.sh/v1beta/models/gemini-3.5-flash:generateContent" \
-H "Authorization: Bearer sk-your-tokenlab-key" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"Hello"}]}]}'Mantén las herramientas integradas de Gemini, referencias de File API, contenidos cacheados, declaraciones de funciones y partes de contenido nativas en /v1beta cuando tu aplicación dependa del comportamiento nativo de Gemini.
Migración de medios
- Consulta
GET /v1/models?recommended_for=image|video|music|3d. - Lee
GET /v1/modelsen las respuestas de lista y elGET /v1/models/{model}completo donde esté disponible. - Envía un
modelexplícito, especialmente para endpoints de imágenes. - Almacena
task_id,poll_url, endpoint, modelo y tu propio ID de trabajo para tareas asíncronas. - Concilia los costos a través de registros de uso y
billing_transaction_id, no mediante IDs de tarea del proveedor.
Las cargas de trabajo multimedia necesitan su propio plan de despliegue porque la latencia, los reintentos y los activos finales se comportan de manera diferente a las completaciones de chat.
Plan de despliegue en producción
| Fase | Objetivo | Verificaciones |
|---|---|---|
| 1. Inventario | Listar endpoints, modelos, campos de solicitud, comportamiento de streaming/asíncrono y propietario de facturación | No se asume que los campos ocultos exclusivos del proveedor sean públicos |
| 2. Piloto de ruta única | Mover un endpoint y una familia de modelos | La forma de respuesta, el costo y los registros coinciden con las expectativas |
| 3. Sombra o muestra | Comparar salidas seleccionadas con el proveedor anterior | La calidad y latencia visibles para el usuario son aceptables |
| 4. Despliegue gradual | Aumentar el tráfico por clave, organización o feature flag | Observar 4xx, 5xx, latencia, balance y trabajos asíncronos duplicados |
| 5. Limpieza | Eliminar la ruta del proveedor antiguo solo después de un uso estable | La ruta de reversión y el manual de soporte están documentados |
Errores comunes de migración
- No pongas todos los modelos detrás de una ruta de OpenAI Chat Completions si tu aplicación necesita el comportamiento nativo de Anthropic, Gemini o Responses.
- No asumas los valores predeterminados de imágenes antiguos. Envía el
modelexplícitamente. - No reintentes solicitudes de creación asíncronas sin verificar si ya se creó una tarea.
- No expongas identificadores específicos del proveedor en tus registros o interfaz de usuario.
- No compares la facturación con los IDs de tarea del proveedor. Usa los registros de uso de TokenLab.
Referencia de API
| Tema | Referencia |
|---|---|
| API multiformato | Multi-Format API |
| SDK de OpenAI | SDK de OpenAI |
| SDK de Anthropic | SDK de Anthropic |
| Gemini nativo | Gemini Native API |
| Generación de imágenes | Generación de Imágenes |
| Trabajos asíncronos y sondeo | Trabajos Asíncronos y Polling |