Erros comuns de conexão e como corrigi-los
O que 401, 402, 400, 404, 413, 429 e 503 significam quando você se conecta à API CheapTokens, como as respostas se parecem e como corrigir cada um.

Nesta página
Quase todo problema de conexão se resume a quatro coisas: o endereço, a chave, o ID do modelo e o saldo. Comece com a verificação rápida abaixo e depois encontre seu código de status. Os corpos de resposta citados aqui são as respostas reais da API (outubro de 2026).
Verificação rápida#
# 1. The address is reachable — this request needs no key
curl https://api.cheaptokens.dev/v1/models
# 2. The key and the balance work — a tiny request (costs a fraction of a cent)
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-ai/DeepSeek-V4-Flash-0731", "max_tokens": 5,
"messages": [{"role": "user", "content": "ping"}]}'Se o primeiro comando falhar, a causa pode ser a rede do seu lado, um erro de digitação no endereço — ou o próprio serviço estar temporariamente indisponível. Se apenas o segundo falhar, procure o código de status dele abaixo. Se ambos funcionarem mas sua ferramenta não, compare as configurações da ferramenta com esses dois comandos.
401 — Chave de API inválida#
{"error": {"message": "Invalid API key", "type": "authentication_error"}}Clientes no estilo Anthropic recebem o mesmo erro em seu formato:
{"type": "error", "error": {"type": "authentication_error", "message": "Invalid API key"}}Causas:
- a chave foi copiada com um caractere faltando, um espaço ou aspas;
- a chave foi rotacionada no painel — a antiga não funciona mais;
- uma chave de outro serviço (por exemplo OpenAI) está configurada em vez da chave CheapTokens;
- a variável de ambiente está vazia neste terminal:
echo ${#CHEAPTOKENS_imprime seu comprimento.API_ KEY}
O painel mostra uma chave apenas uma vez. Se ela for perdida, pressione Rotate para obter uma nova e atualize-a em todos os lugares onde é usada.
402 — saldo vazio ou sem chave na requisição#
A API retorna 402 em duas situações diferentes:
- O saldo acabou. As requisições são pagas com o saldo; quando ele acaba, a chave é pausada. Recarregue no painel e as requisições voltam a funcionar.
- A requisição não tem chave alguma. Se o cabeçalho
Authorization(oux-api-keypara clientes no estilo Anthropic) estiver ausente, a API responde 402 com o tipoinsufficient_. Verifique se sua ferramenta realmente envia a chave: o estilo OpenAI éfunds Authorization: Bearer <key>.
404 — endereço errado#
{"error": {"message": "Invalid URL (GET /v1/chat/completion)", "type": "invalid_request_error", "param": null, "code": null}}O caminho tem um erro de digitação — aqui completion em vez de completions. Outras causas comuns:
- A base URL não tem
/v1. Clientes no estilo OpenAI precisam dehttps:/. Sem/ api. cheaptokens. dev/ v1 /v1a requisição não chega à API e você recebe uma página HTML 404 simples em vez de JSON. /v1duas vezes. Alguns clientes adicionam/v1por conta própria; então a base URL deve ser a raiz,https:/. Clientes no estilo Anthropic sempre usam o endereço raiz./ api. cheaptokens. dev
400 — modelo não encontrado#
{"error": {"message": "Model \"deepseek-v4-flash\" not found. Available: …", "type": "invalid_request_error", "param": "model"}}O ID do modelo deve ser o ID completo, incluindo o prefixo antes da barra: deepseek-, não deepseek-. Maiúsculas ou minúsculas não importam. A mensagem de erro lista os IDs disponíveis, e a lista completa está sempre em GET /v1/models.
Um 400 também é retornado para um corpo de requisição malformado — por exemplo um array messages vazio (messages field is required and must be a non-) ou uma mensagem sem role.
413 — requisição muito grande#
O corpo da requisição é limitado a 16 MB. Agentes podem atingir esse limite colocando arquivos ou logs enormes no contexto. Envie apenas as partes que o modelo precisa e reduza saídas longas de ferramentas.
429 — muitas requisições#
Se você receber 429, diminua o ritmo. A resposta inclui um cabeçalho Retry-After com o número de segundos a esperar. Os SDKs oficiais da OpenAI tentam novamente automaticamente (max_retries); no seu próprio código, espere Retry-After antes da próxima tentativa.
503 — modelo temporariamente indisponível#
Um modelo pode ficar temporariamente indisponível; a API então responde 503 com o tipo model_, e o card do modelo no site mostra "temporariamente indisponível". Tente novamente mais tarde ou mude o campo model para outro modelo — a chave e o endereço permanecem os mesmos.
Esperas longas e timeouts#
Modelos de raciocínio como zai- pensam antes de responder, então o primeiro token pode demorar. Use streaming ou aumente o timeout do cliente — por exemplo timeout=120 no SDK da OpenAI.



