audio2video
Convert audio files with static images to video format for YouTube and social media
Transform your podcasts, NotebookLM audio, or any audio content into engaging videos by combining them with custom thumbnails. Perfect for content creators who want to upload audio content to YouTube or other video platforms.
✨ Features
- 🎵 Multiple audio formats: WAV, MP3, FLAC, AAC
- 🖼️ Multiple image formats: PNG, JPG, JPEG, BMP, GIF
- 📹 High-quality output: Optimized MP4 videos for web platforms
- ⚡ Fast processing: Efficient conversion using MoviePy
- 🛠️ Simple CLI: Easy-to-use command-line interface
- 📱 Platform ready: YouTube, TikTok, Instagram compatible output
🚀 Quick Start
Installation
pip install audio2video
Basic Usage
# Convert audio + image to video
audio2video -a podcast.wav -i thumbnail.png -o output.mp4
# Using short flags
audio2video -a audio.mp3 -i image.jpg -o video.mp4
# Enable verbose output
audio2video -a audio.wav -i image.png -o output.mp4 --verbose
Advanced Options
# Specify output quality (18=high, 23=medium, 28=web)
audio2video -a audio.wav -i image.png -o output.mp4 --crf 18
# Set custom resolution
audio2video -a audio.wav -i image.png -o output.mp4 --resolution 1920x1080
# Set frames per second
audio2video -a audio.wav -i image.png -o output.mp4 --fps 30
📖 Use Cases
🎙️ Podcast to YouTube
Transform your podcast episodes into YouTube-ready videos with custom artwork.
🤖 NotebookLM Content
Convert AI-generated podcast content from NotebookLM into shareable video format.
📚 Educational Content
Create video lectures from audio recordings with presentation slides or graphics.
🎵 Music Releases
Combine music tracks with album artwork for music platform uploads.
💡 Examples
Batch Processing
# Process multiple files
for audio in *.wav; do
audio2video -a "$audio" -i default_thumbnail.png -o "videos/${audio%.wav}.mp4"
done
🛠️ Development
Prerequisites
- Python 3.9+
- FFmpeg (automatically handled by MoviePy)
Local Installation
# Clone repository
git clone https://github.com/KaoruBB/audio2video.git
cd audio2video
# Install with uv (recommended)
uv pip install -e .
# Or with pip
pip install -e .
Running Tests
pytest tests/
Development with uv
# Run directly from source
uv run audio2video -a test.wav -i test.png -o test.mp4
# Install dependencies
uv pip install -r requirements.txt
📋 Command Line Options
usage: audio2video [-h] -a AUDIO -i IMAGE -o OUTPUT [--crf CRF]
[--resolution RESOLUTION] [--fps FPS] [--verbose]
Convert audio files with static images to video format
required arguments:
-a, --audio AUDIO Input audio file (WAV, MP3, FLAC, AAC)
-i, --image IMAGE Input image file (PNG, JPG, JPEG, BMP, GIF)
-o, --output OUTPUT Output video file (MP4)
optional arguments:
-h, --help Show this help message and exit
--crf CRF Video quality (18=high, 23=medium, 28=web) [default: 23]
--resolution RESOLUTION
Output resolution (e.g., 1920x1080) [default: 1920x1080]
--fps FPS Frames per second [default: 1]
--verbose Enable verbose output
🤝 Contributing
We welcome contributions! Please feel free to submit issues and pull requests.
Ways to Contribute
- 🐛 Report bugs
- ✨ Request features
- 🔧 Submit pull requests
- 📝 Improve documentation
- 🧪 Add tests
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Built with MoviePy for video processing
- Inspired by the need to convert NotebookLM podcasts to YouTube videos
- Thanks to the open-source community for the amazing tools
🔗 Related Projects
- moviepy - Video editing library
- ffmpeg-python - FFmpeg wrapper
- youtube-upload - YouTube upload automation
📞 Support
⭐ Star this repo if you find it useful!
Made with ❤️ for content creators who want to bring their audio to the visual world.
Metadata
Release files for audio2video 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| audio2video-0.1.1.tar.gz | 7.2 kB | Without provenance | Details for audio2video-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| audio2video-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for audio2video-0.1.1-py3-none-any.whl |
Total release size: 13.7 kB
Release files / audio2video-0.1.1.tar.gz
| Download URL | audio2video-0.1.1.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7a97f406e2d97af6ee64c418c6d4eeeaf4b928b798e420997ed1318c92330a21
|
|
BLAKE2b-256 checksum How to use checksums |
73a8d6dcfd88f670e39ddb9164534528880ada6539ddf538cae6c6cf56fcbb15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / audio2video-0.1.1-py3-none-any.whl
| Download URL | audio2video-0.1.1-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
91a31af94d82566c47fdff62a33e42a4e4abf2936db08317e767b3485e7171bc
|
|
BLAKE2b-256 checksum How to use checksums |
101fcb7fb9da2ceea20df11aab29cea0920e1c265db559293c0200fced5db5b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for audio2video 0.1.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.