Files
scripts/tts-generator/openai_tts.py

116 lines
4.9 KiB
Python
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
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")