init: scripts diversos (crawlers, conversores, scrapers)

This commit is contained in:
2026-03-05 20:38:36 +00:00
commit 6ac6f4be2a
925 changed files with 850330 additions and 0 deletions

111
tts-generator/elevenlabs_tts.py Executable file
View File

@@ -0,0 +1,111 @@
"""
elevenlabs_tts.py
Author: Descomplicar® Crescimento Digital
Link: https://descomplicar.pt
Copyright: 2025 Descomplicar®
"""
# ElevenLabs TTS Generator for Descomplicar (PT-PT)
# pip install elevenlabs
import os
from elevenlabs import ElevenLabs, VoiceSettings
from pathlib import Path
def generate_audio_elevenlabs():
"""
Gera áudio usando ElevenLabs com voz PT-PT
"""
# Configurar cliente ElevenLabs
client = ElevenLabs(
api_key=os.environ.get("ELEVENLABS_API_KEY")
)
# Texto do artigo de Marketing Digital da Descomplicar
texto_marketing = """Bem-vindo à Descomplicar, a agência de aceleração digital que transforma a sua presença online numa máquina de crescimento.
Somos especialistas em Marketing Digital, criação de websites profissionais e estratégias que geram resultados reais para o seu negócio.
Na Descomplicar, a nossa filosofia é simples: tornar o complexo mais simples. Descomplicamos o marketing digital para que você se possa focar no que faz melhor - gerir o seu negócio.
No século 21, o mercado já não é um lugar físico; é um ecossistema digital em constante evolução. Os seus clientes não estão apenas a passar à porta da sua loja; estão a pesquisar no Google, a pedir recomendações no Facebook, a descobrir marcas no Instagram e a procurar especialistas no LinkedIn."""
print("🎙️ Iniciando geração de áudio com ElevenLabs (PT-PT)...")
print(f"📝 Texto tem {len(texto_marketing)} caracteres")
try:
# Usar voz feminina em português europeu
audio = client.generate(
text=texto_marketing,
voice="Alice", # Voz feminina natural
voice_settings=VoiceSettings(
stability=0.5,
similarity_boost=0.8,
style=0.2,
use_speaker_boost=True
),
model="eleven_multilingual_v2"
)
# Salvar o áudio
speech_file_path = Path("descomplicar_pt_pt.mp3")
with open(speech_file_path, "wb") as f:
for chunk in audio:
f.write(chunk)
print(f"✅ Áudio PT-PT gerado: {speech_file_path}")
print(f"📁 Ficheiro salvo em: {speech_file_path.absolute()}")
return True
except Exception as e:
print(f"❌ Erro ao gerar áudio: {e}")
print("💡 Sugestão: Verifique se tem ELEVENLABS_API_KEY configurada")
return False
def list_voices():
"""
Lista vozes disponíveis do ElevenLabs
"""
try:
client = ElevenLabs(
api_key=os.environ.get("ELEVENLABS_API_KEY")
)
voices = client.voices.get_all()
print("🎤 Vozes disponíveis no ElevenLabs:")
print("=" * 50)
for voice in voices.voices:
print(f"Nome: {voice.name}")
print(f"ID: {voice.voice_id}")
print(f"Categoria: {voice.category}")
if hasattr(voice, 'accent'):
print(f"Sotaque: {voice.accent}")
print("-" * 30)
except Exception as e:
print(f"❌ Erro ao listar vozes: {e}")
if __name__ == "__main__":
# Verificar se API key está configurada
if not os.environ.get("ELEVENLABS_API_KEY"):
print("❌ ELEVENLABS_API_KEY não configurada!")
print("🔗 Obtenha uma chave gratuita em: https://elevenlabs.io/")
print("⚙️ Configure com: export ELEVENLABS_API_KEY='sua_chave'")
exit(1)
print("🇵🇹 Gerador de Voz ElevenLabs PT-PT - Descomplicar")
print("=" * 55)
# Escolher ação
escolha = input("Escolha: (g)erar áudio, (l)istar vozes? [g/l]: ").lower()
if escolha == 'l':
list_voices()
else:
generate_audio_elevenlabs()
print("\n🎵 Use vozes portuguesas autênticas!")