Skip to content

vac

Transform Marp Markdown Presentations into Videos with AI Voiceovers

vac is a command-line tool that automates the conversion of Marp presentations into professional videos with AI-generated narration.

Features

  • Parse Marp presentations with voiceover in HTML comments or JSON transcripts
  • Text-to-speech using ElevenLabs, Deepgram, and other providers via OmniVoice
  • Browser automation with Rod to display slides and record demos
  • Screen recording with synchronized audio using ffmpeg
  • Multi-language support with BCP-47 locale codes (en-US, en-GB, fr-CA, etc.)
  • Platform-optimized output for YouTube, Udemy, Coursera
  • Crossfade transitions between slides
  • Subtitle generation from voiceover timing or speech-to-text
  • Audio caching for faster iterations without re-incurring TTS costs

Quick Example

# Simple: inline voiceover comments
vac slides video --input slides.md --output video.mp4

# Advanced: multi-language transcript
vac slides video --input slides.md \
           --transcript transcript.json \
           --lang es-ES \
           --output video_spanish.mp4
# Record browser demo with voiceover
vac browser video --config demo.yaml --output demo.mp4

# Multi-language with audio caching
vac browser video --config demo.yaml --output demo.mp4 \
           --audio-dir ./audio --lang en-US,fr-FR,zh-Hans

# With subtitles burned in
vac browser video --config demo.yaml --output demo.mp4 \
           --subtitles --subtitles-burn

How It Works

flowchart LR
    A[Marp MD] --> B[Parse]
    B --> C[TTS Audio]
    C --> D[Record Slides]
    D --> E[Combine]
    E --> F[Video.mp4]
  1. Parse - Extract slides and voiceover from Marp markdown
  2. Generate Audio - Convert text to speech via ElevenLabs/OmniVoice
  3. Render HTML - Use Marp CLI to create HTML presentation
  4. Record - Screen capture each slide with audio sync
  5. Combine - Concatenate slides with optional transitions

Getting Started

Use Cases

Platform Use Case Command Features
YouTube Tutorials, demos slides video Combined video with transitions
Udemy Course lectures slides video Individual slide videos
Coursera Academic content slides video Professional voice settings
Product Demos SaaS walkthroughs browser video Automated browser recording
Documentation Animated guides Both Multi-language support