Referência da API
Todas as rotas que o hub encaminha, como as chaves são enviadas, quais erros podem ocorrer e quais limites se aplicam.
Endpoints
| Rota | Uso |
|---|---|
POST /v1/chat/completions | OpenAI Chat Completions; chamadas em streaming incluem dados de uso automaticamente. |
POST /v1/responses | OpenAI Responses API, usada pelo Codex. |
POST /v1/embeddings | Embeddings, para modelos que oferecem esse recurso. |
POST /v1/messages | Anthropic Messages, para Claude Code e Claude Desktop. |
POST /v1/messages/count_tokens | Contagem de tokens; nunca é cobrada. |
POST /v1beta/models/{model}:generateContent | Protocolo nativo do Gemini, resposta única. |
POST /v1beta/models/{model}:streamGenerateContent?alt=sse | Protocolo nativo do Gemini, com streaming via server-sent events. |
GET /v1/models · GET /v1beta/models | Listas de modelos nos formatos OpenAI e Gemini; exigem uma chave e não têm custo. |
Envio da chave
Use Authorization: Bearer, x-api-key ou x-goog-api-key; clientes Gemini também podem adicionar ?key=, que é removido antes do encaminhamento.
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 erro
Cada chamada é cobrada pelos tokens informados pelo provedor. Os erros retornam no formato de erro da OpenAI.
| HTTP | type | O que significa no hub |
|---|---|---|
400 | invalid_request_error · model_not_found | Requisição malformada, modelo ausente, modelo desconhecido ou modelo enviado ao protocolo errado. |
401 | authentication_error | Nenhuma chave de API foi enviada, ou a chave é desconhecida ou foi revogada. |
402 | insufficient_quota | O saldo está zerado (chave de pagamento por uso) ou o plano mensal correspondente foi esgotado. Recarregue para continuar. |
403 | permission_error | A conta está suspensa, ou uma chave de plano mensal chamou um modelo de outra família. |
413 | invalid_request_error | Corpo da requisição maior que 25 MB. |
429 | rate_limit_error | Mais de 120 chamadas por minuto em uma chave, ou a conta já tem 8 chamadas em andamento. |
502 | api_error | Não foi possível acessar o provedor, e nada foi cobrado. |
Limites
- 120 requisições por minuto em janela móvel por chave.
- 8 requisições simultâneas por conta.
- 25 MB por corpo de requisição; streams longos nunca são interrompidos por timeout.