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.4-cp314-cp314-win_amd64.whl (518.0 kB view details)

Uploaded CPython 3.14Windows x86-64

davinci_rest-0.2.4-cp313-cp313-win_amd64.whl (508.3 kB view details)

Uploaded CPython 3.13Windows x86-64

davinci_rest-0.2.4-cp312-cp312-win_amd64.whl (534.2 kB view details)

Uploaded CPython 3.12Windows x86-64

davinci_rest-0.2.4-cp311-cp311-win_amd64.whl (595.3 kB view details)

Uploaded CPython 3.11Windows x86-64

davinci_rest-0.2.4-cp310-cp310-win_amd64.whl (546.1 kB view details)

Uploaded CPython 3.10Windows x86-64

File details

Details for the file davinci_rest-0.2.4-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for davinci_rest-0.2.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b5bb4fefd23648b5151e03268cf2216f577afb8b15f64248353093138a17bfbd
MD5 ed04574307acf4c06ccc0bbf2c31c93c
BLAKE2b-256 068c4fd1f3ae0a66cff24576e9bb62dbc22c718a08d5995aba1e0b98ca497f0a

See more details on using hashes here.

File details

Details for the file davinci_rest-0.2.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for davinci_rest-0.2.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3bce8de258d86cb15ec704b1e9c6b8c72d69e79a98511e86f9339faa6a54157b
MD5 8e15b3e43ab0d07170675ccd0c05f152
BLAKE2b-256 b89c483865820243d17463b783f4feb2f6d3ded53deea4bc8a8d0f98a2929919

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for davinci_rest-0.2.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d60467660b65ba21ef9ce0e84119a9ecede5939b94ad543eceef36a50d1b03c9
MD5 b86a16fcc37aa80909115958e4459a69
BLAKE2b-256 be0ba53af41fb0beb841232b230701f46422c7c731ab4c3b380e3ff449fd1615

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for davinci_rest-0.2.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9328e7fd3f3ad68f282f623f564baa2171e2c592b182eda3c7995011edfdb275
MD5 0f501bc6bfc45ce959c5b05f84c8d90e
BLAKE2b-256 23d163006ad8692afa6ec915630a8e35d5b2fd70dc92300b7c6fcf98f88d355b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for davinci_rest-0.2.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9ae17c1637fe8844476ff340e05829de9289a10e7cf2899f6653a6b17acb6aaa
MD5 03c7f27c8613c355f3226b3b1359a3b3
BLAKE2b-256 f198fa0fe2046c23d6fbe32e1affd3838b0a6b9682aa585f9ac13bfa12372154

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