Sem KYC — sem documento de identidade, sem selfie, sem documentos. Pague com cripto: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Português
Obter uma chave de API

Docs · erros

Erros, rate limits e retentativas

Os erros voltam no formato da OpenAI, então os SDKs os lançam como exceções comuns. Esta página lista cada status e código, indica quais valem uma retentativa e mostra um loop de retentativa que respeita o rate limit.

Última atualização: · 5 min de leitura

Resposta rápida

Quais erros a API do LLMwithCrypto pode retornar, e eles são cobrados?

A API responde aos erros com um status HTTP e um corpo no estilo OpenAI: {"error": {"message", "type", "param", "code"}}. LLMwithCrypto usa 400 para requisição inválida, 401 para chave errada, 402 quando o crédito não consegue pagar, 404 para modelo desconhecido, 429 para o rate limit e 500 ou 503 do nosso lado. Uma chamada que termina em erro não custa nada, conforme documentado em 23 de outubro de 2026.

Quais erros existem?

Nenhum erro consome crédito. code é o valor estável para testar no seu código; message é para pessoas e pode mudar.

HTTPcodeCausaRepetir?
400invalid_parameterFalta um campo obrigatório, ou um valor está fora do intervalo ou com o tipo erradoNão: corrija a requisição
400context_length_exceededAs mensagens mais max_tokens não cabem na janela de contexto do modeloNão: encurte a entrada ou reduza max_tokens
400unsupported_parameterUm campo que este modelo não suporta, como response_format em um modelo sem modo JSONNão: remova o campo ou troque de modelo
401invalid_api_keyA chave está ausente, digitada errado ou revogadaNão: verifique a chave
402insufficient_balanceO saldo restante não cobre esta chamadaNão: compre um pacote de créditos
404model_not_foundO id model não está na nossa listaNão: use um id de GET /api/v1/models
429rate_limit_exceededMais requisições ou tokens por minuto do que a conta permiteSim, após uma pausa
500server_errorAlgo falhou do nosso ladoSim, com backoff
503model_overloadedO modelo está no limite de capacidade por um momentoSim, com backoff, ou tente outro modelo
Corpo do erro: modelo desconhecido
{
  "error": {
    "message": "The model `gpt-4o` does not exist or is not available to your key.",
    "type": "invalid_request_error",
    "param": "model",
    "code": "model_not_found"
  }
}

Por que recebo 404 para gpt-4o ou claude?

Porque esses modelos não são vendidos aqui. Não vendemos acesso ao GPT, Claude, Gemini ou Grok: seus criadores proíbem a revenda de acesso à API sem a aprovação deles, e nós não temos essa aprovação. Código escrito para a OpenAI API costuma nomear um modelo em vários lugares; pesquise no seu projeto pelo nome antigo e substitua por um id da página de modelos, como deepseek-v4-pro ou gpt-oss-120b.

Quando meu código deve tentar novamente?

Tente novamente em 429, 500 e 503, e em erros de rede como timeout ou conexão reiniciada. Nunca tente novamente em 400, 401, 402 ou 404: a mesma requisição vai falhar do mesmo jeito.

Espere antes de cada nova tentativa. Quando a resposta tiver um header Retry-After, espere essa quantidade de segundos; caso contrário, dobre a pausa a cada vez (1, 2, 4, 8 segundos…) e adicione um pouco de tempo aleatório, para que muitos workers não tentem novamente em sincronia. Desista após algumas tentativas e registre o erro no log. Os SDKs da OpenAI já tentam novamente por conta própria; o exemplo abaixo desativa isso para mostrar a lógica por completo.

Python: tentar novamente em 429, 500 e 503 com backoff exponencial
import os
import random
import time

from openai import APIConnectionError, APIStatusError, OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
    max_retries=0,
)
RETRY = {429, 500, 503}


def chat(messages, model="deepseek-v4-pro", attempts=5):
    for attempt in range(attempts):
        try:
            return client.chat.completions.create(model=model, messages=messages, max_tokens=500)
        except APIStatusError as err:
            if err.status_code not in RETRY or attempt == attempts - 1:
                raise
            wait = err.response.headers.get("retry-after")
            delay = float(wait) if wait else min(30, 2**attempt) + random.random()
        except APIConnectionError:
            if attempt == attempts - 1:
                raise
            delay = min(30, 2**attempt) + random.random()
        time.sleep(delay)

O que fazer em 402 insufficient_balance?

Adicione créditos. A chamada não foi cobrada, e nada mais na conta muda: suas chaves continuam funcionando assim que houver crédito novamente. Assim que sua recarga em cripto é confirmada e um pacote de créditos é comprado, sua chave de API está esperando no dashboard.

Para evitar surpresas em produção, leia GET https://llmwithcrypto.com/api/v1/credits de vez em quando e crie um alerta abaixo de um piso à sua escolha; a página de modelos e créditos mostra a chamada. O crédito não tem data de validade: o que você não gastar neste mês ainda estará lá no ano que vem, então um pacote maior comprado cedo não custa nada a mais.

Como ficar abaixo do rate limit?

Toda conta tem um limite de requisições e de tokens por minuto, mostrado no dashboard; peça ao suporte e ele pode ser aumentado.

  • Limite a concorrência. Execute um número fixo de requisições em paralelo em vez de disparar um lote inteiro de uma vez.
  • Limite a saída. Os limites de tokens contam também o que o modelo escreve, então um max_tokens sensato mantém mais requisições dentro do limite.
  • Distribua os lotes. Para grandes tarefas offline, distribua as requisições ao longo do minuto em vez de enviá-las em rajadas.

Erros: perguntas frequentes

Sou cobrado por uma chamada que falhou?

Não. Você paga por token a partir do seu saldo: tokens de entrada e de saída são contados pelo tokenizer do próprio modelo e cobrados ao preço daquele modelo por 1M de tokens. Uma chamada que termina em erro não custa nada.

Onde posso ver se há uma indisponibilidade?

Na página de status. Uma sequência de erros 500 ou 503 em vários modelos geralmente indica um incidente do nosso lado; escreva para [email protected] se persistir.

Posso ver a requisição que falhou?

Não do nosso lado. Não armazenamos seus prompts nem as respostas do modelo: assim que uma resposta é enviada, o texto dela se vai. Cada chamada deixa uma linha de log com o horário, a conta, o modelo e as contagens de tokens, apagada após 30 dias. Registre o erro code e o id da sua própria requisição no seu app.

DeepSeek V4 Pro a partir de $1.254 por 1M de tokens de entrada · sem KYC

Obter uma chave de API