A lightly opinionated DaVinci Resolve Python API wrapper
Provides auto completion, type hints and great API reference documentation.
I really just wanted auto completion in the IDE and to program transcoding RAW formats
- PyDavinci requires Python 3.10 or higher
- External scripting with PyDavinci requires Resolve Studio 18 (Free version does not allow API access)
- The pip version currently works for Davinci Resolve Studio 17. For use with Resolve 18, install it with git.
pip install git+https://github.com/pedrolabonia/pydavinci
Now, with Davinci Resolve open, we just need to import it!
from pydavinci import davinci
resolve = davinci.Resolve()
- Check out the usage examples
- Or go deep in the documentation
For launching scripts externally, you also need the Studio version.
If you're working with the built-in Davinci Resolve Python console, you need to install pydavinci
for the Python interpreter that's used by Davinci's console.
For avoiding conflicts when using inside the embedded console, don't use resolve
as the entry point variable, as that's reserved by the console. Example of suggested usage:
For pydavinci
to work by launching scripts outside the embedded console, make sure external scripting is set to Local
in Settings -> System -> General
Up to date docs are still a work in progress. At some point expect to see the original API reference extended and some further examples included. For now go to the original PyDavinci project
Here's a quick list of changes and added API support not present in the original docs:
- Python 3.10 typing
- Using Hatch for project management
- Using Ruff for linting
- Added Gallery API wrapper (untested)
- Added timeline.settings.timecode setter
- Support Resolve's GetUniqueID method