Cambiar a HopBase
Migre de OpenAI, OpenRouter o la API de Anthropic a HopBase cambiando tres valores.
La migración solo cambia tres valores: la Base URL, la clave y, si hace falta, el ID de modelo. Los cuerpos de las solicitudes, el código de streaming y el manejo de errores no cambian.
Qué cambia
| OpenAI | OpenRouter | Anthropic | HopBase | |
|---|---|---|---|---|
| Base URL | https://api.openai.com/v1 | https://openrouter.ai/api/v1 | https://api.anthropic.com | Protocolo OpenAI: https://api.hop-base.com/v1Protocolo Anthropic: https://api.hop-base.com (sin /v1) |
| Clave | Clave de OpenAI | Una clave de OpenRouter para todos los modelos | Clave de Anthropic | sk-… creada en Claves API, que incluye de 1 a 10 grupos |
| ID de modelo | gpt-5.5 | openai/gpt-5.5, anthropic/claude-sonnet-5 | claude-sonnet-5 | ID sin prefijo de proveedor, tal como lo devuelve GET /v1/models: gpt-5.5, claude-sonnet-5 |
El protocolo de cada familia de modelos está en Base URL y protocolos.
Añada a la clave los grupos que necesite. Una clave de OpenRouter llama a todos los modelos; una clave de HopBase llama a los modelos de los grupos que incluye: de 1 a 10, incluso de plataformas distintas. GET /v1/models devuelve la unión de los modelos de esos grupos, y llamar a un modelo que no está en ninguno devuelve 404 model_not_found. Una aplicación que usa Claude y GPT puede usar una sola clave con un grupo Claude y el grupo Codex Plus o Codex Pro; cada solicitud se factura según el grupo que sirve su modelo. Los grupos cuyos modelos se solapan (como Codex Plus y Codex Pro) no pueden compartir clave (salvo GPT oficial directo (Azure) con un grupo Codex o con GPT Image (todos los modelos); vea Cómo elegir el grupo), y un grupo de suscripción debe ser el único grupo de su clave.
SDK de OpenAI
Configure la Base URL y cambie la clave. Los ID de modelo de OpenAI como gpt-5.5 se mantienen siempre que aparezcan en GET /v1/models para su clave.
import os
from openai import OpenAI
client = OpenAI(
- api_key=os.environ["OPENAI_API_KEY"],
+ base_url="https://api.hop-base.com/v1",
+ api_key=os.environ["HOPBASE_OPENAI_API_KEY"],
)
resp = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Hello"}],
)Sin tocar el código: ambos SDK leen también OPENAI_BASE_URL y OPENAI_API_KEY del entorno; asígneles https://api.hop-base.com/v1 y su clave de HopBase. Hay más ejemplos en OpenAI SDK.
SDK de Anthropic
Claude mantiene la API Messages de Anthropic. Configure la Base URL sin /v1 y use una clave del grupo Claude Max Empresarial. Las claves del grupo Claude Max (ccmax) solo funcionan en el cliente Claude Code; las llamadas desde el SDK fallan.
import os
from anthropic import Anthropic
client = Anthropic(
- api_key=os.environ["ANTHROPIC_API_KEY"],
+ base_url="https://api.hop-base.com",
+ api_key=os.environ["HOPBASE_CLAUDE_API_KEY"],
)
msg = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)La vía de las variables de entorno también sirve aquí: ANTHROPIC_BASE_URL=https://api.hop-base.com. Consulte Anthropic SDK.
OpenRouter
Cambie la Base URL y la clave, quite el prefijo de proveedor del nombre del modelo y elimine los encabezados de atribución de OpenRouter: HopBase no los necesita.
import os
from openai import OpenAI
client = OpenAI(
- base_url="https://openrouter.ai/api/v1",
- api_key=os.environ["OPENROUTER_API_KEY"],
- default_headers={"HTTP-Referer": "https://your-app.example", "X-Title": "Your App"},
+ base_url="https://api.hop-base.com/v1",
+ api_key=os.environ["HOPBASE_OPENAI_API_KEY"],
)
resp = client.chat.completions.create(
- model="openai/gpt-5.5",
+ model="gpt-5.5",
messages=[{"role": "user", "content": "Hello"}],
)Si llamaba a Claude a través del endpoint compatible con OpenAI de OpenRouter, esa ruta no existe para Claude en HopBase: pase esas llamadas al SDK de Anthropic con una clave de un grupo Claude, como en la sección anterior. Las demás familias (Gemini, GLM, Qwen, DeepSeek, Kimi, Grok) siguen con el SDK de OpenAI, con una clave que incluya el grupo de cada familia.
Lo que no está disponible
| Lo que puede estar usando | En HopBase |
|---|---|
Claude mediante /v1/chat/completions o /v1/responses | 404. Use Anthropic Messages: Anthropic SDK |
Gemini mediante la ruta nativa del SDK de Gemini (:generateContent) | Compatible en Gemini oficial directo (empresarial): apunte la Base URL del SDK a https://api.hop-base.com. Gemini económico (AI Studio / Vertex) no lo admite: Chat de Gemini |
Kimi K3 mediante /v1/responses o /v1/messages | Solo Chat Completions: Kimi K3 |
| Embeddings, transcripción de audio, Files, Batch, Assistants, ajuste fino, moderación | No se ofrecen; estas rutas devuelven 404 |
| Una clave para todos los modelos | Una clave puede incluir hasta 10 grupos de distintas plataformas, siempre que sus modelos no se solapen, salvo GPT oficial directo (Azure) con un grupo Codex o con GPT Image (todos los modelos) (vea arriba) |
Listas de modelos de respaldo de OpenRouter (models), enrutamiento provider, sufijos de modelo como :online o :free | No disponibles; quítelos y envíe un único ID de modelo |
La lista completa de endpoints está en Base URL y protocolos.
Comprobar el cambio
Liste los modelos de la clave
GET https://api.hop-base.com/v1/models con la clave nueva. Use solo los ID que aparezcan en la respuesta.
Envíe una solicitud pequeña
Pida «Responde solo con ok.» y confirme un 200. Un 404 suele significar que el modelo no está en ninguno de los grupos de esta clave o que la Base URL apunta al protocolo equivocado: vea Códigos de error y reintentos.
Compruebe cuánto puede gastar la clave
GET https://api.hop-base.com/v1/usage devuelve el saldo disponible de la clave. Los campos se explican en API de cuenta y catálogo.
Próximos pasos
- Inicio rápido: cree una clave y envíe la primera solicitud
- Modelos disponibles: consulte los ID de modelo disponibles para una clave
- API de cuenta y catálogo: consulte saldo, uso y catálogo de modelos por API
- Códigos de error y reintentos: qué significa cada código de error y si conviene reintentar