Skip to content

Requirements

System Requirements

Component Minimum Recommended
OS macOS, Linux, Windows macOS or Linux
RAM 4 GB 8 GB+
Disk 1 GB free 5 GB+ for video processing
Display 1920x1080 Matches output resolution

Software Dependencies

Dependency Version Purpose
Go 1.21+ Building vac
ffmpeg 4.0+ Video recording and encoding
Marp CLI 3.0+ Markdown to HTML rendering
Node.js 16+ Required for Marp CLI
Chrome/Chromium Latest Browser automation (auto-managed by Rod)

API Keys

Service Required Purpose
ElevenLabs Yes* Text-to-speech generation
Deepgram Optional Subtitle generation (speech-to-text)
HeyGen / bitHuman / Tavus Optional AI avatar presenter overlay (vac avatar, --avatar-id)

* Not required when using the local F5-TTS provider for TTS (and Whisper for STT) — see Local Providers. Local providers run entirely on-device with no API keys.

Local Providers (optional, Apple Silicon)

Local TTS/STT via OmniVoice MLX providers requires:

Dependency Version Purpose
Apple Silicon M1/M2/M3/M4 MLX runs GPU inference on the Neural Engine / GPU
Python (arm64) 3.11+ Runs the F5-TTS / Whisper gRPC servers (MLX wheels are arm64-only)
Disk ~4 GB free F5-TTS (~2 GB) and Whisper large-v3-turbo (~1.6 GB) model weights

The scripts/localvoice.sh helper sets these up automatically. See Local Providers.

Platform-Specific Notes

macOS

  • Screen recording permission required (System Preferences > Privacy)
  • Apple Silicon (M1/M2/M3) fully supported
  • Uses avfoundation for screen capture

Linux

  • X11 display server required (Wayland not yet supported)
  • Uses x11grab for screen capture
  • May need pulseaudio for audio

Windows

  • Uses gdigrab for screen capture
  • Administrator privileges may be required