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 6 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
  • The curation model you prefer to use

New Feature: ClipAnything

Curious to try ClipAnything? Click here to learn more!

You can also explore different examples by switching tabs between ClipBasic and ClipAnything.

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": {
    "model":"ClipBasic",
    "clipDurations": [
     [
        0,
        180
      ]
    ],
    "genre": "Auto",
    "topicKeywords": [
      "OpusClip"
    ],
    "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.
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",
    "conclusionActions": [
{
    "type": "WEBHOOK",
    "notifyFailure": true,
    "url": "https://webhook.site/#!/view/d3ba169d-f9eb-4c78-a229-771eab9d6e67"
}
    ]
}'

Ensure you replace API_KEY with your actual API key.


Curation Model

Curate video clips using either ClipBasic or ClipAnything, depending on your needs.

  • ClipBasic is optimized for talking-head videos, providing precise scene selection.
  • ClipAnything is our most advanced and versatile model, capable of extracting key moments from any video type, including vlogs, sports, TV shows, behind-the-scenes footage, news, music videos, and more.

When to Use ClipAnything?

ClipAnything is ideal when you need advanced scene selection beyond talking-head videos. It utilizes multimodal reasoning, natural language prompts, and deep scene analysis to curate the most relevant moments based on objects, actions, emotions, and genre.

For more information about ClipAnything, refer to the link below.

What is ClipAnything

Explore the ClipAnything wiki for more details.

Model Selection & Parameters

By default, ClipBasic is used. To switch to ClipAnything, update your Curation Preferences.

  • The topicKeywords parameter is only applicable to ClipBasic.
  • The customPrompt parameter is exclusively available with ClipAnything.

For details on configuring curation settings, refer to the link below.

Curation Preferences Schema

View the curation preferences schema for more details.

Example:

You can explore different examples of using ClipBasic and ClipAnything by switching tabs below.

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": {
    "model":"ClipBasic",
    "clipDurations": [
     [
        0,
        180
      ]
    ],
    "genre": "Auto",
    "topicKeywords": [
        "OpusClip"
    ],
    "range": {}
  }
}'

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?