Como transcrever áudio do WhatsApp automaticamente sem abrir o app
A transcrição automática de áudios do WhatsApp sem abrir o aplicativo é possível montando um pipeline técnico próprio: Evolution API captura a mensagem, Whisper converte fala em texto e n8n orquestra o fluxo — tudo rodando em VPS sob seu controle.
TL;DR: Evolution API recebe o webhook do áudio, envia para um endpoint Whisper (local ou cloud) e n8n devolve a transcrição direto na conversa. Infraestrutura auto-hospedada elimina dependência de SaaS e mantém os dados sob sua governança.
Por que transcrever áudios do WhatsApp fora do app?
Áudios consomem tempo: ouvir 2 minutos de mensagem em reunião ou trânsito interrompe o workflow. A transcrição automática entrega o conteúdo como texto instantaneamente, sem tocar no celular.
Controle da infraestrutura: SaaS de terceiros processa seus áudios em servidores que você não governa. Self-hosting mantém mensagens, embeddings e logs na sua stack — essencial para conformidade LGPD ou política interna de dados sensíveis.
Escalabilidade previsível: um VPS dedicado processa centenas de áudios/dia por custo fixo. APIs comerciais cobram por minuto transcrito; Whisper roda local com custo de compute marginal zero após o provisionamento.
A arquitetura típica: Evolution API (gateway não-oficial do WhatsApp) + OpenAI Whisper (modelo open-source de speech-to-text) + n8n (orquestrador low-code) rodando em VPS para n8n.
Como funciona o pipeline de transcrição automática?
O fluxo técnico segue quatro etapas assíncronas:
- Recepção do webhook: Evolution API detecta mensagem de áudio e dispara POST com URL do arquivo .ogg e metadados (remetente, timestamp, chat_id).
- Download e pré-processamento: n8n baixa o áudio, converte codec se necessário (ffmpeg) e encaminha para o endpoint Whisper.
- Inferência: Whisper processa o arquivo — modelo
baseleva ~2s para 1 min de áudio em CPU;smalloumediumdemandam mais RAM mas entregam maior acurácia em sotaques regionais. - Envio da resposta: n8n recebe o JSON com a transcrição e envia de volta via Evolution API, exibindo o texto na mesma conversa do WhatsApp.
Latência típica: 3 a 8 segundos end-to-end para áudios de até 2 minutos, dependendo do modelo Whisper e do hardware (vCPU/RAM).
Qual VPS escolher para rodar o stack completo?
A carga computacional varia conforme o modelo Whisper e o volume diário de áudios.
| Modelo Whisper | RAM mín. | vCPU mín. | Acurácia (WER)* | Latência (1 min áudio) |
|---|---|---|---|---|
| tiny | 1 GB | 1 core | ~10% erro | < 1s |
| base | 2 GB | 2 cores | ~7% erro | 2–3s |
| small | 4 GB | 2 cores | ~5% erro | 5–7s |
| medium | 8 GB | 4 cores | ~3% erro | 12–18s |
*Word Error Rate aproximado; varia com idioma e qualidade do áudio.
Recomendação mínima: VPS com 4 GB RAM, 2 vCPU (equivalente ao plano VPS Lite 20 ou VPS para n8n Pro). Para workloads > 100 áudios/dia ou multi-idioma, considere Servidor para IA com 8 GB+ e modelo medium.
Trade-off GPU vs CPU: Whisper roda em CPU pura, mas GPU reduz latência em 4–8×. Se precisar de respostas < 1s, um Servidor GPU com CUDA torna viável processar filas de dezenas de áudios simultâneos.
Passo a passo: montar o ambiente de transcrição
1. Provisionar o VPS e instalar dependências
Conecte via SSH e atualize o sistema:
apt update && apt upgrade -y
apt install -y docker.io docker-compose git ffmpeg curl
systemctl enable --now docker
ffmpeg é crítico: converte formatos de áudio incompatíveis (.ogg Opus → .wav PCM) antes de alimentar o Whisper.
2. Subir Evolution API em container
Clone o repositório oficial e configure:
git clone https://github.com/EvolutionAPI/evolution-api.git
cd evolution-api
cp .env.example .env
nano .env
Defina API_KEY, WEBHOOK_URL (apontando para o endpoint n8n) e DATABASE_ENABLED=true se quiser persistir sessões.
Inicie o stack:
docker-compose up -d
Acesse http://seu-ip:8080/manager e conecte o número via QR code. A sessão permanece ativa enquanto o container rodar — perda de conexão exige novo scan.
3. Deploy do Whisper (self-hosted ou API)
Opção A — container local (para controle total):
docker run -d --name whisper \
-p 9000:9000 \
-v whisper-models:/root/.cache/whisper \
onerahmet/openai-whisper-asr-webservice:latest
A imagem baixa os modelos sob demanda (1–3 GB cada). Teste com:
curl -F "audio_file=@teste.ogg" http://localhost:9000/asr?task=transcribe&language=pt
Opção B — API OpenAI (paga, sem self-host): chame https://api.openai.com/v1/audio/transcriptions com sua key. Custo ~$0,006/minuto transcrito — viável para < 500 min/mês; acima disso, self-host economiza.
4. Orquestrar com n8n
Instale n8n via Docker ou use o VPS para n8n com stack pré-configurada (n8n + Traefik + Evolution API prontos).
Crie o workflow:
- Webhook Trigger: escuta POST da Evolution API com payload do áudio.
- HTTP Request: baixa o arquivo .ogg do campo
message.audioMessage.url. - Execute Command:
ffmpeg -i audio.ogg -ar 16000 audio.wav(resample para 16 kHz, formato esperado pelo Whisper). - HTTP Request: POST multipart para
http://localhost:9000/asrcom o .wav. - Set Node: extrai campo
textdo JSON de resposta. - HTTP Request: envia mensagem de volta via Evolution API — endpoint
/message/sendTextcomchatIdetext.
Tratamento de erro: adicione nó IF verificando response.status !== 200 para reenviar ou logar falhas.
5. Configurar SSL e domínio (produção)
Evolution API e n8n exigem HTTPS para webhooks externos (Meta valida certificado). Use Traefik ou Nginx + Certbot:
apt install certbot python3-certbot-nginx -y
certbot --nginx -d evolution.seudominio.com.br -d n8n.seudominio.com.br
Atualize o WEBHOOK_URL no .env da Evolution para https://n8n.seudominio.com.br/webhook/audio.
Alternativa gerenciada: quando terceirizar a stack?
Montar e manter o pipeline demanda:
- Uptime: monitorar Evolution (reconectar sessão se cair), n8n (reiniciar workflows falhados) e Whisper (gerenciar cache de modelos).
- Segurança: firewall, rate limiting, rotação de API keys, backup de sessões WhatsApp.
- Escalabilidade: ajustar recursos conforme volume cresce; auto-scaling em Kubernetes adiciona camada de complexidade.
Custo oculto de manutenção: um sysadmin dedicado a troubleshooting e atualizações. Para times pequenos ou foco em produto (não em infra), o Agente de IA no WhatsApp gerenciado já inclui transcrição nativa via Whisper, integração Evolution e hospedagem 24/7 — stack pronta por custo fixo mensal.
Se o objetivo é validar o caso de uso antes de self-host completo, o gerenciado acelera o MVP. Depois, migre para VPS próprio quando o volume justificar o CAPEX de DevOps.
Quanto custa rodar a infraestrutura própria?
Breakdown mensal para processar ~1.500 áudios (empresa pequena, 50 áudios/dia útil):
| Recurso | Especificação | Custo mensal |
|---|---|---|
| VPS para n8n Pro | 4 GB RAM, 2 vCPU, 80 GB | R$ 119,90 |
| Domínio .com.br | Registro anual ÷ 12 | R$ 3,33 |
| SSL Let's Encrypt | Gratuito (renovação auto) | R$ 0 |
| Largura de banda | ~20 GB (áudios + respostas) | Incluído |
| Total | R$ 123,23 |
Comparação com SaaS: APIs de transcrição comerciais cobram $0,006–0,015/minuto. 1.500 áudios × 1,5 min médio × $0,01 = $22,50 (~R$ 112) só de transcrição — sem contar gateway WhatsApp (mais R$ 150–300/mês em soluções prontas).
Self-host dilui o custo: a partir de 100 áudios/dia, o VPS próprio já se paga. Acima de 500/dia, a economia é estrutural.
Principais aprendizados
- Pipeline técnico viável: Evolution API + Whisper + n8n entrega transcrição automática sem SaaS, com latência < 8s.
- Hardware adequado ao modelo: Whisper
baseroda confortável em 2 vCPU/4 GB;mediumexige 4 vCPU/8 GB para manter latência aceitável. - Conversão de codec obrigatória: WhatsApp envia .ogg Opus; Whisper espera .wav ou .mp3 PCM — ffmpeg no meio do pipeline resolve.
- Trade-off build vs buy: self-host economiza a partir de ~100 áudios/dia mas exige DevOps para uptime e segurança; gerenciado acelera validação.
- SSL não é opcional: Evolution API só recebe webhooks HTTPS em produção; Certbot + Nginx automatizam renovação.
Perguntas frequentes
Posso usar o Whisper da OpenAI em vez de self-host?
Sim. A API whisper-1 da OpenAI custa $0,006/minuto e dispensa gerenciar modelo/infra. Economicamente viável até ~500 min/mês; acima, self-host com modelo local sai mais barato.
Qual modelo Whisper tem melhor acurácia em português brasileiro?
O modelo medium oferece WER ~3% em pt-BR, identificando regionalismos e sotaques. base já é funcional (7% erro) e roda em VPS de 4 GB; medium exige 8 GB RAM para processar sem swap.
Evolution API cai se o WhatsApp bloquear o número?
Sim. Evolution usa protocolo não-oficial (similar ao WhatsApp Web); Meta pode desconectar a sessão. Backup da sessão (pasta instances/) permite reconectar; número comercial verificado reduz risco mas não elimina.
Como escalar para múltiplos números simultâneos?
Evolution suporta multi-instância: cada número vira um container isolado com banco próprio. n8n orquestra via chatId no webhook. VPS com 8 GB aguenta 3–5 sessões ativas; acima disso, considere cluster Kubernetes ou Servidor para LLMs com mais cores.
A transcrição funciona com áudios de grupos?
Sim. Evolution captura áudios de grupos e privados. Configure filtro no n8n (campo message.key.fromMe === false) para ignorar seus próprios áudios e processar só mensagens recebidas.
Preciso de GPU para rodar Whisper em produção?
Não é obrigatório — CPU pura funciona. GPU reduz latência (1–2s vs 5–8s no small), útil se processar > 200 áudios/dia ou exigir resposta quase instantânea. Servidor GPU com CUDA acelera inferência em 6–8×.
Quer transcrição automática sem montar a infra? O Agente de IA no WhatsApp já inclui Whisper integrado, Evolution gerenciado e uptime 24/7 — stack completa por custo fixo. Para dúvidas sobre o pipeline self-host ou escolher o VPS ideal, fale com o suporte técnico da Rollin Host.