Início → Blog → Preço da transcrição: pelo que você realmente paga
Preço da transcrição: pelo que você realmente paga
O preço da transcrição parece simples — uma tarifa por minuto — e então a primeira fatura não bate com a estimativa. A diferença quase nunca está na tarifa. Está nos minutos que você não percebeu que estava enviando: silêncio, duplicatas, reenvios e gravações que ninguém jamais leu.
A unidade é o minuto de áudio, não a palavra
Comece por aqui, porque isso explica quase todas as surpresas. Você é cobrado pela duração do áudio que envia, não pela quantidade de texto que volta.
Consequências que vale internalizar:
- Um minuto de silêncio custa o mesmo que um minuto de fala densa.
- Uma gravação em que ninguém falou custa a duração inteira, mesmo com resposta vazia.
- Dez segundos de fala dentro de um arquivo de cinco minutos custam cinco minutos.
- Falar mais rápido não sai mais barato. Cortar o arquivo, sim.
Quase toda otimização abaixo é uma variação da mesma ideia: envie menos áudio, não menos fala.
De onde vêm os minutos inesperados
| Origem | Desperdício típico | Correção |
|---|---|---|
| Silêncio no início e no fim das gravações de chamadas | 10–30% | Cortar com ffmpeg antes de enviar |
| Música de espera e menus de URA | 5–20% | Remover o trecho anterior ao atendimento |
| O mesmo arquivo enviado duas vezes após uma queda | até 100% | Pipeline idempotente, pular arquivos prontos |
| Testes esquecidos no código de produção | varia | Chave separada, acompanhar na área do cliente |
| Gravações que ninguém abre | quase sempre a maioria | Transcrever sob demanda, não tudo |
A última linha costuma ser a maior e a menos técnica. Times transcrevem um acervo inteiro porque é fácil, e depois usam dois por cento dele.
Estimando o seu próprio gasto
Não extrapole a partir de uma página de preços — meça o seu áudio. O cálculo inteiro são dois números:
ffprobe -v error -show_entries format=duration -of csv=p=0 amostra.mp3
import pathlib, subprocess
def minutos(p):
out = subprocess.run(["ffprobe", "-v", "error", "-show_entries",
"format=duration", "-of", "csv=p=0", str(p)],
capture_output=True, text=True).stdout
return float(out) / 60
mes = sum(minutos(p) for p in pathlib.Path("gravacoes").glob("*.mp3"))
print(f"{mes:.0f} min por mês")
Multiplique pela sua tarifa e você tem o valor mensal. Âncoras que se sustentam na prática: uma linha de suporte com 200 chamadas por dia de quatro minutos dá cerca de 16 000 minutos por mês; um podcast semanal, umas quatro horas; um time de dez pessoas em reuniões diárias de meia hora, algo em torno de 600 minutos.
Pacote mais excedente, e por que isso existe
A maioria dos planos combina uma mensalidade que inclui um pacote de minutos com uma tarifa por minuto acima dele. Vale fazer a conta uma vez:
fatura = mensalidade + max(0, minutos_usados - minutos_incluidos) * tarifa
Dois jeitos de errar. Comprar um pacote muito acima do seu volume significa pagar por minutos que você nunca usa — o que está incluído não acumula para o mês seguinte. Ficar no puro pagamento por minuto em volume alto significa abrir mão do desconto que o pacote representa. Olhe três meses de uso real antes de decidir.
Um limite rígido no pacote é um recurso de segurança, não uma restrição: ele impede que um laço descontrolado gere uma fatura que ninguém aprovou. Deixe-o ligado enquanto você ainda está desenvolvendo.
API ou GPU própria
A comparação honesta não é «tarifa por minuto contra zero». Hospedar por conta própria move o custo de uma linha da fatura para um conjunto de coisas fáceis de esquecer:
| Custo | API | GPU própria |
|---|---|---|
| Por minuto de áudio | tarifa | 0 |
| Hardware | 0 | placa e máquina, amortizados |
| Energia e hospedagem | 0 | contínuos, ociosa ou não |
| Instalação e manutenção | 0 | tempo de engenharia, sempre |
| Tempo ocioso | grátis | preço cheio |
O ponto de equilíbrio é sobre utilização, não sobre volume. Uma GPU que roda poucas horas por dia perde para uma API, porque você paga também pelas vinte horas ociosas. Uma GPU saturada o dia inteiro ganha. No meio-termo, o fator decisivo costuma ser se você quer ser responsável por uma máquina às três da manhã.
Há ainda um terceiro motivo que nada tem a ver com dinheiro: alguns dados não podem sair do seu perímetro. Isso é um requisito, não uma otimização, e resolve a questão sozinho.
Como cortar a fatura sem perder qualidade
- Corte o silêncio. A mudança mais barata em gravações de chamadas — muitas vezes 10 a 30% a menos, sem impacto nenhum na qualidade.
- Não transcreva o que ninguém lê. Transcreva sob demanda, ou só chamadas acima de uma duração mínima, e observe o que as pessoas realmente abrem.
- Torne o pipeline idempotente. Repetir trabalho já concluído depois de uma queda é desperdício puro; pular arquivos prontos elimina isso.
- Use uma chave separada para desenvolvimento. Tráfego de teste misturado aos números de produção esconde os dois problemas.
- Confira o uso toda semana, não todo mês. Um laço que reenvia o mesmo arquivo é óbvio no primeiro dia e caro no trigésimo.
# corta o silêncio das duas pontas
ffmpeg -i chamada.mp3 -af silenceremove=start_periods=1:start_threshold=-45dB:stop_periods=-1:stop_threshold=-45dB:stop_duration=2 curto.mp3
Teste com as suas próprias gravações. O cadastro leva um minuto e os minutos gratuitos bastam para avaliar a qualidade.
Obter uma chave de API grátisPerguntas frequentes
A cobrança é por minuto de áudio ou por palavra de texto?
Por minuto do áudio que você envia. O tamanho do texto resultante não muda nada, e é por isso que silêncio e música de espera custam exatamente o mesmo que fala.
Pago por uma gravação que estava em silêncio?
Sim — o áudio foi processado do mesmo jeito, ainda que a resposta seja vazia. Cortar o silêncio antes de enviar é a correção direta.
Requisições que falham são cobradas?
Uma requisição que retorna erro não consome minutos de áudio. O que custa dinheiro é repetir uma transcrição bem-sucedida, e por isso um pipeline retomável importa.
Rodar o Whisper na minha própria GPU sai mais barato?
Só com alta utilização. Uma placa ociosa a maior parte do dia perde para a cobrança por minuto assim que você soma hardware, energia e manutenção. Carga ininterrupta é onde hospedar por conta própria vence.
Como evitar uma fatura inesperada?
Estime o volume com ffprobe antes do primeiro lote, mantenha o limite rígido do pacote ligado durante o desenvolvimento e confira os números de uso na área do cliente semanalmente, em vez de no fim do mês.
Leitura relacionada
- Como montar um pipeline de transcrição para um acervo de áudio — Transcrever milhares de gravações sem perder nenhuma: fila de trabalho, concorrência, novas tentativas, retomada após uma queda e controle do valor da fatura.
- Como migrar da API Whisper da OpenAI para outro serviço — Guia de migração a partir do Whisper da OpenAI: o que muda no código, o que se mantém igual, como comparar a qualidade e como não quebrar uma integração em produção.
- Como transcrever a gravação de uma chamada — Guia passo a passo para transformar a gravação de uma ligação em texto pela API em poucos minutos. Com exemplos em Python e C# e a lista de erros mais comuns.