Create cinematic video slideshows from images and music with the Ken Burns effect, audio mastering, and export profiles β all via the command line.
PanZoom Slideshow is a professional CLI tool that converts folders of images and audio files into cinematic slideshows using pan/zoom effects, transitions, and more.
Key features:
- π¬ Ken Burns-style motion (pan + zoom)
- π 25+ transitions (fade, slide, dissolve, etc.)
- π¦ Export presets (YouTube, Instagram, TikTok)
- π΅ Audio mastering & normalization
- π§Ύ YAML configuration support
- π·οΈ Watermark/logo overlay
- ποΈ Fast preview mode
python --versionβ Required: Python 3.8 or higher
ffmpeg -versionβ Required: FFmpeg 6.x or higher
π Download: https://ffmpeg.org/download.html
git clone https://github.com/your-org/panzoom-slideshow.gitcd panzoom-slideshowpip install -r requirements.txtpython -m panzoom video -i ./photos -a music.wavpython -m panzoom video -i ./photos -a music.wav --preset cinematicpython -m panzoom video -i ./photos -a music.wav --shufflepython -m panzoom video -i ./photos -a music.wav --export instagram_reelspython -m panzoom video -i ./photos -a music.wav --watermark logo.pngpython -m panzoom video -i ./photos -a music.wav --previewpython -m panzoom album -i ./audio -o ./ready_albumpython -m panzoom album -i ./audio --artist "My Band" --genre "Ambient"python -m panzoom initGenerates a file:
panzoom.yaml
video:
fps: 60
width: 1920
height: 1080
duration: 10
crossfade: 2
zoom_intensity: 0.08
pan_intensity: 0.25
crf: 18
preset: cinematic
audio:
loudness: -14
sample_rate: 44100
artist: "Carnaverone Studio"
genre: "Ambient"--preset cinematic--transition fade--zoom 0.12--pan-dir random--shuffle--preview--export youtube--watermark logo.png
| Profile | Resolution | Use Case |
|---|---|---|
| youtube | 1920Γ1080 60fps | YouTube HD |
| youtube4k | 3840Γ2160 60fps | YouTube 4K |
| instagram_feed | 1080Γ1080 30fps | Instagram square |
| instagram_reels | 1080Γ1920 30fps | Reels / TikTok |
| tiktok | 1080Γ1920 30fps | TikTok |
| preview | 640Γ360 15fps | Fast preview |
| Name | Description |
|---|---|
| cinematic | Smooth, 12s/image, fades |
| fast | 6s/image, quick pace |
| slow | 15s/image, calm motion |
| dynamic | Strong zoom/pan movement |
| minimal | Subtle, minimal motion |
panzoom-slideshow/
βββ panzoom/
β βββ cli.py
β βββ slideshow.py
β βββ album.py
β βββ config.py
βββ requirements.txt
βββ panzoom.yaml
βββ README.md
Images: PNG, JPG, JPEG, WebP, BMP, TIFF
Audio: WAV, MP3, AAC, FLAC, OGG, M4A
Video Output: MP4 (H.264 + AAC)
We welcome issues, pull requests, and feature suggestions.
You can help by:
- Proposing new presets or export profiles
- Suggesting new transitions
- Improving CLI options or config structure
PanZoom Slideshow is made for creators who want high-quality, automated slideshows with full control from the command line.
Ideal for:
- π₯ Video editors
- πΉ Music creators
- π§βπ» Automation & pipeline developers
MIT License
Β© 2026 Carnaverone Studio