Início rápido

Integre em minutos: aponte o SDK compatível com o padrão OpenAI para a nossa baseURL. Este guia vale para o acesso pela API TokenRecarga (chave mt_live_); se o seu acesso foi entregue de outra forma, as instruções vão junto com as credenciais.

Ainda não tem conta? Solicitar proposta

Autenticação

Toda chamada leva sua chave no cabeçalho Authorization. Chaves começam com mt_live_ e são exibidas uma única vez na criação.

Authorization: Bearer mt_live_...

Endpoint

POST https://www.tokenrecarga.com.br/api/v1/chat/completions
GET  https://www.tokenrecarga.com.br/api/v1/models

Exemplos

curl https://www.tokenrecarga.com.br/api/v1/chat/completions \
  -H "Authorization: Bearer mt_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Olá!"}]
  }'

Streaming

Passe stream: true e receba SSE padrão OpenAI. A cobrança é correta mesmo se a conexão cair no meio da resposta.

Cabeçalhos de resposta

Cada resposta informa a região de destino dos dados e a origem da medição.

  • x-mt-data-region

    País para onde os dados desta chamada foram enviados (transparência LGPD)

  • x-mt-vendor · x-mt-supplier

    Fabricante do modelo e fornecedor por onde a chamada foi roteada

  • x-mt-cost-brl · x-mt-balance-brl

    Custo desta chamada e saldo restante, em reais (respostas não-stream)

  • x-mt-request-id

    Número desta chamada (req_…), em todas as respostas, inclusive stream e erros. Use-o para encontrar a chamada em Uso no painel e ao falar com o suporte. Para idempotência, envie o seu próprio X-Request-Id: a mesma chave com o mesmo X-Request-Id é cobrada uma vez só.

Erros

Os erros seguem o formato OpenAI: status HTTP e um objeto error com message, type e code. Trate cada caso pelo code — há dois tipos de 429, e só um deles deve ser repetido.

  • 401 · invalid_api_key

    Chave inválida, revogada ou desativada.

  • 402 · insufficient_quota

    Saldo insuficiente para esta chamada. Recarregue para continuar.

  • 403 · organization_inactive

    A conta da sua empresa não está ativa — em implantação ou suspensa. O aviso no painel diz o motivo. Não repita a chamada.

  • 403 · wallet_inactive

    A carteira da conta está suspensa. Recarregar não resolve: fale com a gente.

  • 403 · model_not_on_plan

    O modelo existe no catálogo, mas não faz parte do plano da sua conta. Para pedir acesso, use Solicitar proposta em /proposta.

  • 400 · model_not_found

    O nome do modelo está incorreto. Consulte os nomes válidos em GET /v1/models.

  • 403 · model_not_allowed

    Esta chave de API está restrita a outros modelos. Altere os modelos permitidos no painel, em Chaves de API, ou use outra chave.

  • 429 · key_spend_limit_exceeded

    A chave atingiu o próprio limite de gasto diário ou mensal — a mensagem diz qual. Não é falta de saldo: recarregar não resolve. Ajuste o limite no painel, em Chaves de API → Editar, ou aguarde a virada do dia ou do mês (00:00 UTC). A resposta vem com x-should-retry: false e sem Retry-After: não repita a chamada.

  • 429 · rate_limit_exceeded

    Limite de requisições por minuto da chave excedido. Tente de novo depois do tempo indicado no cabeçalho Retry-After.

  • 503 · upstream_unavailable

    O modelo não conseguiu responder no momento. Tente de novo em instantes.

  • 503 · no_supply_route

    Este modelo não está liberado para a sua conta agora — em geral porque o fabricante ainda não consta do seu acordo de tratamento de dados (DPA). A mensagem diz o motivo; fale com a gente para incluí-lo.

Baixar especificação OpenAPI