Skip to main content

A REST server for interacting with DaVinci Resolve

Project description

DaVinci Resolve REST API

A Python app that provides a REST API for controlling DaVinci Resolve and a Python client to easily integrate DaVinci Resolve control into your Python applications.

This package allows users to create, open, and manage projects, import media, and add clips to the timeline through a FastAPI server and a Python client.

Tested with DaVinci Resolve 18.6 (Free Version). It is likely compatible with newer versions as well.

Although the package is currently in its early stages with a few available endpoints, we are committed to continuously improving it and adding more functionality.

Note: Used by ShortFabrik, a web UI for automated short video creation with DaVinci Resolve.


Features

  • Create new projects in DaVinci Resolve.
  • Open existing projects with ease.
  • Import media clips into the Media Pool.
  • Add clips to the timeline with precise control.

The package includes:

  • A FastAPI server to expose REST endpoints for DaVinci Resolve.
  • A Python client for easy interaction from your Python applications.

Installation

Install the package directly from PyPI:

pip install davinci-rest

Note: Ensure that DaVinci Resolve is running and that the FastAPI server is started before using the client.


Starting the FastAPI Server

The FastAPI server must be running to handle REST API requests.

Step 1: Move launch_davinci_rest.py to DaVinci Resolves Script Folder

  1. Navigate to DaVinci Resolves Scripts folder:

    • Windows:
      C:\ProgramData\Blackmagic Design\DaVinci Resolve\Fusion\Scripts\
  2. Place the launch_davinci_rest.py file into the Scripts folder.


Step 2: Run the Server from DaVinci Resolve

Launch the server from DaVinci Resolve:

  • Go to Workspace -> Scripts -> launch_davinci_rest.

Once the server is running, you can send requests to the REST API at:

http://localhost:5001

Usage Guide

Here is how to use the DavinciRestClient to interact with DaVinci Resolve via the REST API.

Import the Client:

from davinci_rest.client import DavinciRestClient

# Initialize the client
client = DavinciRestClient()

Example Usage:

# Create a new project
response = client.create_project("MyProject")
print(response)

# Open an existing project
response = client.open_project("MyProject")
print(response)

# Import a clip into the Media Pool
response = client.import_clip("C:\path\to\clip.mp4", "MyClip")
print(response)

# Add a clip to the timeline
response = client.add_clip_to_timeline("MyClip", start_time=10.0, duration=5.0)
print(response)

Available API Endpoints

The following endpoints are exposed by the FastAPI server:

Endpoint Method Description
/project/create POST Create a new project in DaVinci Resolve.
/project/open POST Open an existing project.
/media/import_clip POST Import a clip into the Media Pool.
/timeline/add_clip POST Add a clip to the timeline.

Want More Advanced Features?

I am thinking of releasing a pro version that will include automatic subtitle generation, the ability to apply FX through the API, and more powerful endpoints for advanced control of DaVinci Resolve workflows.

Interested? Visit https://beluck.net/davinci-rest to learn more and provide your feedback!


Development Status

This package is in early development, and we are continuously improving the free version. Expect new features and enhancements in future updates!

We highly value user feedback. If you have suggestions or feature requests, please reach out to us!


License

This project is licensed under the MIT License. See the LICENSE file for more details.


More Information

For more information or support, please visit:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

davinci_rest-0.2.1-cp312-cp312-win_amd64.whl (488.1 kB view details)

Uploaded CPython 3.12Windows x86-64

davinci_rest-0.2.1-cp311-cp311-win_amd64.whl (601.2 kB view details)

Uploaded CPython 3.11Windows x86-64

davinci_rest-0.2.1-cp310-cp310-win_amd64.whl (498.7 kB view details)

Uploaded CPython 3.10Windows x86-64

davinci_rest-0.2.1-cp39-cp39-win_amd64.whl (501.8 kB view details)

Uploaded CPython 3.9Windows x86-64

davinci_rest-0.2.1-cp38-cp38-win_amd64.whl (511.2 kB view details)

Uploaded CPython 3.8Windows x86-64

File details

Details for the file davinci_rest-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for davinci_rest-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fabf90b8bce9700dff35e57100c618e00934a3658a5f1f6fecdffbecdfd88a11
MD5 3fbff52b7b2bc4bf3d1b8588bd512f13
BLAKE2b-256 f5e383757e461aa8c7352d1a26eb428687368e00eda0653e11dd0175759211bc

See more details on using hashes here.

File details

Details for the file davinci_rest-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for davinci_rest-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d1389778fd3762d7e5905863ea8303888ac002d42c9bf02143bbb450d483363d
MD5 ae3fd78c0ca5c27a392b0b25e54a8a85
BLAKE2b-256 4b88a47f61cf52db8eb7d0a71890b6d5027427a4bd2e2757210d9ce511abb424

See more details on using hashes here.

File details

Details for the file davinci_rest-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for davinci_rest-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 faf326fa79506a9f1267367ca40b3729ff75d8f23c8e9b5e8540a446bcaa8878
MD5 08915256d4b6a9cde6f61fcc0b7ca637
BLAKE2b-256 3c28033f09b798c3da40d84bcc03175360dfb4a53aedc487e6a0802de0f10f59

See more details on using hashes here.

File details

Details for the file davinci_rest-0.2.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: davinci_rest-0.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 501.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.1

File hashes

Hashes for davinci_rest-0.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 acee3934f2c4c48465b8a7bc06453cfd7e5ab4694caa6b3e4a20db332ff6079c
MD5 f2910e915a2b819c5ba82277be9041ff
BLAKE2b-256 2436e1ec6c7d65f2f04b1251d7d118103f1f7632186b880201aaa1e39ff1c6f5

See more details on using hashes here.

File details

Details for the file davinci_rest-0.2.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: davinci_rest-0.2.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 511.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.1

File hashes

Hashes for davinci_rest-0.2.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9c44e5547be92f7873b971a38ac6ac4f24f1b7e705a893e130417817d5f8d8b5
MD5 9f17965656288a16b92393207de39bbe
BLAKE2b-256 1c290db1cac94c47f64cbb59bf1e3a06b7fa387e54879ae769e853e276154421

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page