Saltar al contenido

Referencia de la API

Base URL de la API de HopBase, autenticación con claves por grupo, ID de solicitud, estructura de errores y límites de concurrencia, más la lista completa de endpoints.

HopBase es un gateway de API multimodelo: chat, imágenes, video y voz se llaman a través del mismo dominio https://api.hop-base.com, con los formatos oficiales de OpenAI y Anthropic, así que los SDK existentes solo necesitan cambiar el Base URL y la clave. Esta sección tiene una página por endpoint, y las tablas de parámetros y los ejemplos se generan a partir de la descripción OpenAPI.

Lista de endpoints

Base URL

ProtocoloBase URLPara
Compatible con OpenAIhttps://api.hop-base.com/v1Chat, Responses, imágenes, video, voz, /v1/models, /v1/usage
Anthropichttps://api.hop-base.com/v1/messages de los modelos Claude (en el SDK, sin /v1)

El protocolo depende del cliente y del tipo de modelo, no del formato de la clave. La correspondencia completa por escenario (Claude Code, Codex CLI, cada familia de modelos) está en Base URL y protocolos. Wan / HappyHorse usan la ruta de video nativa /api/v1/services/aigc/video-generation/video-synthesis, en la raíz del dominio.

Autenticación

Todos los endpoints se autentican con una clave sk- creada en Claves API de la consola, con cualquiera de estas dos cabeceras:

Authorization: Bearer sk-tu-clave
x-api-key: sk-tu-clave

No se admiten x-goog-api-key ni el parámetro de URL ?key=. GET /v1/usage solo acepta Authorization: Bearer.

Cada clave pertenece a un solo grupo.

Cada clave está vinculada a un grupo (por ejemplo "Codex Pro", "Claude Max (oficial, cuota completa)" o "GPT Image (todos los modelos)") y solo puede llamar a los modelos de ese grupo y a los endpoints de su protocolo: una clave Claude en /v1/chat/completions devuelve 404 "The current platform does not support this API path", y una clave de un grupo de chat que llama a un modelo de imagen devuelve 404 model_not_found. Si un mismo proyecto necesita chat y generación de imágenes, cree dos claves y guárdelas en variables de entorno distintas. Los modelos disponibles son los que devuelve GET /v1/models con esa clave.

Inyecte la clave mediante variables de entorno o su plataforma de despliegue; no la escriba en el código fuente ni la suba a Git.

ID de solicitud

Cada respuesta incluye la cabecera x-request-id, el identificador único de esa solicitud. Al reportar un problema, adjunte x-request-id, la hora en que ocurrió (con zona horaria), el ID del modelo y el texto completo del error: los fallos del servidor no muestran el texto original en la consola, así que la investigación se basa en x-request-id.

curl -i https://api.hop-base.com/v1/models \
  -H "Authorization: Bearer $HOPBASE_API_KEY"
# HTTP/2 200
# x-request-id: …

Algunas respuestas de modelos traen sus propias cabeceras de límite de tasa (x-ratelimit-*, anthropic-ratelimit-*); no describen los límites de su cuenta ni de su clave, así que no limite el ritmo en función de ellas.

Errores

Los endpoints del protocolo OpenAI devuelven {"error": {"message", "type", "code"}}; /v1/messages devuelve la estructura de Anthropic {"type": "error", "error": {"type", "message"}}, sin code. El idioma del mensaje sigue Accept-Language y, si no se indica, es inglés; en su código, decida por el código de estado HTTP y code, no compare el texto.

Código de estadoSignificado¿Se puede reintentar?
400 / 413Parámetros no válidos / el cuerpo de la solicitud supera 60 MBNo; corrija antes la solicitud
401Falta la clave, no es válida o ha caducadoNo
402Se agotó el saldo o la cuota; al enviar video, el saldo no cubre las reservas en cursoDespués de recargar
403Cuenta o miembro desactivado, o sin permiso para usar ese grupoNo
404El modelo o la ruta no pertenecen al grupo de esta claveNo
429Se alcanzó el límite de concurrencia de la cuenta o de la clave, o el servicio está ocupadoReintente según Retry-After
502 / 503 / 504Servicio no disponible temporalmente o tiempo agotadoReintente con espera creciente

Una vez que una solicitud en streaming empieza a emitir salida, el estado HTTP ya es 200 y los errores posteriores llegan como eventos; ver Eventos de streaming. La lista completa de códigos de error y las reglas de reintento están en Códigos de error y reintentos.

Concurrencia y límites de tasa

HopBase limita por número de solicitudes en curso a la vez, no por solicitudes por minuto: por defecto, una cuenta puede tener 5 solicitudes en curso a la vez, ampliable bajo petición; cada clave puede tener su propio límite en la consola, y se aplica el menor de los dos. Las solicitudes que lo superan devuelven 429 de inmediato (user_concurrency_limit / apikey_concurrency_limit, con Retry-After: 1 y Retry-After-Ms); no se encolan en el servidor.

El chat, la generación de imágenes, el envío de video y /v1/messages/count_tokens consumen concurrencia; la consulta de tareas y GET /v1/models no. Los criterios de tiempo de espera y los tiempos de lectura recomendados en el cliente están en Concurrencia, tiempos de espera y facturación.

Facturación

Las solicitudes correctas se facturan según la unidad de precio del modelo (token / imagen / segundo / carácter); en principio, los fallos no se facturan, un stream interrumpido se factura por la parte ya generada y las tareas asíncronas fallidas no se facturan. Consulte el saldo con GET /v1/usage; los precios oficiales de lista están en el catálogo público GET /api/v1/models/pricing (descripción de campos).

Descripciones legibles por máquina

  • /openapi.json: descripción OpenAPI 3.1 de todos los endpoints de esta sección; se puede importar en Postman, Apifox o generadores de SDK.
  • /spec/models/index.json: un JSON Schema del cuerpo de la solicitud por cada modelo de generación de imágenes, con los números tomados del código de validación del gateway.
  • Constructor de solicitudes: arma en el navegador una solicitud de generación de imágenes válida para cada modelo y genera el código.