Quanto custa usar a API de um LLM no seu bot ou app

A API de um LLM cobra por tokens de entrada e de saída, em dólar por milhão. Num exemplo com mil mensagens por dia e preços hipotéticos, o gasto vai de US$ 21 a US$ 420 por mês, conforme o modelo.

Atualizado em 7 min de leitura

Objetivos de aprendizado

Depois de ler este artigo, você vai conseguir:

  • Entender como a cobrança por token funciona e por que a saída custa mais
  • Estimar o gasto mensal de um bot ou app com uma conta passo a passo
  • Reduzir o custo com cache de prompt, batch e modelos menores
Nesta página

A API de um modelo de linguagem não tem mensalidade fixa. A fatura acompanha o uso, e o uso acompanha o número de usuários: um bot que começa pequeno e viraliza pode multiplicar o gasto de um mês para o outro. Por isso vale fazer a conta antes de publicar.

Os números deste artigo são hipotéticos, escolhidos para facilitar a conta, em dólar americano por milhão de tokens. Não são preços de nenhum provedor; os valores reais ficam nas páginas oficiais de preços.

entradasaídaTokenscada token de saídacusta maisCustoPrompt de sistemaHistóricoPerguntaResposta (saída)
A saída é a menor parte dos tokens, mas pesa mais na conta: cada token de saída custa mais que um de entrada.

Como a API de um LLM cobra?#

A cobrança é por token, um pedaço de texto com cerca de quatro caracteres em inglês, em média (em português, cada token costuma cobrir um pouco menos de texto). Cada chamada tem dois contadores:

  • Entrada (input): tudo que você envia: prompt de sistema, histórico da conversa e a pergunta nova.
  • Saída (output): o texto que o modelo gera.

A saída custa mais por token. Nas tabelas dos principais provedores, a saída costuma custar várias vezes o preço da entrada, e essa razão muda de um modelo para outro. Por isso respostas longas pesam mais na conta do que perguntas longas.

O custo de uma chamada é:

custo = (tokens_entrada × preço_entrada + tokens_saída × preço_saída) / 1.000.000

Um detalhe que muda a conta: a API não guarda estado. Para o bot "lembrar" da conversa, você reenvia o histórico a cada chamada, e esses tokens são cobrados de novo como entrada. Conversas longas ficam mais caras a cada mensagem.

Quanto custam os modelos?#

Cada provedor publica a própria tabela, e ela muda com frequência: veja as páginas de preços da Anthropic, da OpenAI e do Google. Para as contas deste artigo, usamos valores hipotéticos e redondos por faixa de modelo, em US$ por milhão de tokens:

Faixa do modelo (hipotético) Entrada Saída Entrada em cache
Pequeno A 0,20 1 0,02
Pequeno B, com saída mais cara 0,50 4 0,05
Intermediário 4 20 0,40
Grande 10 50 1

A distância entre o modelo pequeno e o intermediário costuma ser grande: no mesmo provedor, o intermediário pode custar dezenas de vezes o preço do pequeno. E o modelo mais caro não é o certo por padrão. Para responder FAQ ou classificar mensagens, o menor costuma bastar.

Compare também o custo por tarefa, não só o preço por milhão. Cada modelo usa o próprio tokenizador, e o mesmo texto pode virar mais ou menos tokens conforme o modelo, até entre gerações do mesmo provedor. Desconfie ainda de preços promocionais: alguns valem só até uma data e depois sobem. Confira a validade na tabela do provedor.

Como estimar o gasto mensal de um bot?#

Faça a conta com três números: mensagens por mês, tokens médios de entrada e tokens médios de saída. Exemplo hipotético: um bot do Discord com 1.000 mensagens por dia:

  • 30.000 chamadas por mês
  • 1.500 tokens de entrada por chamada (prompt de sistema, histórico curto e pergunta): 45 milhões por mês
  • 400 tokens de saída por chamada: 12 milhões por mês

O script abaixo faz a conta para qualquer modelo e roda em qualquer versão recente do Node.js:

js
// custo.mjs: node custo.mjs
const chamadasPorMes = 30_000;
const entrada = 1_500;
const saida = 400;

// US$ por milhão de tokens: valores hipotéticos, troque pelos preços atuais do provedor
const modelos = {
  "pequeno-a": { in: 0.2, out: 1 },
  "pequeno-b": { in: 0.5, out: 4 },
  "intermediario": { in: 4, out: 20 },
};

for (const [nome, p] of Object.entries(modelos)) {
  const usd =
    (chamadasPorMes * (entrada * p.in + saida * p.out)) / 1_000_000;
  console.log(`${nome}: US$ ${usd.toFixed(2)} por mês`);
}

Resultado:

Modelo Gasto por mês
Pequeno A US$ 21,00
Pequeno B US$ 70,50
Intermediário US$ 420,00

Só a troca de modelo leva a mesma carga de US$ 21 a US$ 420. Esses valores cobrem apenas o modelo, não a hospedagem do bot, e são cobrados em dólar: em reais, dependem do câmbio e das taxas do seu cartão.

Como reduzir o custo da API?#

Em ordem de retorno, da medida mais simples à mais trabalhosa:

  1. Escolha o menor modelo que resolve. Teste com 20 perguntas reais antes de subir de modelo.
  2. Limite a saída. Defina max_tokens e peça respostas curtas no prompt de sistema. A saída é a parte cara.
  3. Corte o histórico. Envie só as últimas 6 a 10 mensagens, ou resuma as antigas.
  4. Use cache de prompt. Se o início do prompt se repete (instruções longas, documentos fixos), o provedor cobra a leitura do cache a uma fração do preço. A leitura costuma custar uma fração pequena do preço da entrada, e a escrita no cache, um pouco mais que a entrada normal. Alguns provedores também cobram pelo tempo que o conteúdo fica guardado no cache. No exemplo hipotético do modelo intermediário, com a leitura do cache a US$ 0,40 por milhão (o valor da tabela), se 1.000 dos 1.500 tokens de entrada são um prefixo fixo e sempre lido do cache, a entrada cai de US$ 180 para US$ 72 e o total de US$ 420 para US$ 312 (sem contar as escritas no cache, que são raras).
  5. Use batch quando não houver pressa. Anthropic, OpenAI e Google têm APIs de batch que cobram menos que o preço padrão em troca de resposta assíncrona; o desconto aparece na página de preços. Serve para resumos noturnos e classificação em massa, não para chat.
  6. Ponha limites por usuário. Um tempo de espera de alguns segundos por usuário e um teto de mensagens por dia evitam que um único usuário abusivo queime o orçamento.

Quais custos escondidos aparecem?#

  • Reenvio do histórico: a conversa de 20 mensagens custa muito mais que 20 vezes a primeira.
  • Modelos com raciocínio: tokens de "pensamento" contam como saída. Defina um teto de raciocínio ou use o modo sem raciocínio quando a tarefa for simples.
  • Contexto longo: alguns modelos cobram mais por prompts acima de um limite de tamanho. Confira na tabela do provedor se o modelo escolhido tem uma faixa de preço para contexto longo.
  • Novas tentativas: um reenvio automático depois de um erro de rede pode cobrar a mesma chamada duas vezes. Limite o número de tentativas.
  • Prompt injection: um usuário mal-intencionado pode forçar respostas enormes. Veja o que é prompt injection e mantenha o limite de saída no código, não só no prompt.
  • Câmbio e impostos: a fatura vem em dólar. Reserve uma margem.

Como definir um teto de gasto?#

Combine três camadas. Primeiro, o limite de gastos mensal do painel do provedor, que corta a API quando o valor é atingido. Segundo, um contador no seu código: some os tokens que a resposta da API informa (usage) e bloqueie o usuário ou o servidor ao passar do limite diário. Por último, um alerta próprio: registre o gasto do dia e avise no canal de administração quando ele passar da metade do orçamento.

Para montar o bot em si, veja como criar um bot do Discord com IA. Para o custo de hospedar o processo, veja quanto custa hospedar um bot do Discord. Para a base do conceito, leia o que é um LLM.

Como fazer isso na Square Cloud#

As contas acima geram duas faturas: a do provedor do modelo, em dólar, e a da hospedagem do bot. Na Square Cloud você paga a hospedagem em reais, por Pix ou cartão, e, a partir do Standard, os tokens podem sair do próprio plano, dentro dos limites dele.

O bot roda num container sempre ligado. Uma aplicação em segundo plano usa no mínimo 256 MB do pool de RAM do plano, e o Hobby custa a partir de R$ 12,49 por mês, com 1 GB. O tráfego não é cobrado por banda nem por requisição, dentro da política de uso justo. A chave da API fica numa variável de ambiente da aplicação, fora do repositório, e a mudança vale no próximo restart.

Para a linha de tokens existe o AI Gateway, disponível a partir do Standard (R$ 44,99 por mês): uma API compatível com a da OpenAI que serve o modelo cubic. Se o seu código já usa o SDK da OpenAI, a troca é a base URL https://api.squarecloud.app/v2/ai, uma chave de API da conta com o escopo ai:chat e o modelo cubic. Ele aceita function calling no formato da OpenAI e faz busca na web quando a pergunta pede. Está em beta, com acesso antecipado sem custo extra, e os limites e a disponibilidade podem mudar quando o beta acabar.

No gateway, o que limita o uso não é o preço por milhão, e sim a cota diária. No Standard são até 2,5 milhões de tokens e até 1.000 requisições por dia, uma de cada vez, com contexto de até 16 mil tokens; no Pro, até 5 milhões de tokens e até 5.000 requisições por dia. O bot do exemplo, com 1.000 mensagens e cerca de 1,9 milhão de tokens por dia, encosta no teto de requisições do Standard; o Pro deixa folga. Mantenha o max_tokens e os limites por usuário deste artigo: eles passam a proteger a cota do dia em vez do cartão.

Veja os exemplos de código em AI Gateway e compare os planos em preços.

IA

Hospede apps com IA em containers sempre ligados

Saiba mais

Perguntas frequentes

Quanto custa mil mensagens por dia numa API de LLM?

Com 1.500 tokens de entrada e 400 de saída por mensagem, são 30 mil chamadas por mês. Com os preços hipotéticos do artigo, isso dá US$ 21 num modelo pequeno e US$ 420 num intermediário. Os preços reais ficam na página do provedor.

Por que os tokens de saída custam mais que os de entrada?

Nas tabelas dos principais provedores, a saída costuma custar várias vezes o preço da entrada. O modelo gera a resposta um token por vez, e isso custa mais que ler o prompt inteiro de uma vez.

Existe API de LLM sem custo para testar?

Alguns provedores oferecem uso de teste sem cobrança, com limites baixos. A página de preços de cada provedor mostra quais modelos entram nessa cota. Um bot com usuários reais costuma estourar esses limites e precisa do nível pago.

O cache de prompt reduz mesmo a conta?

Sim, quando o início do prompt se repete. Ler um prefixo do cache costuma custar uma fração pequena do preço da entrada normal. Compensa com prompts de sistema longos.

Dá para limitar o gasto de um bot público?

Dá. Limite o tamanho da resposta com max_tokens, crie um tempo de espera por usuário, corte o histórico enviado e use o limite de gastos do painel do provedor.

Próximo artigoComo hospedar o n8n (automação com IA)Hospedar o n8n é rodar o servidor dele num processo sempre ligado, com URL pública HTTPS, banco e chave de criptografia fixa. Veja o passo a passo.