docs
Introdução

Como funciona

Markdown

O que acontece ao pedido entre a sua aplicação e o modelo.

Guia completo

Envia um pedido à API Ailoot tal como o enviaria diretamente para OpenAI, Anthropic ou Google. O Ailoot verifica a chave e o saldo, transmite o pedido ao modelo, devolve a resposta no mesmo formato e debita pelo consumo efetivo.

01PedidoO seu cliente envia um pedido para api.ailoot.ai com a chave sk-…
02Validação e reservaChave, limites, saldo. É reservado um valor durante a preparação da resposta.
03ModeloO modelo responde e a resposta é devolvida no seu formato.
04DébitoUm único débito pelos tokens efetivos; o restante valor reservado é libertado.

Uma chave — três formatos

O formato é determinado pelo caminho do pedido, e não pelo modelo. Pode chamar o mesmo modelo Claude através de OpenAI Chat, OpenAI Responses ou Anthropic Messages — a resposta terá o formato do caminho utilizado.

FormatoCaminhoQuem o utiliza
OpenAI Chat Completions/v1/chat/completionsOpenAI SDK, a maioria dos chats e editores, n8n, LangChain
OpenAI Responses/v1/responsesCodex CLI, OpenAI Agents SDK, versões recentes dos SDK
Anthropic Messages/v1/messagesClaude Code, Anthropic SDK, Zed, Cline
Gemini/v1beta/models/{model}:generateContentGemini CLI, Google GenAI SDK

Dinheiro: reserva e um único débito

  • Antes de enviar um novo pedido de texto, o Ailoot reserva o custo estimado da entrada e de uma resposta típica, tendo em conta o limite (max_tokens) e as condições do modelo em concreto. Se a reserva não couber no saldo disponível ou no limite da chave, o limite enviado só pode ser reduzido se o modelo e o método efetivamente o respeitarem, sem nunca ficar abaixo de 256 tokens nem do mínimo de resposta definido. Para imagens, vídeo e áudio gerados, mantém-se a reserva integral do custo do resultado.
  • Após a resposta — um único débito pelo consumo efetivo. A reserva não utilizada é devolvida imediatamente ao saldo.
  • Se a resposta custar mais do que a reserva, a diferença é retirada do saldo disponível. O saldo nunca fica negativo.
  • Se o dinheiro não chegar sequer para a reserva mínima, o pedido não é enviado: recebe um erro 402 claro, sem qualquer débito.
  • Um erro sem resultado não é cobrado.

Os detalhes e um exemplo de cálculo estão na página Reserva e débito.

Erros com Request ID

Cada resposta recebe um identificador de pedido: no cabeçalho X-Request-ID e no texto do erro. Os erros chegam em JSON no formato que chamou, pelo que os SDK os reconhecem corretamente. Se algo correr mal, envie o Request ID ao suporte — assim, encontramos o pedido num minuto.

401 Unauthorized
{
  "code": "API_KEY_REQUIRED",
  "error": {
    "code": "invalid_api_key",
    "message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
    "param": null,
    "reason": "invalid_api_key",
    "request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
    "type": "invalid_request_error"
  },
  "message": "No API key was sent with the request. Nothing was charged. …"
}

Fluxo e tempos limite

As respostas em fluxo (stream: true) são transmitidas como Server-Sent Events. O Ailoot entrega a resposta de texto paga após o cálculo do custo. Por isso, com stream: true o formato continua a ser em fluxo (SSE), mas o texto chega num único bloco quando o modelo termina, e não palavra a palavra. Se a resposta demorar mais de cerca de 15 segundos, os fluxos Chat Completions, Responses e Messages começam por linhas de serviço : ping (aproximadamente a cada 10 segundos), seguidas da linha : ailoot-charged-usd … com o valor debitado e dos dados propriamente ditos. Os SDK ignoram essas linhas.

No formato Gemini, não existem linhas de serviço: a resposta :streamGenerateContent chega integralmente após o cálculo. Defina uma margem no tempo limite do cliente para modelos de raciocínio: vários minutos é normal.

Cabeçalhos da resposta

X-Request-ID é incluído em todas as respostas. O Ailoot acrescenta os restantes cabeçalhos às respostas de texto pagas:

CabeçalhoConteúdo
X-Request-IDIdentificador do pedido — é solicitado pelo suporte
X-Ailoot-Charged-USDValor debitado por este pedido, em dólares
X-Ailoot-Output-TokensNúmero de tokens de resposta cobrados
X-Ailoot-Max-Tokens-CappedLimite ao qual a resposta foi reduzida porque o saldo não chegava para a reserva total
X-Ailoot-Notice-Code, X-Ailoot-NoticeExplicação se a resposta parar no limite de comprimento

Se o fluxo já tiver começado com linhas de serviço, estes dados chegam numa linha de comentário antes dos dados, em vez de num cabeçalho.

Cache de prompts

Se o modelo suportar cache, reenviar um prefixo longo (instrução de sistema, documentos) pode ser mais barato. Os preços de leitura e escrita da cache estão na ficha do modelo no catálogo. A ocorrência de um acerto na cache depende do programador do modelo; o Ailoot não o garante.

Ainda tem dúvidas? Envie o Request ID e uma descrição — ajudamos a esclarecer.Contactar o suporte