Convert PDF slides into a narrated video with AI-generated speaker notes and text-to-speech audio.
PDF → Images → Preliminary Notes → Speaker Notes → Audio → Video Clips → Final Video
| Step | Input | Output | Tool |
|---|---|---|---|
| 1. images | input.pdf |
images/slide*.png |
ImageMagick |
| 2. preliminary | images/ |
preliminary/slide*.md |
Claude |
| 3. speaker-note | preliminary/ |
speaker-note/slide*.md |
Claude |
| 4. audio | speaker-note/ |
audio/slide*.mp3 |
edge-tts |
| 5. clips | images/ + audio/ |
clips/slide*.mp4 |
ffmpeg |
| 6. final | clips/ |
final.mp4 |
ffmpeg |
- ImageMagick - PDF to image conversion
- Claude Code - AI speaker note generation
- edge-tts - Text-to-speech
- ffmpeg - Video processing
- mdBook - Static book generation (optional)
brew install imagemagick ffmpeg
uv tool install edge-tts
npm install -g @anthropic-ai/claude-code
cargo install mdbook # optional, for book export# Check all dependencies are installed
make setup
# Run full pipeline
make all PDF=your-slides.pdf
# Run with more parallel jobs
make all PDF=your-slides.pdf MAX_JOBS=5
# Run individual steps
make images PDF=your-slides.pdf
make preliminary
make speaker-note
make audio
make clips
make finalGenerate a static book website from your slides and preliminary notes using mdBook.
# Install mdbook (if not already installed)
cargo install mdbook
# Generate and build book to dist/
make makebookThe output in dist/ is ready to deploy to Netlify, GitHub Pages, or any static hosting.
make clean # Clean speaker-note/, audio/, clips/, final.mp4
make clean-all # Clean everything including images/ and preliminary/MIT