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/modelsExemplos
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-regionPaís para onde os dados desta chamada foram enviados (transparência LGPD)
x-mt-vendor · x-mt-supplierFabricante do modelo e fornecedor por onde a chamada foi roteada
x-mt-cost-brl · x-mt-balance-brlCusto desta chamada e saldo restante, em reais (respostas não-stream)
x-mt-request-idNú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_keyChave inválida, revogada ou desativada.
402 · insufficient_quotaSaldo insuficiente para esta chamada. Recarregue para continuar.
403 · organization_inactiveA 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_inactiveA carteira da conta está suspensa. Recarregar não resolve: fale com a gente.
403 · model_not_on_planO 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_foundO nome do modelo está incorreto. Consulte os nomes válidos em GET /v1/models.
403 · model_not_allowedEsta 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_exceededA 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_exceededLimite de requisições por minuto da chave excedido. Tente de novo depois do tempo indicado no cabeçalho Retry-After.
503 · upstream_unavailableO modelo não conseguiu responder no momento. Tente de novo em instantes.
503 · no_supply_routeEste 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.