Getting started¶
Install¶
Requirements¶
- Python 3.10+ — matches DaVinci Resolve's embedded Python on current versions
- DaVinci Resolve Studio 18.5+ — see below
- macOS, Windows, or Linux
Resolve Studio is required
External scripting is a Studio-only feature. Blackmagic restricted the scripting API to the paid version starting in Resolve 19.1 — the free edition's External scripting using preference no longer accepts Local.
Studio costs $295 as a perpetual one-time license, or $30/month per seat via Blackmagic Cloud. If you only have the free edition, dvr will raise ScriptingDisabledError when trying to connect. The schema and inspection commands still work in --dry-run mode for evaluation.
dvr auto-discovers Resolve's scripting library on each platform. No environment variables are needed for typical installs. If yours is non-standard, set RESOLVE_SCRIPT_LIB to the absolute path of fusionscript.so / fusionscript.dll.
Verify the connection¶
Open DaVinci Resolve, then run:
You should see something like:
If you get a ScriptingDisabledError, open Resolve's preferences:
- Preferences → System → General
- Set External scripting using to Local
- Quit and re-launch Resolve
Your first command¶
Inspect the current state of Resolve:
Switch to a page:
List your projects:
Create a project (idempotent — safe to re-run):
Get a structured snapshot of the current timeline:
Next steps¶
- Python library — use
dvrfrom your own scripts - CLI reference — full command list and flags
- Declarative specs — reconcile state from a YAML file
- Daemon mode — keep Resolve warm for fast back-to-back commands
- MCP server — let an LLM drive Resolve directly