
Podcastfy
CLI开源的 NotebookLM 播客功能替代品,把网页、PDF、图片、YouTube 视频或文字转成两人对话式播客音频,适合老师把讲义、作者把文章做成音频节目。默认需要 Gemini 与 OpenAI API Key,也可用本地模型加免费的 Edge 语音。
Like this project? Consider supporting it by checking out our new O'Reilly book
Podcastfy.ai 🎙️🤖
An Open Source API alternative to NotebookLM's podcast feature: Transforming Multimodal Content into Captivating Multilingual Audio Conversations with GenAI
https://github.com/user-attachments/assets/5d42c106-aabe-44c1-8498-e9c53545ba40
Paper | Python Package | CLI | Web App | Feedback
Podcastfy is an open-source Python package that transforms multi-modal content (text, images) into engaging, multi-lingual audio conversations using GenAI. Input content includes websites, PDFs, images, YouTube videos, as well as user provided topics.
Unlike closed-source UI-based tools focused primarily on research synthesis (e.g. NotebookLM ❤️), Podcastfy focuses on open source, programmatic and bespoke generation of engaging, conversational content from a multitude of multi-modal sources, enabling customization and scale.
Testimonials 💬
"Love that you casually built an open source version of the most popular product Google built in the last decade"
"Loving this initiative and the best I have seen so far especially for a 'non-techie' user."
"Your library was very straightforward to work with. You did Amazing work brother 🙏"
"I think it's awesome that you were inspired/recognize how hard it is to beat NotebookLM's quality, but you did an incredible job with this! It sounds incredible, and it's open-source! Thank you for being amazing!"
Audio Examples 🔊
This sample collection was generated using this Python Notebook.
Images
Sample 1: Senecio, 1922 (Paul Klee) and Connection of Civilizations (2017) by Gheorghe Virtosu
Sample 2: The Great Wave off Kanagawa, 1831 (Hokusai) and Takiyasha the Witch and the Skeleton Spectre, c. 1844 (Kuniyoshi)
Sample 3: Pop culture icon Taylor Swift and Mona Lisa, 1503 (Leonardo da Vinci)
Text
| Audio | Description | Source |
|---|---|---|
| Personal Website | Website | |
Audio (longform=True) | Lex Fridman Podcast: 5h interview with Dario Amodei Anthropic's CEO | Youtube |
Audio (longform=True) | Benjamin Franklin's Autobiography | Book |
Multi-Lingual Text
| Language | Content Type | Description | Audio | Source |
|---|---|---|---|---|
| French | Website | Agroclimate research information | Audio | Website |
| Portuguese-BR | News Article | Election polls in São Paulo | Audio | Website |
Quickstart 💻
Prerequisites
- Python 3.11 or higher
$ pip install ffmpeg(for audio processing)
Setup
-
Install from PyPI
$ pip install podcastfy -
Set up your API keys
Python
from podcastfy.client import generate_podcast
audio_file = generate_podcast(urls=["<url1>", "<url2>"])
CLI
python -m podcastfy.client --url <url1> --url <url2>
Fastapi (Beta for urls)
Containerize podcastify and launch the api
Dockerfile_api
Make requests to the api look at the notebook for a clear example
fetch_audio(request_data, ENDPOINT, BASE_URL)
Usage 💻
Customization 🔧
Podcastfy offers a range of customization options to tailor your AI-generated podcasts:
- Customize podcast conversation (e.g. format, style, voices)
- Choose to run Local LLMs (156+ HuggingFace models)
- Set other Configuration Settings
Features ✨
- Generate conversational content from multiple sources and formats (images, text, websites, YouTube, and PDFs).
- Generate shorts (2-5 minutes) or longform (30+ minutes) podcasts.
- Customize transcript and audio generation (e.g., style, language, structure).
- Generate transcripts using 100+ LLM models (OpenAI, Anthropic, Google etc).
- Leverage local LLMs for transcript generation for increased privacy and control.
- Integrate with advanced text-to-speech models (OpenAI, Google, ElevenLabs, and Microsoft Edge).
- Provide multi-language support for global content creation.
- Integrate seamlessly with CLI and Python packages for automated workflows.
Built with Podcastfy 🚀
Updates 🚀🚀
v0.4.0+ release
- Leverage natural conversational multi-Speaker TTS model
- Generate short or longform podcasts
- Generate podcasts from input topic using grounded real-time web search
- Integrate with 100+ LLM models (OpenAI, Anthropic, Google etc) for transcript generation
See CHANGELOG for more details.
License
This software is licensed under Apache 2.0. See instructions if you would like to use podcastfy in your software.
Contributing 🤝
We welcome contributions! See Guidelines for more details.
Example Use Cases 🎧🎶
-
Content Creators can use
Podcastfyto convert blog posts, articles, or multimedia content into podcast-style audio, enabling them to reach broader audiences. By transforming content into an audio format, creators can cater to users who prefer listening over reading. -
Educators can transform lecture notes, presentations, and visual materials into audio conversations, making educational content more accessible to students with different learning preferences. This is particularly beneficial for students with visual impairments or those who have difficulty processing written information.
-
Researchers can convert research papers, visual data, and technical content into conversational audio. This makes it easier for a wider audience, including those with disabilities, to consume and understand complex scientific information. Researchers can also create audio summaries of their work to enhance accessibility.
-
Accessibility Advocates can use
Podcastfyto promote digital accessibility by providing a tool that converts multimodal content into auditory formats. This helps individuals with visual impairments, dyslexia, or other disabilities that make it challenging to consume written or visual content.
Contributors
相關資源

BibiGPT Skill
SkillBibiGPT 官方技能:把 B 站、YouTube、播客或本地音视频交给 agent,生成摘要、带时间戳字幕、分章节要点和思维导图,适合听课复习和整理研究笔记。需要 BibiGPT 账号(免费用户每日次数和时长有限),并安装其桌面端(含 bibi 命令行)或配置 API Key。
JimmyLv/bibigpt-skill129
Kokoro TTS
CLI基于开源 Kokoro 模型的本地语音合成命令行工具,能把 TXT、EPUB、PDF 按章节批量转成 MP3 或 WAV,支持中文、音色混合和调速,适合老师做听力材料、把讲义转成有声版。需要 Python 3.11–3.12,并先下载两个模型文件。
nazdridoy/kokoro-tts1.9k
MulmoCast CLI
CLI用 JSON/YAML 格式的 MulmoScript 写好讲稿、说话人与画面,mulmo 命令即可生成配音和插图,合成为视频、播客、幻灯片或 PDF,可把讲义、报告做成讲解视频。需要 Node.js、FFmpeg 和 OpenAI API Key,其他厂商的 Key 可选。
receptron/mulmocast-cli475
notebooklm-py
CLI非官方 Python 库与 CLI,让 agent 操控 Google NotebookLM(现更名 Gemini Notebook):批量导入资料、基于来源带引用问答,生成播客、视频、幻灯片、测验与闪卡并批量下载,自带 agent skill。依赖未公开接口,需登录 Google 账号。
teng-lin/notebooklm-py19.8k
Gemini Notebook (NotebookLM) CLI & MCP Server
CLI非官方的 NotebookLM(现名 Gemini Notebook)命令行 nlm 与 MCP 服务器:老师和学生可让 AI 批量建笔记本、导入网页和文档,生成音频概述、测验、闪卡、思维导图和幻灯片,用于备课与复习。依赖未公开接口,需登录 Google 账号,可能随官方改版失效。
jacob-bd/gemini-notebook-mcp-cli6.3k
Piper
CLI本地运行的神经网络语音合成引擎,离线把文字转成语音,支持中文在内的数十种语言音色,适合老师制作听力材料、给文章或课件配旁白。需要 Python,首次使用要先下载对应音色模型;项目目前在招募维护者。
OHF-Voice/piper1-gpl5.9k