Otimização de custosAnálise
Quantos tokens uma requisição de API usa? Medido em 3 tarefas
Números reais de uso do DeepSeek-V4-Flash: uma pergunta curta, um resumo de parágrafo e e-mail para JSON, com o custo de 1.000 requisições e um script para seus próprios prompts.

Nesta página
Pergunte quanto custa uma requisição a uma API de IA e você normalmente vai ouvir "depende". Depende, mas você não consegue planejar um orçamento com base nisso. Então pegamos três tarefas do dia a dia, enviamos para o DeepSeek-V4-Flash pela API da CheapTokens em 23 de outubro de 2026 e anotamos o que o campo usage dizia a cada vez.
A versão curta: uma pergunta rápida deu 110 tokens, um resumo de parágrafo deu 396, e transformar um e-mail em JSON deu 299. Abaixo está como cada requisição ficou, o que voltou e quanto custa.
Uma pergunta rápida#
Começamos com algo que as pessoas perguntam a assistentes de chat o tempo todo: a diferença entre git merge e git rebase, em duas ou três frases.

A pergunta consumiu 23 tokens, a resposta 87. Essa é a primeira coisa que vale notar: a resposta é quase quatro vezes mais longa que a pergunta, e a saída é o lado que custa mais, no MiniMax-M2.7 agora é $0.15 por 1M de tokens de saída contra $0.05 de entrada. Com esses preços, uma requisição como essa custa $0.000014. Mil delas, $0.0142.
Aqui está essa requisição exata, caso você queira ver os números na sua própria tela:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "user", "content": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
],
"max_tokens": 2048,
"temperature": 0.2
}'As contagens ficam no bloco usage no final da resposta: prompt_tokens é o que você enviou, completion_ é o que o modelo escreveu, total_tokens é os dois juntos.
Um resumo, e os tokens que você não lê#
Segunda tarefa: reduzir um relatório de incidente curto a duas frases. Equipes rodam esse tipo de coisa por um modelo o dia inteiro: tickets, relatórios, threads de e-mail longas. Aqui está o prompt:
Summarize this incident report in two sentences.
On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.E a resposta:
Na terça-feira, uma mudança de configuração que reduziu o pool de conexões do banco de dados de 50 para 5 causou erros na API de checkout em cerca de 6% das requisições durante o pico da tarde, até ser revertida às 14:44. Para evitar recorrência, o tamanho do pool agora é validado no CI e um alerta é disparado quando os tempos de espera por conexão ultrapassam os limites.
Duas frases, 331 caracteres e 146 tokens de saída. Pareceu muito para tão pouco texto, e a resposta explicou por quê: usage tinha mais um campo, reasoning_. Antes de responder, o modelo gastou 76 tokens pensando. Eles fazem parte dos 146 (250 de entrada + 146 de saída = 396 no total), então cerca de metade da saída foi para raciocínio que não faz parte do texto da resposta, e é cobrado como qualquer outro token de saída.
Bom saber ao planejar um orçamento: em tarefas em que o modelo para para pensar, a saída pode ser bem maior que o texto que você recebe. Mil resumos como esse custam $0.0344.
Um e-mail entra, JSON limpo sai#
Terceira tarefa: uma confirmação de pedido que precisa virar um registro de banco de dados.

O modelo retornou exatamente as chaves que pedimos e nada em volta delas, nenhum "Aqui está seu JSON". O total bate com o e-mail, e a data de entrega voltou como 2026-11-03, já no formato que pedimos. 199 tokens de entrada, 100 de saída.
O que chama atenção é a densidade: 100 tokens para 276 caracteres de JSON, enquanto a resposta sobre git consumiu 87 tokens para 421 caracteres de texto simples. Aspas, chaves e vírgulas também são tokens, então saída estruturada custa mais por caractere que prosa. Mil e-mails como esse: $0.025.
As três lado a lado#
Role a tabela para a direita →
| Tarefa | Tokens de entrada | Tokens de saída | 1.000 requisições |
|---|---|---|---|
| Pergunta rápida | 23 | 87 | $0.0142 |
| Resumo | 250 | 146 | $0.0344 |
| E-mail para JSON | 199 | 100 | $0.025 |
Os custos são calculados a partir dessas contagens de tokens com o preço atual do MiniMax-M2.7, então continuam corretos quando os preços mudam.
A saída vence em todas as tarefas, até no resumo, em que enviamos mais do que recebemos de volta. Então a alavanca mais fácil na sua conta é o tamanho da resposta: "em duas ou três frases" ou "retorne apenas JSON" fazem trabalho de verdade.
Para dar escala: um bot de suporte que responde 2.000 perguntas rápidas por dia, cada uma como a primeira, gasta cerca de $0.852 por mês no MiniMax-M2.7. Um chat real reenvia seu histórico a cada turno, então a entrada cresce a cada mensagem, mas para perguntas avulsas essa é a conta inteira.
Teste com seus próprios prompts#
Seus prompts vão dar números diferentes, e leva um minuto para descobrir. Este script envia cada prompt, ignora respostas que foram cortadas e imprime os tokens e o custo de 1.000 requisições:
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.cheaptokens.dev/v1", api_key=os.environ["CHEAPTOKENS_API_KEY"])
MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00 # USD per 1M tokens: example values, use the current ones from the price list
PROMPTS = [
"What is the difference between git merge and git rebase? Answer in two or three sentences.",
# add your own prompts here
]
for prompt in PROMPTS:
r = client.chat.completions.create(
model=MODEL,
messages=[{"role": "user", "content": prompt}],
max_tokens=2048,
temperature=0.2,
)
if r.choices[0].finish_reason != "stop":
print("cut off at max_tokens, raise the limit:", prompt[:40])
continue
tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")Coloque os preços atuais em PRICE_IN e PRICE_OUT: para o MiniMax-M2.7 são $0.05 por 1M de tokens de entrada e $0.15 por 1M de tokens de saída. O primeiro prompt é o do nosso teste; as contagens de tokens variam um pouco entre modelos, então espere números na mesma faixa de 23 de entrada e 87 de saída. Você vai precisar do pacote openai (pip install openai) e da sua chave em CHEAPTOKENS_.
Se algum número parecer estranho: finish_ significa que a resposta atingiu max_tokens (por que as respostas param no meio da frase); um reasoning_tokens grande explica uma saída maior que o texto; e a fórmula completa dos preços de entrada e saída está em tokens de entrada vs saída.
Por onde começar#
No total, com entrada e saída contadas juntas, o MiniMax-M2.7 na CheapTokens é mais barato que o preço de referência do OpenRouter para as três tarefas acima. Ele tem contexto de 180K, respostas de até 8.192 tokens e um preço único a qualquer hora. Recarregue seu saldo, crie uma chave e envie a requisição curl do topo desta página: a documentação cobre a chave e a URL base, a página do DeepSeek tem o catálogo de modelos, e preços tem a lista de preços atualizada.



