Skip to main content
Set video_source in the [app] section of config.toml to choose where MoneyPrinterTurbo searches for b-roll footage.
video_source = "pexels"   # "pexels", "pixabay", or "local"

Pexels

Pexels offers a free API with a large library of high-quality, royalty-free stock videos.Register for a free API key at pexels.com/api.
video_source = "pexels"

# Single key
pexels_api_keys = ["your-pexels-api-key"]

# Multiple keys to distribute requests and avoid rate limits
pexels_api_keys = ["key-one", "key-two", "key-three"]
Keys must be wrapped in double quotes and separated by commas. The format is a TOML array of strings.
MoneyPrinterTurbo rotates through the list of keys automatically. Add more keys from additional Pexels accounts to increase your effective rate limit.

Proxy support

If you need to route Pexels API requests through a proxy, configure it in the [proxy] section:
[proxy]
http = "http://user:pass@proxy-host:3128"
https = "http://user:pass@proxy-host:1080"

material_directory options

This setting controls where downloaded (or uploaded) clips are cached, regardless of which video source you choose.
ValueBehaviour
"" (empty)Default. Clips stored in ./storage/cache_videos inside the project root.
/absolute/pathClips stored in the specified directory. Useful when you want to store large amounts of footage on a separate disk.
"task"Each generation task gets its own isolated folder. Clips are never shared between tasks. Increases disk usage.
# Default shared cache
material_directory = ""

# Custom directory on a separate volume
material_directory = "/mnt/media/moneyprinter-clips"

# Per-task isolation (no sharing)
material_directory = "task"
Using material_directory = "" (the default) is recommended for most setups. Already-downloaded clips are reused across tasks, which reduces API calls and speeds up generation.
Setting material_directory = "task" disables clip sharing. Every task re-downloads the footage it needs, which can quickly consume disk space and exhaust API rate limits on busy systems.

Multiple API keys

Both Pexels and Pixabay enforce per-key rate limits. Providing multiple keys spreads the load:
pexels_api_keys = [
  "key-from-account-1",
  "key-from-account-2",
  "key-from-account-3"
]
MoneyPrinterTurbo cycles through the list for each request. Each key must correspond to a valid registered account on the respective service.

Build docs developers (and LLMs) love