"Gemini 2.5 Flash vs GPT-4o vs Claude Sonnet pra bot WhatsApp: comparação real"
Testei os três pra processar mensagens de WhatsApp no OverAir. Preços, multimodal, structured output e onde cada um quebra na vida real.
Toda discussão de "qual LLM é melhor" termina em benchmark de matemática olímpica ou em humans-eval de código. Nada disso importa quando seu problema é: uma senhora mandou um áudio de 38 segundos no WhatsApp falando que a sogra faz aniversário "naquele sábado, depois do casamento da Júlia" e seu bot precisa virar isso numa linha estruturada num banco.
Esse é o problema real do OverAir — o SaaS de memória digital que rodo via WhatsApp desde o início de 2026. Áudio entra, texto sai, evento agendado. Imagem de convite de festa entra, data e local saem. Tudo isso passa por uma chamada de LLM por mensagem.
Testei os três grandes pra esse caso: Gemini 2.5 Flash, GPT-4o e Claude Sonnet 4.5. Hoje rodo Gemini Flash em produção. Aqui está o porquê — com os números e os tradeoffs reais.
Os critérios que pesaram (e os que ignorei)
Os critérios típicos de "melhor LLM" (MMLU, GPQA, SWE-bench) não me interessaram. Pra um bot WhatsApp, o que importa é:
- Aceita áudio e imagem direto? Sem precisar de Whisper, sem precisar de Vision separado.
- Quanto custa por mensagem? Não por milhão de tokens — por mensagem real, com o tamanho médio que minha API recebe.
- Latência percebida: usuário do WhatsApp espera resposta em segundos, não em 15 segundos.
- Structured output confiável? Eu mando schema Zod, espero JSON limpo de volta — sem regex de emergência.
- Qualidade em PT-BR, especialmente extração de datas relativas, dias da semana, expressões coloquiais.
Pontos que ignorei: tamanho do context window (8K tokens já sobra), benchmarks de coding, capacidade de "raciocínio profundo". Bot WhatsApp não pensa filosoficamente — extrai e responde.
Preços em abril/2026
Olhei o tabelamento oficial de cada um. Numbers redondos pra simplificar:
| Modelo | Input ($/1M tokens) | Output ($/1M tokens) | Áudio input |
|---|---|---|---|
| Gemini 2.5 Flash | $0,30 | $2,50 | $1,00/1M (fonte) |
| GPT-4o | $2,50 | $10,00 | Whisper separado |
| Claude Sonnet 4.5 | $3,00 | $15,00 | Não suporta áudio |
A primeira coluna conta a história: Gemini Flash é ~8x mais barato no input e 4-6x mais barato no output que os outros dois. Pra uma operação onde cada mensagem custa centavos, essa diferença vira ordens de magnitude no mês.
Mas o detalhe que ninguém comenta: Claude Sonnet 4.5 nem aceita áudio nativo. Você precisa transcrever antes (Whisper, AssemblyAI, Deepgram), gerar texto, e só então mandar pro Claude. Cada etapa é mais custo, mais latência e mais ponto de falha. Pra um bot que recebe 60-70% das mensagens em formato de áudio (perfil típico de usuário brasileiro), isso é praticamente um desclassificador.
GPT-4o aceita áudio via Realtime API e via input multimodal, mas o preço sobe rápido — Whisper-1 separado custa $0,006/min, e o GPT-4o-Audio é uma faixa diferente de preço.
Multimodal nativo: o ganho que o preço esconde
Esse foi o ponto que decidiu o OverAir.
A documentação do Google deixa claro: o Gemini 2.5 é um modelo MoE (mixture-of-experts) com suporte multimodal nativo a texto, visão e áudio (Google AI Blog). Você manda o .ogg direto do WhatsApp (sim, o formato Opus que o WhatsApp comprime) numa mesma chamada que inclui o prompt, o schema esperado e o histórico da conversa.
Resultado: uma única chamada de API por mensagem. Não tem pipeline de "transcrever → entender → estruturar". Tudo acontece no mesmo round-trip.
Quando testei GPT-4o pro mesmo caso, o fluxo virou:
- Receber áudio do WhatsApp (Opus)
- Converter pra formato aceito (MP3 ou WAV — Whisper não come Opus direto bem)
- Mandar pro Whisper, esperar transcrição
- Mandar transcrição pro GPT-4o com schema
- Receber JSON estruturado
Cinco etapas vs uma. Cada uma com seu próprio modo de falha. E cada uma somando latência — quando bati o cronômetro num áudio típico de 20 segundos, o fluxo OpenAI ficou ~3.5x mais lento que a chamada única do Gemini.
Pra Claude foi pior — sem áudio nativo, virava o mesmo pipeline do GPT-4o, mas com modelo mais lento e mais caro no final.
Latência real: a métrica que importa
Latência é onde a teoria encontra a banda larga ruim.
A análise pública mais detalhada disso é do Artificial Analysis (fonte):
| Modelo | TTFT (time to first token) | Output speed |
|---|---|---|
| Gemini 2.5 Flash | ~0,62s | ~206 tokens/s |
| GPT-4o | ~0,49s | ~95 tokens/s |
| Claude Sonnet 4.5 | ~1,2s | ~85 tokens/s |
Pro caso do OverAir, com output curto (JSON estruturado de 200-400 tokens), a diferença prática:
- Gemini Flash: ~1.5s pra chamada completa (áudio + extração + resposta)
- GPT-4o: ~4-5s no pipeline completo (Whisper + GPT)
- Claude Sonnet: ~6-8s (Whisper + Sonnet, mais lento)
Da perspectiva do usuário do WhatsApp: 1.5s parece "rápido". 5s parece "carregando". 8s parece "travou". Esse delta sozinho mudou a percepção de qualidade do produto.
Structured output: onde Claude e Gemini ganham de OpenAI
O OverAir define schemas Zod pra cada tipo de mensagem (lembrete, evento, nota, lista). Esses schemas viram structured output na chamada da LLM.
Em 2026 todos os três suportam structured output sério (dev.to), mas a experiência prática é diferente:
- Gemini: passa o schema via
response_schemadireto. Funciona com Pydantic/Zod out-of-the-box. Property ordering é preservada desde o 2.5 (Google blog). - OpenAI: usa
.parse()com strict mode. Funciona bem, mas você precisa de Pydantic no Python ou da lib oficial do TS. Tem mais regras de quais campos podem ser opcionais. - Claude: faz via tool_use forçado. Funciona, mas é gambiarra elegante — você "ensina" um tool fake só pra extrair JSON. Não é structured output de primeira classe ainda.
Pro OverAir usei Zod schema direto no Gemini, sem hack nenhum. Zero parsing manual em produção. Zero retry por "JSON inválido" — em 9 meses de operação, não vi uma única resposta com JSON quebrado.
Qualidade em PT-BR: empate técnico, com nuances
Aqui eu esperava o Gemini perder. Achei que GPT-4o ia ser melhor em PT-BR porque OpenAI tem mais penetração no Brasil e parecia ter dados mais densos.
Não é o caso. Em testes reais com mensagens de WhatsApp brasileiras (incluindo gírias, abreviações, áudios com sotaque do interior), os três performaram igual em compreensão. A diferença está em expressões de tempo relativo:
- "Naquela quinta" → todos acertam quando tem contexto recente
- "Daqui a 15 dias" → todos acertam
- "Depois do casamento da Júlia" → todos erram se você não passar contexto explícito
- "Toda última sexta do mês" → Gemini Flash erra ~5% das vezes, gerando data isolada em vez de recorrência
Esse último é o tradeoff real. Pra agendamento recorrente complexo, Flash às vezes não captura a periodicidade. Pra eventos simples, é perfeito.
Solução prática no OverAir: detecto na pré-classificação se a mensagem tem padrão de recorrência ("toda", "todos", "sempre"), e nesses casos uso um prompt reforçado. Resolveu sem precisar trocar de modelo.
Quando Claude Sonnet ainda ganha
Não estou dizendo que Claude é ruim — ele é excelente pra raciocínio multi-step. Onde ele brilha:
- Análise de documentos longos (contratos, PDFs jurídicos)
- Tarefas onde a saída precisa de explicação razoada, não só extração
- Geração de código complexa
- Conversa longa onde o contexto importa muito
Nada disso é bot WhatsApp. Bot WhatsApp é "classifica + extrai + responde" em <1s. Sonnet é overkill caro pra esse perfil.
Se eu estivesse construindo um agente jurídico que analisa contratos via WhatsApp, Claude seria a escolha. Pra memória digital que agenda lembrete, é canhão pra matar mosca.
O que isso custa no fim do mês
Voltando ao post de custos: meu cálculo médio por mensagem no OverAir, usando Gemini 2.5 Flash:
- Input de áudio (30s médio) + prompt + schema: ~$0,006
- Output JSON estruturado: ~$0,001
- Total por mensagem: ~$0,007 = R$0,035
Se eu rodasse o mesmo pipeline em GPT-4o (com Whisper na frente):
- Whisper (30s áudio): $0,003
- GPT-4o input (~500 tokens): $0,00125
- GPT-4o output (~300 tokens): $0,003
- Total por mensagem: ~$0,0073 = R$0,036
OK, num caso isolado fica perto. A diferença explode quando o áudio é maior (mensagens longas no WhatsApp acontecem direto). Áudio de 2 minutos no Gemini Flash é uma chamada só, custa ~$0,025. No pipeline OpenAI são 2 chamadas, ~$0,04 + latência muito maior.
Claude Sonnet 4.5 com áudio? 3-5x mais caro pra mesma resposta final, porque o Sonnet em si custa 10x o input do Flash. Não fechei a conta porque desisti antes — pipeline ficava lento demais.
A regra prática que apliquei
Se eu estivesse abrindo um novo projeto agora, a árvore de decisão seria:
| Caso de uso | Modelo |
|---|---|
| Bot WhatsApp com áudio + extração estruturada | Gemini 2.5 Flash |
| Bot WhatsApp só texto, alta qualidade conversacional | GPT-4o ou Gemini Flash (empate) |
| Agente complexo com raciocínio profundo | Claude Sonnet 4.5 |
| Análise de documentos longos | Claude Sonnet 4.5 |
| Code generation em produção | Claude Sonnet 4.5 ou GPT-4o |
| Volume altíssimo, custo crítico | Gemini Flash-Lite ou Flash |
A regra geral: Gemini Flash é o default pra qualquer pipeline em produção que processa entrada multimodal de usuário final. Os outros entram quando o problema realmente exige raciocínio caro.
Conclusão (sem floreio)
Gemini 2.5 Flash não é "o melhor LLM do mercado". É o melhor LLM pro tipo de problema que bot WhatsApp resolve: classificar, extrair, estruturar, em multimodal nativo, com latência baixa e preço de tigela.
Pra raciocínio pesado, Claude ainda manda. Pra ecossistema OpenAI integrado (function calling, agents SDK, ChatGPT plugins), GPT-4o ainda faz sentido. Mas pra um bot que precisa entender um áudio mal-gravado de um WhatsApp lotado de marcadores, ouvir "naquele sábado, depois do casamento" e devolver uma data estruturada em <2s — Gemini Flash não tem competição em abril de 2026.
E o OverAir continua com 0 clientes pagantes. Mas roda lindo.
Próximo post
Quinta sai o pedra: "5 erros de R$10k+ que cometi construindo 2 SaaS — e como evitar". Inclui o erro 1, que foi exatamente isso aqui: começar com pipeline de 2-3 chamadas LLM por mensagem antes de descobrir que dava pra unificar tudo numa chamada só. Cortou custo em 60% e latência pela metade. Feed RSS pra não perder.
Fontes:
- Gemini API Pricing — Google AI for Developers
- Gemini 2.5 Flash — Artificial Analysis Benchmarks
- Gemini 2.5's native audio capabilities — Google Blog
- JSON Schema support in Gemini API — Google Blog
- OpenAI API Pricing — OpenAI
- Claude API Pricing — Anthropic
- LLM Structured Output in 2026 — DEV Community
- Structured Output Comparison across LLM providers — Medium
Quer um app assim pro seu negócio?
A Hens constrói apps Flutter, bots WhatsApp com IA e backoffices sob medida — com o mesmo rigor dos nossos produtos próprios. Do MVP ao app em produção. Primeira conversa é direta, sem formulário.
Falar no WhatsApp →