Como o Hermes Agent transcreve áudios do WhatsApp e responde sozinho — passo a passo técnico
O Hermes Agent processa áudios do WhatsApp integrando três camadas: a Evolution API capta a mensagem de voz e entrega o arquivo de áudio, o Whisper da OpenAI transcreve para texto em menos de 2 segundos, e um LLM (GPT-4o mini ou similar) interpreta o contexto e gera a resposta — tudo executado em fluxo automatizado via n8n ou servidor dedicado.
TL;DR: Evolution API → Whisper (transcrição) → LLM (resposta contextual) → Evolution API envia resposta. Latência típica: 3 a 5 segundos do áudio recebido até a resposta entregue.
Empresas que recebem centenas de áudios por dia enfrentam um gargalo operacional: cada mensagem de voz exige atenção humana imediata ou fica sem resposta por horas. A transcrição manual consome tempo; a automação via chatbot tradicional ignora áudios por completo.
A arquitetura do Hermes Agent resolve ambos os problemas tratando áudio como cidadão de primeira classe no pipeline de automação.
Como funciona a captura do áudio pelo Evolution API?
A Evolution API monitora conversas via WebSocket e dispara um webhook sempre que um cliente envia mensagem de voz. O payload do webhook inclui a URL do arquivo de mídia (formato .ogg ou .opus, dependendo da versão do WhatsApp) e metadados da conversa — número do remetente, timestamp, ID da mensagem.
O fluxo de captura:
- Cliente envia áudio pelo WhatsApp
- Evolution API detecta o evento
messages.upsertcommessageType: audioMessage - Webhook POST é disparado para o endpoint configurado (geralmente um workflow n8n ou API do Hermes)
- Servidor baixa o arquivo de áudio via URL temporária fornecida pela Evolution
Detalhe técnico importante: a URL do áudio expira em 5 minutos. O download precisa ocorrer imediatamente após o webhook, caso contrário o pipeline falha e a mensagem fica sem resposta.
Quem opera VPS para n8n já tem Evolution API pré-instalada com Traefik configurado — basta apontar o webhook para o workflow de transcrição.
Como o Whisper transcreve o áudio em texto?
Após o download, o arquivo de áudio é enviado para a API Whisper da OpenAI (endpoint /v1/audio/transcriptions). O modelo aceita formatos .ogg, .opus, .mp3, .wav e .m4a diretamente — não é necessário converter.
Requisição típica via curl:
curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "file=@audio.ogg" \
-F "model=whisper-1" \
-F "language=pt"
Parâmetros relevantes:
model: semprewhisper-1(único modelo disponível na API)language: forçarptreduz latência em ~20% e melhora precisão com sotaques regionais brasileirosresponse_format:json(padrão) outext— JSON traz timestamps opcionais, útil para análise posterior
A transcrição retorna em 1 a 3 segundos para áudios de até 2 minutos. Áudios mais longos são segmentados automaticamente pelo Whisper.
Trade-off de custo: Whisper cobra US$0,006 por minuto de áudio. Um atendimento que recebe 500 áudios/dia (média 30s cada) consome ~US$1,50/dia em transcrição. Para self-hosting, rodar Whisper localmente em servidor GPU elimina esse custo recorrente, mas exige GPU com no mínimo 8 GB VRAM (RTX 3060 ou A4000) e manutenção de modelo.
Como o Hermes processa o texto transcrito e gera a resposta?
Com o texto transcrito em mãos, o Hermes Agent envia prompt estruturado para o LLM configurado (GPT-4o mini por padrão, mas compatível com Llama 3.1, Claude ou qualquer modelo via API OpenAI-compatible).
Estrutura do prompt enviado ao LLM:
Contexto: você é assistente da empresa XYZ no WhatsApp.
Histórico das últimas 5 mensagens: [...]
Cliente acabou de enviar áudio transcrito: "oi queria saber se vocês têm disponibilidade pra entrega amanhã"
Responda de forma objetiva e amigável.
O LLM retorna resposta em texto, que é enviada de volta via Evolution API para o número do cliente — fechando o loop em 3 a 5 segundos desde o áudio original.
Configuração de contexto: o Hermes mantém histórico de conversa em memória (Redis ou Supabase, dependendo da instalação). Cada resposta considera as últimas 5 a 10 interações, permitindo diálogos coerentes mesmo quando o cliente alterna entre texto e áudio.
Empresas que operam agente de IA no WhatsApp gerenciado pela Rollin Host já têm esse pipeline completo provisionado — incluindo fallback para atendente humano quando o LLM detecta intenção fora do escopo.
Quais componentes de infraestrutura são necessários?
A stack mínima para rodar Hermes Agent com transcrição envolve:
| Componente | Função | Requisito mínimo |
|---|---|---|
| Evolution API | Captura e envio de mensagens WhatsApp | 1 vCPU, 2 GB RAM |
| n8n ou orquestrador | Fluxo webhook → transcrição → LLM → resposta | 2 vCPU, 4 GB RAM |
| Whisper API (OpenAI) | Transcrição de áudio | Apenas chave API, sem infra local |
| LLM API | Geração de resposta contextual | Chave OpenAI ou servidor para LLMs self-hosted |
| Redis ou Supabase | Armazenamento de contexto/histórico | 512 MB RAM ou instância gerenciada |
Opção self-hosted completa: rodar Whisper localmente (em GPU) + Llama 3.1 8B (via Ollama) elimina dependência de APIs externas e custo por requisição. Exige servidor para IA com no mínimo 16 GB RAM + GPU 8 GB VRAM. Latência de transcrição sobe para 5 a 8 segundos, mas custo marginal por áudio cai a zero.
Opção híbrida (recomendada para PMEs): Evolution + n8n em VPS (Frankfurt ou US-East), Whisper via API OpenAI, LLM via GPT-4o mini. Provisionamento em ~15 minutos, custo previsível, latência baixa (datacenters Ashburn e Frankfurt mantêm RTT < 80 ms para APIs dos EUA).
Passo a passo técnico: montando o fluxo completo
1. Provisionar Evolution API e n8n
Usar VPS para n8n Start (R$ 89/mês) já entrega Evolution API + n8n + Traefik pré-configurados. Alternativa manual:
docker run -d --name evolution-api \
-p 8080:8080 \
-e AUTHENTICATION_API_KEY=sua-chave-secreta \
atendai/evolution-api:latest
2. Criar instância do WhatsApp via QR Code
POST para /instance/create retorna QR code. Escanear com WhatsApp vincula o número à Evolution API.
3. Configurar webhook para captura de áudio
No painel da Evolution, setar webhook URL apontando para workflow n8n:
{
"webhook": {
"url": "https://seu-n8n.dominio.com/webhook/audio-whatsapp",
"events": ["messages.upsert"]
}
}
4. Montar workflow n8n
Nós do fluxo:
- Webhook trigger — recebe POST da Evolution com dados do áudio
- HTTP Request — baixa arquivo de áudio via URL temporária
- HTTP Request (Whisper) — envia áudio para OpenAI
/v1/audio/transcriptions - Code (opcional) — limpa/formata transcrição
- HTTP Request (LLM) — envia prompt + transcrição para GPT-4o mini
- HTTP Request (Evolution) — POST
/message/sendTextcom resposta gerada
Trecho de código para envio ao Whisper (nó Code do n8n):
const formData = new FormData();
formData.append('file', items[0].binary.data, 'audio.ogg');
formData.append('model', 'whisper-1');
formData.append('language', 'pt');
return await $http.request({
method: 'POST',
url: 'https://api.openai.com/v1/audio/transcriptions',
headers: {
'Authorization': `Bearer ${$env.OPENAI_API_KEY}`
},
body: formData
});
5. Testar com áudio real
Enviar mensagem de voz para o número vinculado. Latência esperada: 3 a 5 segundos até receber resposta.
6. Configurar fallback humano
Adicionar condição no workflow: se o LLM retornar [TRANSFERIR_ATENDENTE] ou confiança < 70%, enviar notificação para operador via Chatwoot ou Telegram.
Principais aprendizados
- Evolution API expira URLs de áudio em 5 minutos — o download precisa ser imediato após o webhook.
- Forçar idioma
ptno Whisper reduz latência em 15 a 20% e melhora precisão com sotaques brasileiros. - Self-hosting de Whisper exige GPU com no mínimo 8 GB VRAM — economiza custo recorrente mas aumenta latência para 5 a 8 segundos.
- Manter histórico de conversa em Redis ou Supabase permite respostas contextuais mesmo quando cliente alterna texto e áudio.
- LLM via API (GPT-4o mini) custa ~US$0,15 por 1.000 mensagens — previsível para PMEs; self-hosting via Llama 3.1 elimina custo mas exige 16 GB RAM.
Perguntas frequentes
Como reduzir latência da transcrição abaixo de 2 segundos?
Rodar Whisper localmente em GPU RTX 3060 ou superior, com modelo tiny ou base (precisão ~90% vs 95% do large). A API OpenAI já usa otimizações internas; ganho marginal migrando para self-hosted é < 500 ms.
Whisper transcreve áudios em outros idiomas além de português?
Sim, suporta 99 idiomas automaticamente. Especificar language=pt melhora precisão e velocidade, mas o modelo detecta idioma sozinho se o parâmetro for omitido.
É possível transcrever áudio sem enviar para API externa?
Sim. Instalar Whisper via Ollama ou container Docker em servidor para IA com GPU elimina dependência de OpenAI. Custo inicial maior (GPU + infra), custo marginal zero por áudio.
Qual o custo real de processar 10.000 áudios por mês?
Whisper: 10.000 áudios × 30s × US$0,006/min = US$30. LLM (GPT-4o mini): 10.000 respostas × US$0,00015 = US$1,50. Total ~US$31,50/mês em APIs + custo de VPS (R$89 a R$229 dependendo do volume).
O Hermes Agent funciona com API oficial do WhatsApp (Meta)?
Sim, mas a API oficial da Meta não entrega arquivos de áudio diretamente via webhook — é necessário baixar via endpoint /media/{media-id} com token de acesso. A Evolution API simplifica esse fluxo abstraindo a diferença entre API oficial e não-oficial.
Como garantir que respostas automáticas não pareçam robóticas?
Configurar o prompt do LLM com exemplos de conversas reais da empresa (few-shot prompting) e incluir instruções de tom ("responda de forma amigável, use emoji ocasionalmente"). Revisão humana das primeiras 50 interações ajusta o comportamento rapidamente.
Pronto para rodar transcrição e resposta automática de áudios do WhatsApp? A Rollin Host oferece a versão gerenciada completa no plano Agente de IA no WhatsApp (R$ 299/mês) — Evolution API, transcrição via Whisper, LLM GPT-4o mini, até 3.000 mensagens/mês e suporte 24/7 em português. Provisionamento em 24h, sem necessidade de configurar infraestrutura. Entre em contato pelo WhatsApp ou abra chamado no painel para ativar.