Integración con IA
Elija una familia de modelos de HopBase y entregue su contrato de integración específico a un agente de codificación.
Elija primero la familia de modelos y luego entregue el contrato de la pestaña activa a Codex, Claude Code, Cursor u otro agente de codificación. Cada contrato incluye solo la clave, el protocolo y los endpoints requeridos para esa familia.
Elija la pestaña de modelo correspondiente
| Capacidad | Pestaña | Clave de plan |
|---|---|---|
| Claude API o Claude Code | Claude | Clave de grupo Claude |
| GPT chat o Codex Responses | GPT / Codex | Clave con el grupo Codex Plus, Codex Pro o GPT oficial directo (Azure): estos grupos son solo de chat; para imágenes, añada el grupo GPT Image |
| Generación con GPT Image | GPT / Codex | Clave del grupo GPT Image: el único grupo que sirve gpt-image-* |
| Gemini chat, Omni o imágenes Banana | Gemini | Clave de grupo Gemini |
| GLM chat o GLM a través de CC Switch | GLM | Clave de grupo GLM |
| Generación o edición de imágenes Seedream | Seedream | Clave de grupo Seedream |
| Generación de video Seedance | Seedance | Clave de grupo Seedance |
| Generación de video MiniMax H3 | MiniMax H3 | Clave de grupo MiniMax H3 — H3 y H3-Max son dos grupos separados, así que una clave de H3 no llega a H3-Max |
| Video, imagen, control de movimiento, avatar o sincronización labial de Kling | Kling | Clave de grupo Kling |
| Generación de video con Wan 3.0 o HappyHorse | Wan / HappyHorse | Clave de grupo Wan 3.0 o clave de grupo HappyHorse: son dos grupos distintos en la consola; una sola clave puede incluir ambos |
| Chat, imagen o video de Grok | Grok | Clave de grupo Grok; el video usa el grupo Grok de video aparte |
| Chat de Qwen, con entrada de imagen o video | Qwen | Clave de grupo Qwen |
| Chat o razonamiento con DeepSeek V4 | DeepSeek V4 | Clave de grupo DeepSeek |
| Chat con Kimi K3 | Kimi K3 | Clave de grupo Kimi K3 |
| Generación de imágenes Midjourney | Midjourney | Clave del grupo de generación de imágenes Midjourney |
| Síntesis de voz o clonación de voz | MiniMax Speech | Clave del grupo MiniMax Speech |
En un proyecto multimodelo, use la variable dedicada indicada en el contrato activo, como HOPBASE_CLAUDE_API_KEY o HOPBASE_GEMINI_API_KEY. Un proyecto de un solo modelo puede seguir usando HOPBASE_API_KEY. Nunca pegue una clave real en una conversación con IA ni la coloque en código fuente, commits, capturas de pantalla o registros.
Para el nombre exacto del grupo de cada fila, consulte Inicio rápido: Cómo elegir el grupo. El grupo Claude Max (ccmax) solo funciona dentro del cliente Claude Code; para un proyecto con SDK o API, elija otro grupo Claude.
Integre únicamente los modelos Claude a través de HopBase en el proyecto actual. Siga este contrato al pie de la letra; si difiere de la documentación de la API del fabricante, prevalece este contrato.
Alcance
- Implemente solo la API de Claude (Anthropic Messages) o Claude Code. No agregue, configure ni pruebe ninguna otra familia de modelos.
- Conserve el framework, los SDK y el estilo de código existentes; haga el cambio mínimo que funcione.
- Determine primero si se trata de una herramienta local de un solo usuario, un servicio interno o una aplicación que atiende a clientes o inquilinos externos; eso decide dónde va la clave y la arquitectura.
Clave
- Use únicamente una clave de la familia Claude. Cada clave está vinculada a un grupo de la consola y solo llega a los modelos de ese grupo:
- SDK, HTTP, editores y Claude Code: "Claude Max (oficial, cuota completa)" o "Claude Max (oficial, cuota completa) - Oferta limitada".
- "Claude Max (ccmax)" solo funciona dentro del cliente Claude Code; las llamadas por SDK o HTTP con esa clave fallan.
- En un proyecto con varios modelos, lea HOPBASE_CLAUDE_API_KEY o el gestor de secretos existente; reutilice HOPBASE_API_KEY solo en un proyecto explícitamente de un solo modelo.
- No cree claves, no lea la clave de otra familia ni me pida pegar una clave real en la conversación. Si falta la clave, deténgase y pídame crear una clave del grupo correcto en Claves API de la consola y configurarla localmente o en el gestor de secretos.
Modelos
- Llame primero a GET https://api.hop-base.com/v1/models con esta clave y use solo los IDs que comienzan con claude- de la respuesta, copiado tal cual.
- A la venta: claude-fable-5-1, claude-sonnet-5, claude-sonnet-5-5, claude-opus-5-5, claude-fable-5, claude-opus-5, claude-opus-4-8, claude-opus-4-7, claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5-20251001.
- 404 model_not_found significa que el ID no está en el grupo de esta clave: vuelva a consultar /v1/models y use un ID devuelto. Nunca adivine, acorte ni reescriba un nombre de modelo.
Conexión
- Base URL https://api.hop-base.com sin /v1 (el SDK agrega /v1/messages). Una Base URL terminada en /v1 produce /v1/v1/messages y un 404.
- Autenticación: la opción api_key del SDK, o la cabecera x-api-key en HTTP directo. Conserve la autenticación nativa del SDK.
- Endpoints: POST /v1/messages y POST /v1/messages/count_tokens. Las rutas OpenAI (/v1/chat/completions, /v1/responses) devuelven 404 con una clave Claude; nunca convierta llamadas Messages en Chat Completions.
- Claude Code: ANTHROPIC_BASE_URL=https://api.hop-base.com y ANTHROPIC_AUTH_TOKEN=<clave Claude>. La configuración en un clic escribe ambas en el bloque env de ~/.claude/settings.json, que prevalece sobre las variables del shell.
Reglas de la solicitud
- Envíe siempre max_tokens. Si falta, se completa con 4096 y la salida larga se corta con stop_reason "max_tokens".
- claude-opus-5-5: el razonamiento está siempre activo — thinking {"type":"disabled"} o budget_tokens devuelve 400; regule la profundidad con output_config.effort (por defecto medium). tool_choice any / tool devuelve 400 (use auto). No admite prefill del asistente.
- Devuelva los bloques thinking anteriores exactamente como llegaron, con su signature. Reescribirlos, fusionarlos o reutilizarlos entre modelos devuelve 400 "Invalid signature in thinking block".
- Las llamadas sin streaming tienen un tope de 300 s (luego 504). Use streaming para salidas largas y transmita el SSE de Anthropic sin cambios; las llamadas count_tokens también consumen concurrencia.
Errores y reintentos
- Ramifique por el estado HTTP y error.code, nunca por el texto de message. Registre la cabecera de respuesta x-request-id para soporte.
- Reintente con espera creciente (2 s, 5 s, 15 s; máximo 3 intentos; respete Retry-After): 429, 502, 503, 504 y flujos interrumpidos.
- No reintente sin cambios: 400, 401, 402, 403, 404, 413, 422. Corrija antes la solicitud, la clave, el grupo o el saldo.
- Los errores con forma Anthropic no tienen campo code. Los errores de clave (401, 402, 403) usan la forma OpenAI {"error":{"code":…}} incluso en /v1/messages.
- 404 "This API path is not supported by the current platform" = protocolo equivocado o un /v1 de más en la Base URL. Corrija la configuración; no reintente.
- Si un stream ya iniciado falla, llega una línea event: error con HTTP 200; trátela en el bucle de lectura y reenvíe la solicitud completa.
Implementación
- Coloque la Base URL, el nombre de la variable de la clave y el modelo predeterminado en el sistema de configuración existente. Actualice .env.example sin una clave real.
- Las llamadas para clientes externos o multiinquilino deben mantener la clave en el servidor, reutilizar la autenticación de quien llama y agregar una lista de modelos permitidos, límites de solicitud, tiempos de espera, limitación de tasa, atribución de consumo y registros con datos sensibles ocultos. Una herramienta local de un solo usuario no necesita esa capa.
- Una cuenta ejecuta 5 solicitudes simultáneas por defecto; por encima, la solicitud se rechaza de inmediato con 429 y Retry-After: 1, sin cola. Limite la concurrencia en el cliente.
Validación y entrega
- Tras configurar, envíe una solicitud real mínima. Agregue una prueba de streaming solo si el proyecto realmente usa streaming.
- Envíe una solicitud Messages con max_tokens 1024 pidiendo a un modelo claude- devuelto que responda "ok", y verifique content[0].text.
- Informe los archivos modificados, el nombre de la variable de la clave, el ID de modelo, el endpoint, el estado HTTP y un resumen de la respuesta con datos sensibles ocultos, junto con los comandos de inicio, verificación y reversión.Descargue un archivo de reglas para su agente de programación
Marque todas las familias de modelos que usa este proyecto. El archivo combina sus contratos: las reglas comunes una sola vez y luego una sección por familia, con enlaces a la documentación en vivo y al servidor MCP. Con más de tres familias, cada sección conserva las reglas de clave, modelo y conexión, y enlaza a las reglas completas.
AGENTS.md.cursor/rules/hopbase.mdc.claude/skills/hopbase-api/SKILL.mdCambiar de pestaña actualiza tanto el contrato como la acción de copiar. El agente debe descubrir los modelos usando únicamente la clave de la familia seleccionada y elegir un ID de esa respuesta, evitando errores de clave entre planes.
Para conservar las reglas en el repositorio, marque en el panel bajo el contrato todas las familias que usa el proyecto y descárguelas combinadas como AGENTS.md, una regla de Cursor (.cursor/rules/hopbase.mdc) o un skill de Claude Code (.claude/skills/hopbase-api/SKILL.md). Las reglas comunes aparecen una sola vez, seguidas de una sección por familia y de enlaces a la documentación en vivo y al servidor MCP descrito abajo. Confirme el archivo en el repositorio para que cada sesión del agente parta de las mismas reglas, y vuelva a descargarlo cuando cambien los modelos o los parámetros.
Cómo se maneja el uso posterior
| Contexto del proyecto | Arquitectura esperada |
|---|---|
| Herramienta local de un solo usuario | Use variables de entorno y el SDK correspondiente; no añada un servicio proxy |
| Servicio interno | Mantenga la clave en el servidor y conserve la autenticación, los límites y el manejo de errores existentes |
| Servicio orientado al cliente o multiinquilino | Añada aislamiento de claves, autenticación del emisor, una lista blanca de modelos, límites de tasa, atribución de consumo, SSE sin buffer y registros con datos ocultos |
El contrato añade controles de gateway solo cuando la aplicación actúa en nombre de usuarios posteriores. No convierte una integración local en una capa de servicio innecesaria.
Servidor MCP
Un agente de programación también puede consultar HopBase en vivo mediante MCP, sin depender solo de un archivo guardado. El servidor es de solo lectura y usa la misma clave API que sus solicitudes. Las llamadas a modelos siguen yendo a los endpoints habituales de la API.
| Elemento | Valor |
|---|---|
| Endpoint | https://api.hop-base.com/mcp (Streamable HTTP, solo POST; sin flujo SSE ni solicitudes por lotes) |
| Autenticación | Authorization: Bearer <clave> o x-api-key: <clave> |
| Alcance | Los resultados cubren solo la clave usada: sus grupos, sus modelos y su consumo |
| Herramienta | Devuelve |
|---|---|
list_models | Los modelos que esta clave puede llamar, con su precio efectivo |
get_model_limits | Para un ID de modelo: si esta clave puede llamarlo, además de los endpoints, parámetros de solicitud y límites documentados, con enlaces a las páginas de origen |
search_docs | Las secciones de la documentación que mejor coinciden con una consulta (ID de modelo, nombre de parámetro, código de error), cada una con URL y fragmento |
get_balance | Saldo de la cuenta y uso del límite de gasto de esta clave, en USD |
get_key_info | Nombre de la clave, grupo, límite de gasto, límite de concurrencia, vencimiento y estado |
get_usage | Solicitudes, tokens y costo facturado de esta clave; por defecto los últimos 7 días, hasta 92 días |
get_model_limits y search_docs leen la documentación publicada y se actualizan como máximo una vez por hora. La página enlazada es la referencia: que un límite no aparezca en el resultado no significa que no exista.
Claude Code
claude mcp add --transport http hopbase https://api.hop-base.com/mcp \
--header "Authorization: Bearer $HOPBASE_API_KEY"El shell expande la variable al ejecutar el comando, así que la clave queda guardada en la configuración local de Claude Code. Para una configuración de proyecto compartida, agregue el servidor en .mcp.json y escriba la cabecera como "Authorization": "Bearer ${HOPBASE_API_KEY}"; Claude Code la expande al iniciar y el archivo no contiene la clave.
Cursor
Agregue el servidor en .cursor/mcp.json del proyecto, o en ~/.cursor/mcp.json para todos los proyectos:
{
"mcpServers": {
"hopbase": {
"url": "https://api.hop-base.com/mcp",
"headers": { "Authorization": "Bearer ${env:HOPBASE_API_KEY}" }
}
}
}list_models y get_model_limits solo ven los grupos de la clave configurada. Para consultar otra familia de modelos, añada su grupo a la clave o registre una segunda entrada de servidor con una clave que lo incluya.
Próximos pasos
- Inicio rápido: envíe una primera solicitud a mano
- Base URLs y protocolos: qué Base URL y protocolo usa cada familia de modelos
- Modelos disponibles: IDs y capacidades de cada modelo
- Códigos de error y reintentos: qué significa cada código de error y si conviene reintentar