Skip to content

dotojr123/ai-whatsapp-automation

Repository files navigation

AI WhatsApp Voice Automation Banner

πŸŽ™οΈ AI WhatsApp Voice Automation

Transforme texto em Γ‘udio profissional com IA do Google Gemini

Funcionalidades - Demo - InstalaΓ§Γ£o - API - Casos de Uso

πŸš€ Sobre o Projeto

Sistema completo de Text-to-Speech (TTS) alimentado pela IA do Google Gemini 2.5, pronto para integraΓ§Γ£o com WhatsApp Business, n8n workflows e Evolution API.

Ideal para: βœ… Atendimento automatizado 24/7 com respostas em Γ‘udio βœ… NotificaΓ§Γ΅es por voz para clientes e equipes βœ… Marketing conversacional personalizado βœ… Acessibilidade para pessoas com deficiΓͺncia visual βœ… Cursos e treinamentos automatizados via WhatsApp

✨ Funcionalidades

  • 🎯 MΓΊltiplas vozes naturais em portuguΓͺs brasileiro e outros idiomas
  • ⚑ API REST completa pronta para integraΓ§Γ£o em qualquer sistema
  • πŸ”Œ 100% compatΓ­vel com n8n workflows
  • πŸ“± Interface web moderna para testes e geraΓ§Γ΅es rΓ‘pidas
  • πŸ’Ύ HistΓ³rico de geraΓ§Γ΅es com reproduΓ§Γ£o e download
  • 🎡 Áudio WAV de alta qualidade (24kHz, 16-bit, mono)
  • πŸ”’ Seguro e escalΓ‘vel para ambientes de produΓ§Γ£o

🎬 Demonstração

Interface Web

A aplicaΓ§Γ£o possui uma interface intuitiva para gerar Γ‘udios rapidamente:

Demo Interface screenshot real da interface aqui

Exemplo de Uso via API

# Gerar Γ‘udio a partir de texto
curl -X POST http://localhost:3001/api/generate \
  -H "Content-Type: application/json" \
  -d '{
    "text": "OlΓ‘! Seu pedido foi aprovado e estΓ‘ a caminho.",
    "voice": "Puck"
  }' \
  --output confirmacao.wav

# Reproduzir o Γ‘udio gerado
afplay confirmacao.wav  # macOS
# ou
aplay confirmacao.wav   # Linux

πŸ“¦ InstalaΓ§Γ£o

PrΓ©-requisitos

  • Node.js 18 ou superior
  • npm ou yarn
  • Conta no Google AI Studio com API Key do Gemini

Passo a Passo

# 1. Clone o repositΓ³rio
git clone https://github.com/dotojr123/ai-whatsapp-automation.git
cd ai-whatsapp-automation

# 2. Instale as dependΓͺncias
npm install

# 3. Configure as variΓ‘veis de ambiente
cp .env.example .env.local

# 4. Edite .env.local e adicione sua GEMINI_API_KEY
# GEMINI_API_KEY=sua_chave_aqui

# 5. Inicie o servidor backend
npm run server

# 6. Em outro terminal, inicie o frontend
npm run dev

Acesse:

πŸ”§ ConfiguraΓ§Γ£o

Obter API Key do Gemini

  1. Acesse Google AI Studio
  2. Clique em "Get API Key"
  3. Crie um novo projeto (se necessΓ‘rio)
  4. Copie a API Key gerada
  5. Adicione no arquivo .env.local:
GEMINI_API_KEY=AIza...sua_chave_completa_aqui

VariΓ‘veis de Ambiente

VariΓ‘vel ObrigatΓ³rio DescriΓ§Γ£o PadrΓ£o
GEMINI_API_KEY βœ… Sim API Key do Google Gemini -
NODE_ENV ❌ Não Ambiente de execução development
PORT ❌ Não Porta do servidor backend 3001
ALLOWED_ORIGINS ❌ Não Origens permitidas para CORS *

πŸ”Œ API

Endpoints DisponΓ­veis

POST /api/tts

Gera Γ‘udio a partir de texto.

Request:

{
  "text": "Texto para converter em Γ‘udio",
  "voice": "Puck"
}

Response:

  • Content-Type: audio/wav
  • Body: Binary WAV file

POST /api/generate

Endpoint compatΓ­vel com n8n (mesmo comportamento do /api/tts).

Request:

{
  "text": "Seu pedido #1234 foi enviado!",
  "voice": "Puck"
}

Response:

  • Content-Type: audio/wav
  • Body: Binary WAV file

GET /health

Verifica status do servidor.

Response:

{
  "status": "ok",
  "endpoints": ["/api/tts", "/api/generate"],
  "apiKeyLoaded": true
}

Vozes DisponΓ­veis

Nome da Voz Idioma DescriΓ§Γ£o
Puck pt-BR Voz masculina (padrΓ£o)
Charon pt-BR Voz masculina grave
Kore pt-BR Voz feminina
Fenrir pt-BR Voz masculina energΓ©tica
Aoede pt-BR Voz feminina suave

Consulte a documentaΓ§Γ£o do Gemini para lista completa

πŸ’‘ Casos de Uso Reais

1. Atendimento WhatsApp Automatizado

Cliente: "Qual status do meu pedido #1234?" Bot: πŸ”Š "Seu pedido 1234 foi enviado e chegarΓ‘ em 2 dias ΓΊteis!"

2. ConfirmaΓ§Γ£o de Agendamentos

Sistema: πŸ”Š "Lembrete: VocΓͺ tem consulta amanhΓ£ Γ s 14h. Confirme sua presenΓ§a."

3. NotificaΓ§Γ΅es de Pagamento

Sistema: πŸ”Š "Pagamento de R$ 150,00 confirmado! Obrigado pela compra."

4. Curso Online via WhatsApp

Sistema: πŸ”Š "Bem-vindo ao MΓ³dulo 2: JavaScript AvanΓ§ado. Vamos comeΓ§ar..."

πŸ—οΈ Arquitetura

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   WhatsApp   │─────▢│  n8n Workflow │─────▢│  Gemini API  β”‚
β”‚   (Cliente)  β”‚      β”‚   Automation  β”‚      β”‚     TTS      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚                       β”‚
                             β–Ό                       β–Ό
                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                      β”‚  Express API │─────▢│  WAV Audio   β”‚
                      β”‚  (Backend)   β”‚      β”‚   Response   β”‚
                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”— IntegraΓ§Γ£o com n8n

Exemplo de workflow no n8n para automatizar mensagens de voz no WhatsApp:

{
  "nodes": [
    {
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "parameters": {
        "path": "whatsapp-incoming"
      }
    },
    {
      "name": "Generate Voice",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "url": "http://localhost:3001/api/generate",
        "method": "POST",
        "jsonParameters": true,
        "bodyParametersJson": "={\n  \"text\": \"{{ $json.message }}\",\n  \"voice\": \"Puck\"\n}",
        "options": {
          "response": {
            "responseFormat": "file"
          }
        }
      }
    },
    {
      "name": "Send WhatsApp Audio",
      "type": "n8n-nodes-base.evolutionApi",
      "parameters": {
        "operation": "sendMedia",
        "mediaType": "audio"
      }
    }
  ]
}

πŸ§ͺ Testes

# Testar geraΓ§Γ£o de TTS via script
node test-tts.js

# Verificar health do servidor
curl http://localhost:3001/health

πŸ› οΈ Stack TecnolΓ³gico

Frontend

  • βš›οΈ React 19.2 - UI library
  • πŸ“˜ TypeScript 5.8 - Type safety
  • ⚑ Vite 6.4 - Build tool
  • 🎨 Tailwind CSS - Styling (implΓ­cito)

Backend

  • 🟒 Node.js + Express 5.1 - Server
  • πŸ€– Google Gemini AI 1.30 - TTS engine
  • πŸ”Š WAV encoding - Audio processing
  • 🌐 CORS enabled - Cross-origin support

πŸ“š Estrutura do Projeto

ai-whatsapp-automation/
β”œβ”€β”€ components/          # Componentes React
β”‚   β”œβ”€β”€ Header.tsx
β”‚   β”œβ”€β”€ VoiceSelector.tsx
β”‚   β”œβ”€β”€ HistoryItem.tsx
β”‚   └── LoadingSpinner.tsx
β”œβ”€β”€ services/            # ServiΓ§os de integraΓ§Γ£o
β”‚   └── geminiService.ts
β”œβ”€β”€ utils/               # UtilitΓ‘rios
β”‚   └── audioUtils.ts
β”œβ”€β”€ App.tsx              # Componente principal
β”œβ”€β”€ server.js            # Backend Express
β”œβ”€β”€ index.tsx            # Entry point React
β”œβ”€β”€ index.html           # HTML template
β”œβ”€β”€ package.json         # Dependencies
β”œβ”€β”€ vite.config.ts       # Vite config
β”œβ”€β”€ tsconfig.json        # TypeScript config
β”œβ”€β”€ .env.example         # Exemplo de variΓ‘veis
└── README.md            # Este arquivo

πŸš€ Deploy

Vercel (Recomendado para frontend)

# Instalar Vercel CLI
npm i -g vercel

# Deploy
vercel --prod

Railway/Render (Recomendado para backend)

  1. Conecte seu repositΓ³rio GitHub
  2. Configure a variΓ‘vel GEMINI_API_KEY
  3. Deploy automΓ‘tico em cada push

πŸ“„ LicenΓ§a

Este projeto estΓ‘ licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.

🀝 Suporte Comercial

Desenvolvido por: Art na Web Email: artnaweb2022@gmail.com LinkedIn: Conecte-se comigo

Precisa de uma soluΓ§Γ£o customizada?

  • βœ… IntegraΓ§Γ£o com seus sistemas internos
  • βœ… CustomizaΓ§Γ£o de vozes e idiomas
  • βœ… Treinamento de equipe tΓ©cnica
  • βœ… Suporte dedicado e SLA
  • βœ… Features exclusivas sob demanda

Entre em contato para orΓ§amento personalizado!


⭐ Contribuindo

ContribuiΓ§Γ΅es sΓ£o bem-vindas! Sinta-se Γ  vontade para:

  1. Fazer um fork do projeto
  2. Criar uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanΓ§as (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abrir um Pull Request

πŸ“Š Roadmap

  • Suporte a SSML (Speech Synthesis Markup Language)
  • Cache de Γ‘udios gerados (Redis)
  • Dashboard de analytics e mΓ©tricas
  • Suporte a mΓΊltiplos idiomas simultΓ’neos
  • Webhooks para notificaΓ§Γ΅es de conclusΓ£o
  • Rate limiting configurΓ‘vel
  • Docker Compose para deploy simplificado
  • Testes automatizados (Jest + Cypress)

πŸ™ Agradecimentos

  • Google Gemini AI - Pela poderosa API de TTS
  • Evolution API - IntegraΓ§Γ£o WhatsApp
  • n8n - Plataforma de automaΓ§Γ£o
  • Comunidade open source

⭐ Se este projeto foi útil, deixe uma estrela no GitHub!

Feito com ❀️ e β˜• no Brasil

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors