init: scripts diversos (crawlers, conversores, scrapers)
This commit is contained in:
115
tts-generator/openai_tts.py
Executable file
115
tts-generator/openai_tts.py
Executable file
@@ -0,0 +1,115 @@
|
||||
"""
|
||||
openai_tts.py
|
||||
|
||||
Author: Descomplicar® Crescimento Digital
|
||||
Link: https://descomplicar.pt
|
||||
Copyright: 2025 Descomplicar®
|
||||
"""
|
||||
|
||||
# OpenAI TTS Generator for Descomplicar
|
||||
# pip install openai
|
||||
|
||||
import os
|
||||
from openai import OpenAI
|
||||
from pathlib import Path
|
||||
|
||||
def generate_audio_openai():
|
||||
"""
|
||||
Gera áudio usando OpenAI TTS API
|
||||
"""
|
||||
# Configurar cliente OpenAI
|
||||
client = OpenAI(
|
||||
api_key=os.environ.get("OPENAI_API_KEY")
|
||||
)
|
||||
|
||||
# Texto do artigo de Marketing Digital da Descomplicar
|
||||
texto_marketing = """A Estratégia Definitiva para Crescer 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. Neste novo paradigma, ter uma presença digital não é uma opção. É a base sobre a qual os negócios modernos são construídos e escalados. Bem-vindo ao universo do Marketing Digital.
|
||||
|
||||
Para muitas empresas em Portugal, o termo Marketing Digital pode parecer um labirinto complexo e intimidante de acrónimos como SEO, PPC e CRM, plataformas e táticas que mudam a uma velocidade vertiginosa. É fácil sentir-se sobrecarregado e não saber por onde começar, o que muitas vezes leva a ações descoordenadas – um post aqui, um anúncio ali – com poucos ou nenhuns resultados mensuráveis. O problema não está nas ferramentas, mas na ausência de uma estratégia coesa que as una.
|
||||
|
||||
Este guia é o seu mapa para esse labirinto. O nosso objetivo é desmistificar o Marketing Digital, transformando-o de uma coleção de táticas isoladas numa metodologia de crescimento integrada e compreensível. Vamos explorar cada pilar, desde a fundação estratégica até à execução tática e à medição do sucesso. Na Descomplicar, a nossa filosofia é que o marketing de sucesso não é sobre fazer tudo, mas sobre fazer as coisas certas, da forma certa, e na ordem certa."""
|
||||
|
||||
print("🎙️ Iniciando geração de áudio com OpenAI TTS...")
|
||||
print(f"📝 Texto tem {len(texto_marketing)} caracteres")
|
||||
|
||||
try:
|
||||
# Fazer request à OpenAI TTS API
|
||||
response = client.audio.speech.create(
|
||||
model="tts-1-hd", # Modelo de alta qualidade
|
||||
voice="nova", # Voz feminina natural
|
||||
input=texto_marketing,
|
||||
response_format="mp3"
|
||||
)
|
||||
|
||||
# Salvar o áudio
|
||||
speech_file_path = Path("descomplicar_marketing_digital.mp3")
|
||||
with open(speech_file_path, "wb") as f:
|
||||
f.write(response.content)
|
||||
|
||||
print(f"✅ Áudio gerado com sucesso: {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}")
|
||||
return False
|
||||
|
||||
def generate_audio_test():
|
||||
"""
|
||||
Teste rápido com texto menor
|
||||
"""
|
||||
client = OpenAI(
|
||||
api_key=os.environ.get("OPENAI_API_KEY")
|
||||
)
|
||||
|
||||
texto_teste = """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."""
|
||||
|
||||
print("🧪 Testando OpenAI TTS com texto pequeno...")
|
||||
|
||||
try:
|
||||
response = client.audio.speech.create(
|
||||
model="tts-1", # Modelo standard (mais rápido)
|
||||
voice="nova", # Voz feminina
|
||||
input=texto_teste,
|
||||
response_format="mp3"
|
||||
)
|
||||
|
||||
speech_file_path = Path("descomplicar_teste.mp3")
|
||||
with open(speech_file_path, "wb") as f:
|
||||
f.write(response.content)
|
||||
|
||||
print(f"✅ Teste concluído: {speech_file_path}")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Erro no teste: {e}")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Verificar se API key está configurada
|
||||
if not os.environ.get("OPENAI_API_KEY"):
|
||||
print("❌ OPENAI_API_KEY não configurada!")
|
||||
print("Configure com: export OPENAI_API_KEY='sua_chave'")
|
||||
exit(1)
|
||||
|
||||
print("🤖 Gerador de Voz OpenAI - Descomplicar")
|
||||
print("=" * 50)
|
||||
|
||||
# Escolher entre teste ou completo
|
||||
escolha = input("Escolha: (t)este pequeno ou (c)ompleto? [t/c]: ").lower()
|
||||
|
||||
if escolha == 'c':
|
||||
print("\n🎯 Gerando áudio completo...")
|
||||
generate_audio_openai()
|
||||
else:
|
||||
print("\n🧪 Gerando teste...")
|
||||
generate_audio_test()
|
||||
|
||||
print("\n📁 Ficheiros MP3 gerados na pasta atual")
|
||||
Reference in New Issue
Block a user