Repolode
souzatharsis

souzatharsis/podcastfy

Open-source Python package that turns websites, PDFs, images, YouTube videos or topics into multilingual audio podcast conversations using GenAI.

Open-source alternative to:NotebookLM

Stars
6,695
Forks
778
Open issues
124
Last commit
6 months ago

What is it?

Podcastfy is a Python package that generates podcast-style audio conversations from multimodal inputs such as websites, PDFs, images, YouTube videos, and user-provided topics. It is positioned as an open-source, programmatic alternative to NotebookLM's podcast feature, aimed at developers who want to script, customize, and scale podcast generation rather than work through a closed UI.

It can produce both short episodes (about 2-5 minutes) and longform podcasts (30+ minutes). Transcripts are generated with LLMs from providers such as OpenAI, Anthropic, and Google, or with local LLMs, and the transcripts are then voiced with text-to-speech services including OpenAI, Google, ElevenLabs, and Microsoft Edge.

Podcastfy can be used from Python, a command-line interface, or a containerized FastAPI service. Its conversation format, style, voices, and output language are configurable.

Key features

  • 01Builds podcast audio from websites, PDFs, images, YouTube videos, and topics.
  • 02Generates short episodes and longform podcasts.
  • 03Supports transcript generation with many LLM providers, including local models.
  • 04Offers text-to-speech via OpenAI, Google, ElevenLabs, and Microsoft Edge.
  • 05Provides multilingual output and customizable conversation style and voices.
  • 06Exposes Python, CLI, and FastAPI interfaces for scripted workflows.

Use cases

  • Turning blog posts or articles into audio episodes for listeners.
  • Converting lecture notes or slides into listenable study material.
  • Creating audio summaries of research papers and technical documents.
  • Batch-generating podcasts from a pipeline of URLs or documents.

Quick start

  1. 1

    Install Python 3.11 or higher and ffmpeg for audio processing

    $ pip install ffmpeg
  2. 2

    Install podcastfy from PyPI

    $ pip install podcastfy
  3. 3

    Set up your API keys (see the configuration guide)

  4. 4

    Generate a podcast from URLs using Python

    from podcastfy.client import generate_podcast audio_file = generate_podcast(urls=["<url1>", "<url2>"])

Things to know

  • Requires API keys for LLM and text-to-speech services, which may incur costs.
  • The README's FastAPI support is marked as beta and only for URLs.

Topics

FAQ

What is podcastfy?
Open-source Python package that turns websites, PDFs, images, YouTube videos or topics into multilingual audio podcast conversations using GenAI. Podcastfy is a Python package that generates podcast-style audio conversations from multimodal inputs such as websites, PDFs, images, YouTube videos, and user-provided topics. It is positioned as an open-source, programmatic alternative to NotebookLM's podcast feature, aimed at developers who want to script, customize, and scale podcast generation rather than work through a closed UI.
Is podcastfy free to use? What license does it have?
podcastfy is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is podcastfy still maintained?
Updated within 6 months. The last commit to podcastfy was on May 4, 2026.
What can I use podcastfy for?
Turning blog posts or articles into audio episodes for listeners. Converting lecture notes or slides into listenable study material. Creating audio summaries of research papers and technical documents. Batch-generating podcasts from a pipeline of URLs or documents.
How do I install podcastfy?
Install Python 3.11 or higher and ffmpeg for audio processing: $ pip install ffmpeg Install podcastfy from PyPI: $ pip install podcastfy Set up your API keys (see the configuration guide) Generate a podcast from URLs using Python: from podcastfy.client import generate_podcast audio_file = generate_podcast(urls=["<url1>", "<url2>"])
Where can I get podcastfy?
The source code and installation instructions are on GitHub: https://github.com/souzatharsis/podcastfy

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects