podcast_llm.generate

Podcast generation module.

This module provides functionality to generate complete podcast episodes from a given topic. It can operate in two modes: 1. Research mode: Automatically researches the topic online 2. Existing context mode: Uses provided URLs and files as source material

Example

Research mode: >>> generate(topic=’Artificial Intelligence’, mode=’research’)

Existing context mode: >>> generate( … topic=’Artificial Intelligence’, … mode=’context’, … sources=[‘article.pdf’, ‘https://example.com/ai-article’] … )

podcast_llm.generate.generate(topic: str, mode: Literal['research', 'context'], sources: List[str] | None = None, qa_rounds: int = 2, use_checkpoints: bool = True, audio_output: str | None = None, text_output: str | None = None, config: str = '/home/runner/work/podcast-llm/podcast-llm/podcast_llm/config/config.yaml', debug: bool = False, log_file: str | None = None) None[source]

Generate a podcast episode.

Parameters:
  • topic – Topic of the podcast

  • mode – Generation mode - either ‘research’ or ‘context’

  • sources – List of URLs and file paths to use as source material (for context mode)

  • qa_rounds – Number of Q&A rounds

  • use_checkpoints – Whether to use checkpointing

  • audio_output – Path to save audio output

  • text_output – Path to save text output

  • config – Path to config file

  • debug – Whether to enable debug logging

  • log_file – Log output file

podcast_llm.generate.main() None[source]

Main entry point for the CLI.

podcast_llm.generate.parse_arguments() Namespace[source]

Parse command line arguments.