Introduction

OpusClip identifies the most compelling hooks, extracts highlights from different parts of your video, and arranges them into viral shorts.

The body of the POST /clip-projects endpoint has 5 main components:


Video URL

This parameter defines the URL of the long-form video. OpusClip can import public videos from the following platforms:

  • YouTube, Google Drive, Vimeo, Zoom, Rumble, Twitch, Facebook, LinkedIn, X, Dropbox, Riverside, Loom, Frame.io, StreamYard
  • Any public video S3 link of an MP4 file
curl --request POST \
  --url https://api.opus.pro/api/clip-projects \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
  "videoUrl": "https://www.youtube.com/watch?v=tEXaoozFRes"
}'

Ensure you replace API_KEY with your actual API key.


Brand Templates

We offer an option to customize the appearance of your clips by brand template.

  • If a brand template is specified, relevant render preferences will be applied.
  • It is recommended to define your brand templates within the OpusClip dashboard and set your default template.
  • If a brand template not defined, the default template on your account will be used automatically.

For example, to use the Karaoke brand template:

curl --request POST \
  --url https://api.opus.pro/api/clip-projects \
  --header 'Authorization Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "videoUrl": "https://www.youtube.com/watch?v=tEXaoozFRes",
    "brandTemplateId": "preset-fancy-Karaoke"
  }'

Ensure you replace API_KEY with your actual API key.


Curation Preferences

Curation preferences define how your long-form video should be curated. Here you can define:

  • The duration of the resulting clips
  • The genre of the video
  • Topic keywords that you want to prioritize clipping for

Curation Preferences Schema

Please refer to the curation preferences schema for more details.

Example:

curl --request POST \
  --url https://api.opus.pro/api/clip-projects \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
  "videoUrl": "https://www.youtube.com/watch?v=tEXaoozFRes",
  "curationPref": {
    "clipDurations": [
      [
        0,
        90
      ]
    ],
    "genre": "Auto",
    "topicKeywords": [
      "Opus",
      "Clip"
    ],
    "range": {
      "startSec": 105,
      "endSec": 300
    }
  }
}'

Ensure you replace API_KEY with your actual API key.


Import Preferences

Import preferences let you define the language of the original video. OpusClip supports videos in 20+ languages.

By default, the video language is automatically detected. It is recommended that if your video is not in English, you should specify the language.

Example

curl --request POST \
  --url https://api.opus.pro/api/clip-projects \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
  "videoUrl": "https://www.youtube.com/watch?v=tEXaoozFRes",
  "importPreference": {
    "sourceLang": "de"
  }
}'

Ensure you replace API_KEY with your actual API key.
Ensure you fill in sourceLang with language code.


Conclusion Actions

Conclusion actions allow you to call a webhook or email a specific person when your results are ready.

You can explore different examples of using webhooks or email notifications by switching tabs below.

Ensure you replace API_KEY with your actual API key.


Playground

Generate Code Snippet

You can use this code generator to generate code snippets easily.


Response Schema

API Response Schema

For more details of response, please refer to the API response schema.

Was this page helpful?