Transforme texto em Γ‘udio profissional com IA do Google Gemini
Funcionalidades - Demo - InstalaΓ§Γ£o - API - Casos de Uso
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
- π― 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
A aplicaΓ§Γ£o possui uma interface intuitiva para gerar Γ‘udios rapidamente:
screenshot real da interface aqui
# 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- Node.js 18 ou superior
- npm ou yarn
- Conta no Google AI Studio com API Key do Gemini
# 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 devAcesse:
- Frontend: http://localhost:5173
- API: http://localhost:3001
- Acesse Google AI Studio
- Clique em "Get API Key"
- Crie um novo projeto (se necessΓ‘rio)
- Copie a API Key gerada
- Adicione no arquivo
.env.local:
GEMINI_API_KEY=AIza...sua_chave_completa_aqui| 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 | * |
Gera Γ‘udio a partir de texto.
Request:
{
"text": "Texto para converter em Γ‘udio",
"voice": "Puck"
}Response:
- Content-Type:
audio/wav - Body: Binary WAV file
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
Verifica status do servidor.
Response:
{
"status": "ok",
"endpoints": ["/api/tts", "/api/generate"],
"apiKeyLoaded": true
}| 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
Cliente: "Qual status do meu pedido #1234?" Bot: π "Seu pedido 1234 foi enviado e chegarΓ‘ em 2 dias ΓΊteis!"
Sistema: π "Lembrete: VocΓͺ tem consulta amanhΓ£ Γ s 14h. Confirme sua presenΓ§a."
Sistema: π "Pagamento de R$ 150,00 confirmado! Obrigado pela compra."
Sistema: π "Bem-vindo ao MΓ³dulo 2: JavaScript AvanΓ§ado. Vamos comeΓ§ar..."
ββββββββββββββββ βββββββββββββββββ ββββββββββββββββ
β WhatsApp βββββββΆβ n8n Workflow βββββββΆβ Gemini API β
β (Cliente) β β Automation β β TTS β
ββββββββββββββββ βββββββββββββββββ ββββββββββββββββ
β β
βΌ βΌ
ββββββββββββββββ ββββββββββββββββ
β Express API βββββββΆβ WAV Audio β
β (Backend) β β Response β
ββββββββββββββββ ββββββββββββββββ
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"
}
}
]
}# Testar geraΓ§Γ£o de TTS via script
node test-tts.js
# Verificar health do servidor
curl http://localhost:3001/health- βοΈ React 19.2 - UI library
- π TypeScript 5.8 - Type safety
- β‘ Vite 6.4 - Build tool
- π¨ Tailwind CSS - Styling (implΓcito)
- π’ Node.js + Express 5.1 - Server
- π€ Google Gemini AI 1.30 - TTS engine
- π WAV encoding - Audio processing
- π CORS enabled - Cross-origin support
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
# Instalar Vercel CLI
npm i -g vercel
# Deploy
vercel --prod- Conecte seu repositΓ³rio GitHub
- Configure a variΓ‘vel
GEMINI_API_KEY - Deploy automΓ‘tico em cada push
Este projeto estΓ‘ licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.
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!
ContribuiΓ§Γ΅es sΓ£o bem-vindas! Sinta-se Γ vontade para:
- Fazer um fork do projeto
- Criar uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanΓ§as (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abrir um Pull Request
- 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)
- 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