Referencia de la API
Todas las rutas que reenvía el hub, cómo se envían las claves, qué errores se devuelven y qué límites se aplican.
Endpoints
| Ruta | Uso |
|---|---|
POST /v1/chat/completions | OpenAI Chat Completions; las llamadas en streaming incluyen automáticamente los datos de uso. |
POST /v1/responses | OpenAI Responses API, utilizada por Codex. |
POST /v1/embeddings | Embeddings, para los modelos que los admiten. |
POST /v1/messages | Anthropic Messages, para Claude Code y Claude Desktop. |
POST /v1/messages/count_tokens | Conteo de tokens; nunca se cobra. |
POST /v1beta/models/{model}:generateContent | Protocolo nativo de Gemini, una sola respuesta. |
POST /v1beta/models/{model}:streamGenerateContent?alt=sse | Protocolo nativo de Gemini, con streaming mediante eventos enviados por el servidor. |
GET /v1/models · GET /v1beta/models | Listas de modelos en formato OpenAI y Gemini; requieren una clave y no tienen costo. |
Envío de la clave
Usa Authorization: Bearer, x-api-key o x-goog-api-key; los clientes de Gemini también pueden agregar ?key=, que se elimina antes de reenviar la solicitud.
curl --request POST "https://api.coderelayhub.com/v1beta/models/gemini-3.8-flash:generateContent" \
--header "x-goog-api-key: crh_paste_your_key_here" --header "Content-Type: application/json" \
--data '{"contents":[{"role":"user","parts":[{"text":"Summarize git rebase in one line"}]}]}'Códigos de error
Cada llamada se factura según los tokens que reporta el proveedor. Los errores se devuelven con la estructura de errores de OpenAI.
| HTTP | type | Qué significa en el hub |
|---|---|---|
400 | invalid_request_error · model_not_found | Solicitud mal formada, modelo no especificado, modelo desconocido o modelo enviado al protocolo incorrecto. |
401 | authentication_error | No se envió una clave API, o la clave es desconocida o fue revocada. |
402 | insufficient_quota | El saldo está en cero (clave de pago por uso) o se agotó el plan mensual correspondiente. Recarga para continuar. |
403 | permission_error | La cuenta está suspendida, o una clave de plan mensual llamó a un modelo que no pertenece a su familia. |
413 | invalid_request_error | Cuerpo de la solicitud de más de 25 MB. |
429 | rate_limit_error | Se superaron 120 llamadas por minuto con una sola clave, o la cuenta ya tiene 8 llamadas en curso. |
502 | api_error | No se pudo contactar al proveedor y no se realizó ningún cargo. |
Límites
- 120 solicitudes por minuto en una ventana móvil por clave.
- 8 solicitudes en curso por cuenta.
- 25 MB por cuerpo de solicitud; las transmisiones largas nunca se interrumpen por tiempo de espera.