Sobre o projeto
# podgenai
O podgenai é uma aplicação Python que gera arquivos MP3 informativos de audiolivro/podcast com um ou dois locutores sobre um determinado tópico usando um LLM da OpenAI. O conteúdo vem do conhecimento interno do modelo ou de um documento markdown fornecido; não é usada pesquisa na web.
## Como Funciona
Para um determinado tópico, a ferramenta:
1. Lista os subtópicos aplicáveis usando um LLM (aborta se o tópico for desconhecido ou não suportado)
2. Seleciona as vozes (voz única para monólogo; masculina e feminina para diálogo) via LLM
3. Gera texto de monólogo simultaneamente para cada subtópico
4. Desduplica o texto entre subtópicos adjacentes usando uma abordagem rubro-negra ímpar-par, reduzindo o comprimento total em 6-40%
5. Para diálogos, gera texto de diálogo e instruções de tom
6. Converte texto em fala usando modelos TTS da OpenAI simultaneamente
7. Concatena os segmentos de áudio com `ffmpeg`, adicionando pausas entre partes e subtópicos
## Modelos Utilizados
- **Modelo de conhecimento** (`gpt-6-sol`): listagem de subtópicos, seleção de vozes, geração de texto de monólogo (a partir de conhecimento interno), geração de texto de diálogo
- **Modelo de texto** (`gpt-6-sol`): geração de texto de monólogo a partir de documentos de origem, desduplicação
- **Modelo TTS** (`gpt-4o-mini-tts-2025-12-15`): geração de fala
## Uso
- Requer uma [chave de API da OpenAI](https://platform.openai.com/api-keys)
- A duração de saída padrão tem como alvo ~1 hora; uma cobertura abrangente frequentemente produz arquivos de várias horas
- Pode limitar as seções com `--max-sections` (mínimo 3) para controlar a duração
- Suporta modos de um locutor (`--speakers 1`) e dois locutores
- Aceita documentos de origem markdown via `--document`
- A saída pode incluir marcadores de áudio nos limites das seções
- Armazenado em cache localmente no diretório `./work/<topic>`
## Configuração
- Defina `OPENAI_API_KEY` no arquivo `.env` ou no ambiente
- Opcionalmente defina `PODGENAI_OPENAI_MAX_WORKERS` (padrão: 16, máximo: 32)
- Requer `ffmpeg` e `ffprobe` para concatenação de áudio
## Estimativa de Custo
O custo aproximado é de $10 USD para um podcast de 10 horas, com a maior parte dos custos proveniente da geração TTS. Durações mais curtas custam proporcionalmente menos.
## Formatos de Saída
- Arquivos MP3 gerados para consumo como audiolivro/podcast
- Velocidades de reprodução recomendadas: 1,05x para tópicos não técnicos, 1,0x para tópicos técnicos, 0,95x para conteúdo em língua estrangeira
## Instalação
Disponível via PyPI: `pip install podgenai` ou `uv add podgenai`
Também pode ser usado como biblioteca Python com a função `generate_media()`.
## Licença
GNU Lesser General Public License (LGPL)
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.