Hay dos tipos de servicio que permiten llamar a Claude, GPT, Gemini y DeepSeek con una sola clave de API: los gateways multimodelo gestionados, como OpenRouter y HopBase, y los gateways de código abierto que usted mismo opera, como LiteLLM u One API (en este caso sigue necesitando una cuenta con cada proveedor de modelos). En HopBase, una clave incluye de 1 a 10 grupos y puede cubrir Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Kimi, Doubao, Hunyuan y Grok. GPT, Gemini y los modelos chinos usan la URL base compatible con OpenAI https://api.hop-base.com/v1; Claude usa Anthropic Messages en https://api.hop-base.com, sin /v1. Dentro de un mismo protocolo, se cambia de modelo modificando solo el campo model. Abajo encontrará ejemplos de curl y Python listos para ejecutar y una comparación neutral de las opciones.
Cómo una clave llega a varias familias de modelos: dos protocolos
Un gateway multimodelo no obliga a todos los modelos a usar el mismo formato de solicitud. En la práctica, la mayoría usa el formato compatible con OpenAI y Claude mantiene el formato nativo Messages de Anthropic. Los dos protocolos aceptan la misma clave; solo cambian la URL base y la ruta.
| Protocolo | URL base | Endpoint | Modelos | Autenticación |
|---|---|---|---|---|
| Compatible con OpenAI | https://api.hop-base.com/v1 | POST /v1/chat/completions (algunos modelos también /v1/responses) | GPT, Gemini, DeepSeek, Qwen, GLM, Kimi, Doubao, Hunyuan, Grok | Authorization: Bearer |
| Anthropic Messages | https://api.hop-base.com (sin /v1) | POST /v1/messages | Claude (solo aquí); también Gemini, DeepSeek y Doubao | x-api-key |
Dos errores frecuentes: Claude solo funciona en /v1/messages, así que enviarlo a /v1/chat/completions devuelve 404; y kimi-k3 solo funciona en Chat Completions y devuelve 404 en /v1/responses y /v1/messages.
Los grupos de la clave deciden qué modelos puede llamar
- En la consola, abra Claves de API, cree una clave y elija de 1 a 10 grupos. Cada grupo corresponde a una familia de modelos, por ejemplo Claude, DeepSeek, Qwen, GLM o Kimi K3.
- Llame a
GET /v1/modelspara ver qué puede usar la clave. Devuelve la unión de los modelos de los grupos elegidos. - Use solo los ID completos de esa lista. Un modelo fuera de los grupos de la clave devuelve 404
model_not_found; nunca se sustituye en silencio por otro modelo. - Cada solicitud la atiende y factura el grupo que cubre su modelo, y el registro de uso muestra cuál fue.
Los grupos con modelos superpuestos no pueden compartir clave, y un grupo de suscripción debe ser el único grupo de su clave.
Código: cambiar de modelo modificando solo el campo model
Paso 1. Liste lo que puede llamar la clave:
curl https://api.hop-base.com/v1/models \
-H "Authorization: Bearer sk-your-key"
Paso 2. Llame a DeepSeek en formato compatible con OpenAI. Para Qwen o GLM, cambie solo model:
curl https://api.hop-base.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Reply with only: ok"}]
}'
Paso 3. En Python, recorra seis familias de modelos con un único cliente de OpenAI. Se supone que la clave incluye los grupos de GPT (Codex Plus o Codex Pro), Gemini, DeepSeek, Qwen, GLM y Kimi K3:
# pip install openai
from openai import OpenAI
client = OpenAI(base_url="https://api.hop-base.com/v1", api_key="sk-your-key")
for model in ["gpt-5.6-sol", "gemini-3.8-flash", "deepseek-v4.1-flash",
"qwen3.8-max", "glm-5.3", "kimi-k3"]:
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "Preséntate en una frase."}],
)
print(model, "->", resp.choices[0].message.content)
Paso 4. Llame a Claude con el SDK de Anthropic. La URL base no lleva /v1 y la clave necesita un grupo de Claude. Indique max_tokens de forma explícita; si lo omite, se completa con 4096:
# pip install anthropic
import anthropic
client = anthropic.Anthropic(base_url="https://api.hop-base.com", api_key="sk-your-key")
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Preséntate en una frase."}],
)
print(msg.content[0].text)
Si un modelo devuelve {"error":{"code":"model_not_found",...}}, vuelva a llamar a /v1/models y añada el grupo que falta a la clave desde la consola.
Comparación de las opciones
La tabla recoge solo hechos verificables. La columna de OpenRouter se basa en su documentación pública y su API pública de modelos, revisadas el 2026-11-05. "No indicado" significa que las páginas públicas no lo dicen, no que la función no exista.
| Criterio | Cada proveedor por separado | Gateway autoalojado (LiteLLM, One API) | OpenRouter | HopBase |
|---|---|---|---|---|
| Modelos chinos | Registro, verificación y recarga con cada proveedor | Los que conecte con sus propias cuentas | La lista pública incluye DeepSeek, Qwen, GLM (z-ai), Kimi (moonshotai), ByteDance Seed | DeepSeek, Qwen, GLM, Kimi, Doubao, Hunyuan |
| Claude con Messages nativo | Nativo en la API de Anthropic | Depende del proyecto y la versión | La documentación describe una entrada compatible con Anthropic Messages; Claude Code usa ANTHROPIC_BASE_URL=https://openrouter.ai/api | Sí, https://api.hop-base.com + /v1/messages |
| Cuotas de equipo y departamentos | Cada consola por separado | Claves virtuales y presupuestos habituales; los departamentos los configura usted | Organizaciones con saldo de créditos compartido y roles admin / member; límites por miembro no indicados | Miembros, departamentos, cuotas por clave / miembro / departamento |
| Moneda y medios de pago | Moneda y medios de cada proveedor | El software es gratis; paga a cada proveedor | Créditos en USD; tarjetas principales, Alipay, USDC | Pago por uso en USD; Alipay, WeChat Pay, Visa / Mastercard |
| Conciliación por solicitud | Revisar cada factura por separado | Cruzar usted mismo los logs del gateway con cada factura | La página Activity filtra el uso histórico por modelo y clave de API | Cada fila del CSV incluye costo oficial, descuento, tipo de cambio e importe: costo oficial × descuento ÷ tipo de cambio = importe cobrado |
Cuál elegir
- Uno o dos proveedores con contrato firmado: úselos por separado.
- Requisitos de residencia de datos y personal de operaciones: autoaloje LiteLLM u One API. Controla el software y también asume cuentas, disponibilidad y conciliación.
- Sobre todo modelos occidentales, persona o equipo pequeño: el catálogo de OpenRouter es amplio y conviene revisarlo primero.
- Claude Code junto con modelos chinos, cuotas por departamento y conciliación línea a línea: HopBase ofrece ambos protocolos con una sola clave. El precio es la tarifa oficial de cada proveedor × el descuento del grupo; consulte la página de precios.
Las particularidades de cada modelo chino (campos de razonamiento, entrada de imágenes, llamadas a herramientas) están en Una sola clave compatible con OpenAI para DeepSeek, Qwen, GLM, Kimi y Doubao; una comparación más amplia de plataformas, en Alternativas a OpenRouter en 2026; y los pasos de configuración, en la guía de inicio rápido. Cuando esté listo, regístrese y cree una clave.
Preguntas frecuentes
¿Una sola clave de API puede llamar a Claude y a GPT?
Sí, si la clave incluye un grupo de Claude y uno de GPT. Usan protocolos distintos: GPT va a Chat Completions o Responses en https://api.hop-base.com/v1 y Claude a /v1/messages en https://api.hop-base.com. La clave es la misma; su cliente necesita dos URL base.
¿Hay un gateway compatible con OpenAI para DeepSeek, Qwen, GLM y Kimi con una sola clave?
Sí. Apunte el base_url del SDK de OpenAI a https://api.hop-base.com/v1 y ponga en model un ID que devuelva /v1/models, como deepseek-v4.1-flash, qwen3.8-max, glm-5.3 o kimi-k3. No hace falta prefijo del proveedor.
¿Por qué recibo 404 model_not_found al cambiar el nombre del modelo?
El modelo no está en los grupos de la clave o el ID está mal escrito. Los ID se comparan de forma exacta y nunca se corrigen solos. Llame a GET /v1/models para confirmar los ID válidos y edite la clave en la consola para añadir el grupo que falta (hasta 10 por clave).