Document-to-podcast: a Blueprint by Mozilla.ai for generating podcasts from documents using local AI
This blueprint demonstrate how you can use open-source models & tools to convert input documents into a podcast featuring two speakers. It is designed to work on most local setups, meaning no external API calls or GPU access is required. This makes it more accessible and privacy-friendly by keeping everything local.
📘 To explore this project further and discover other Blueprints, visit the Blueprints Hub.
Example Results
https://github.com/user-attachments/assets/0487640b-a800-4c60-96ae-f1b93632a87b
https://github.com/user-attachments/assets/0d5364e7-a57b-4976-8cb6-4ebf1cbbd37c
👉 📖 For more detailed guidance on using this project, please visit our Docs.
👉 🔨 Built with
👉 🧠 Check the Supported Models.
Quick-start
Get started right away using one of the options below:
| Google Colab | HuggingFace Spaces | GitHub Codespaces |
|---|---|---|
You can also install and use the blueprint locally:
Command Line Interface
pip install document-to-podcast
document-to-podcast \
--input_file "example_data/Mozilla-Trustworthy_AI.pdf" \
--output_folder "example_data"
--text_to_text_model "Qwen/Qwen2.5-1.5B-Instruct-GGUF/qwen2.5-1.5b-instruct-q8_0.gguf"
Graphical Interface App
git clone https://github.com/mozilla-ai/document-to-podcast.git
cd document-to-podcast
pip install -e .
python -m streamlit run demo/app.py
System requirements
- OS: Windows, macOS, or Linux
- Python 3.10+ / 3.12+ for Apple M chips
- Minimum RAM: 8 GB
- Disk space: 20 GB minimum
License
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.
Contributing
Contributions are welcome! To get started, you can check out the CONTRIBUTING.md file.
Metadata
Release files for document-to-podcast 1.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| document_to_podcast-1.4.5.tar.gz | 3.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| document_to_podcast-1.4.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.1 MB
Release files / document_to_podcast-1.4.5.tar.gz
| Download URL | document_to_podcast-1.4.5.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cfa1554736e234213405bf0fadef6e4f1bafbe65f2ef19e90fead7ccac828e6f
|
|
BLAKE2b-256 checksum How to use checksums |
0fc962682e10e7f2e565e83f395eccba10806383f18a9677e108aabbb37fce4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 12, 2025.
Transparency logRelease files / document_to_podcast-1.4.5-py3-none-any.whl
| Download URL | document_to_podcast-1.4.5-py3-none-any.whl |
|---|---|
| Size | 17.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00066abc67338c0f8a10414d5f7afd241a7cfd8a5501239099e99b8d8e71600c
|
|
BLAKE2b-256 checksum How to use checksums |
017be50b1f92e08556042308e8adf972daa2a1a84d93777a09eddc6b5123f285
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 12, 2025.
Transparency log