POST
/
api
/
clip-projects
curl --request POST \
  --url https://api.opus.pro/api/clip-projects \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "videoUrl": "https://www.youtube.com/watch?v=LXvv6CbGg8A",
  "conclusionActions": [
    {
      "type": "EMAIL",
      "notifyFailure": true,
      "email": "opusclip@opus.pro"
    }
  ],
  "curationPref": {
    "range": {
      "startSec": 28,
      "endSec": 636
    },
    "clipDurations": [
      [
        0,
        90
      ]
    ],
    "topicKeywords": [
      "OpusClip"
    ],
    "genre": "Auto",
    "skipCurate": false
  },
  "importPref": {
    "sourceLang": "auto"
  },
  "brandTemplateId": "preset-fancy-Karaoke"
}'
{
  "id": "P1111908HgB1",
  "userId": "google-oauth2|106053850538038134111",
  "orgId": "org_G5vEaJsd4111",
  "isDeleted": false,
  "isPurged": false,
  "projectId": "P1111908HgB0",
  "sourcePlatform": "YOUTUBE",
  "sourceId": "YT_tEXaoozFRes",
  "sourceUri": null,
  "labels": [],
  "productTier": "PRO",
  "stage": "QUEUED",
  "error": null,
  "stallCount": null,
  "workerUrl": null,
  "curationPref": {
    "range": {
      "startSec": 28,
      "endSec": 636
    },
    "clipDurations": [
      [
        0,
        90
      ]
    ],
    "topicKeywords": [
      "OpusClip"
    ],
    "genre": "Auto",
    "skipCurate": false
  },
  "storageSize": 0,
  "storageStatus": "TEMPORARY",
  "storageExpireAt": "2024-12-19T08:17:42.832Z",
  "renderPref": {
    "skipReframe": false,
    "enableSplitLayout": true,
    "enableFitLayout": false,
    "enableFillLayout": false,
    "enableScreenLayout": true,
    "enableThreeLayout": true,
    "enableFourLayout": true,
    "enableGameLayout": null,
    "enableAutoLayout": false,
    "disableFitLayout": false,
    "disableFillLayout": false,
    "fitLayoutCropRatio": "4:3",
    "enableCrop": true,
    "layoutAspectRatio": "portrait",
    "enableVisualHook": false,
    "enableCaption": true,
    "captionStyle": "one-line",
    "captionPosition": "auto",
    "enableCaptionAnimation": true,
    "captionAnimation": {
      "name": "pop",
      "highlightColor": "#04f827",
      "bgColor": ""
    },
    "enableHighlight": true,
    "enableEmoji": true,
    "emojiStyle": {
      "pos": null,
      "scaleX": null,
      "scaleY": null,
      "rect": {
        "xPct": 0,
        "yPct": -0.79,
        "wPct": 0.133,
        "hPct": 0.075,
        "type": "CPct"
      }
    },
    "enableUppercase": true,
    "highlightColor": {
      "primary": "#04f827",
      "secondary": "#FFFD03"
    },
    "font": {
      "id": null,
      "type": null,
      "name": null,
      "path": null,
      "size": "Large",
      "numericalSize": 50,
      "color": "#ffffff",
      "style": [
        "900"
      ],
      "textDecoration": "",
      "family": "Komika-axis",
      "stroke": {
        "enabled": true,
        "color": "#000000FF",
        "width": 16
      },
      "shadow": {
        "enabled": true,
        "color": "#FFFFFFFF",
        "x": 2,
        "y": 2,
        "blur": 16,
        "useWordHighlightColor": false
      }
    },
    "screenOverlay": null,
    "screenOverlayFileId": null,
    "screenOverlays": [
      {
        "object": {
          "id": null,
          "kind": null,
          "name": "overlay/org_G5vEaJsd4310/google-oauth2|106053850538038134310/1731395502191.png",
          "displayName": "test.png",
          "selfLink": null,
          "mediaLink": null,
          "bucket": "ext.gcs.opus.pro",
          "metageneration": null,
          "storageClass": null,
          "md5Hash": null,
          "etag": null,
          "crc32c": null,
          "contentType": null,
          "size": null,
          "updated": null,
          "timeCreated": null,
          "generation": null,
          "timeStorageClassUpdated": null
        },
        "style": null,
        "rect": {
          "xPct": 0.5806182121971597,
          "yPct": 0.6965845864661654,
          "wPct": 0.4193817878028405,
          "hPct": 0.3035714285714285,
          "type": "CPct"
        }
      }
    ],
    "enableBroll": null,
    "enableScreenOverlay": null,
    "disableScreenOverlay": null,
    "enableAutoTransition": true,
    "selectedTransitions": [
      "crossFade"
    ],
    "enableVoiceEnhancement": null,
    "enableWatermark": false
  },
  "refundStatus": null,
  "createdAt": "2024-11-19T08:17:42.832Z",
  "updatedAt": "2024-11-19T08:17:42.860Z",
  "clusterJobId": "FP.P1111908HgB1:20241119081742853.FP",
  "cluster": "gold",
  "importPref": {
    "sourceLang": "en"
  },
  "visibility": "DEFAULT",
  "permissions": [
    "PROJECT_SHARE",
    "PROJECT_EDIT",
    "PROJECT_VIEW"
  ],
  "promptRecommendations": [
    "Foo",
    "Boo"
  ]
}

👆Use above tools to generate API request code snippets.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
videoUrl
string
required

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 (up to 10GB per video)
Example:

"https://www.youtube.com/watch?v=LXvv6CbGg8A"

conclusionActions
object[]

Actions to be taken upon project conclusion, such as sending an email or triggering a webhook.

Example:
[
  {
    "type": "EMAIL",
    "notifyFailure": true,
    "email": "opusclip@opus.pro"
  }
]
curationPref
object

Preferences for advanced curation of the video.

Example:
{
  "range": { "startSec": 28, "endSec": 636 },
  "clipDurations": [[0, 90]],
  "topicKeywords": ["OpusClip"],
  "genre": "Auto",
  "skipCurate": false
}
importPref
object

Preferences for importing the video, such as source language.

Example:
{ "sourceLang": "auto" }
brandTemplateId
string

ID of the brand template to be used for the project.

Example:

"preset-fancy-Karaoke"

Response

201 - application/json
id
string
required

The unique identifier of the project.

Example:

"P1111908HgB1"

userId
string
required

The unique identifier of the user.

Example:

"google-oauth2|106053850538038134111"

orgId
string
required

The unique identifier of the organization.

Example:

"org_G5vEaJsd4111"

isDeleted
boolean
required

Indicates whether the project is deleted.

Example:

false

isPurged
boolean
required

Indicates whether the project is purged.

Example:

false

projectId
string
required

The unique identifier of the project.

Example:

"P1111908HgB0"

sourcePlatform
enum<string>
required

The platform from which the video is sourced.

Available options:
YOUTUBE,
UPLOADED,
YTDLP_LINK,
GDRIVE,
ZOOM,
STREAM_YARD
Example:

"YOUTUBE"

sourceId
string
required

The unique identifier for the video on the source platform.

Example:

"YT_tEXaoozFRes"

labels
string[]
required

Labels associated with the project.

Example:
[]
productTier
string
required

The product tier of the project.

Example:

"PRO"

stage
enum<string>
required

The current stage of the project.

Available options:
PENDING,
QUEUED,
IMPORT,
CURATE,
REFINE,
RENDER,
UPLOAD,
COMPLETE,
STALLED
Example:

"QUEUED"

storageSize
number
required

The total size of the project in bytes.

Example:

0

storageStatus
string
required

The storage status of the project.

Example:

"TEMPORARY"

storageExpireAt
string
required

The expiration date of the project storage.

Example:

"2024-12-19T08:17:42.832Z"

createdAt
string
required

The date and time when the project was created.

Example:

"2024-11-19T08:17:42.832Z"

updatedAt
string
required

The date and time when the project was last updated.

Example:

"2024-11-19T08:17:42.860Z"

clusterJobId
string
required

The unique identifier of the cluster job processing the project.

Example:

"FP.P1111908HgB1:20241119081742853.FP"

cluster
string
required

The cluster on which the project is running.

Example:

"gold"

visibility
enum<string>
required

The visibility of the project.

Available options:
DEFAULT,
PUBLIC,
PUBLIC_VIEW
Example:

"DEFAULT"

permissions
string[]
required

Permissions associated with the project.

Example:
[
  "PROJECT_SHARE",
  "PROJECT_EDIT",
  "PROJECT_VIEW"
]
promptRecommendations
string[]
required

Recommendations for project prompts.

Example:
["Foo", "Boo"]
sourceUri
string

The URI of the source video.

Example:

null

error
string

Error message, if any.

Example:

null

stallCount
number

The number of times the project has stalled.

Example:

null

workerUrl
string

The URL of the worker processing the project.

Example:

null

curationPref
object

Preferences for advanced curation of the video.

Example:
{
  "range": { "startSec": 28, "endSec": 636 },
  "clipDurations": [[0, 90]],
  "topicKeywords": ["OpusClip"],
  "genre": "Auto",
  "skipCurate": false
}
renderPref
object

Preferences for rendering the video, including layout and overlay options.

Example:
{
  "skipReframe": false,
  "enableSplitLayout": true,
  "enableFitLayout": false,
  "enableFillLayout": false,
  "enableScreenLayout": true,
  "enableThreeLayout": true,
  "enableFourLayout": true,
  "enableGameLayout": null,
  "enableAutoLayout": false,
  "disableFitLayout": false,
  "disableFillLayout": false,
  "fitLayoutCropRatio": "4:3",
  "enableCrop": true,
  "layoutAspectRatio": "portrait",
  "enableVisualHook": false,
  "enableCaption": true,
  "captionStyle": "one-line",
  "captionPosition": "auto",
  "enableCaptionAnimation": true,
  "captionAnimation": {
    "name": "pop",
    "highlightColor": "#04f827",
    "bgColor": ""
  },
  "enableHighlight": true,
  "enableEmoji": true,
  "emojiStyle": {
    "pos": null,
    "scaleX": null,
    "scaleY": null,
    "rect": {
      "xPct": 0,
      "yPct": -0.79,
      "wPct": 0.133,
      "hPct": 0.075,
      "type": "CPct"
    }
  },
  "enableUppercase": true,
  "highlightColor": {
    "primary": "#04f827",
    "secondary": "#FFFD03"
  },
  "font": {
    "id": null,
    "type": null,
    "name": null,
    "path": null,
    "size": "Large",
    "numericalSize": 50,
    "color": "#ffffff",
    "style": ["900"],
    "textDecoration": "",
    "family": "Komika-axis",
    "stroke": {
      "enabled": true,
      "color": "#000000FF",
      "width": 16
    },
    "shadow": {
      "enabled": true,
      "color": "#FFFFFFFF",
      "x": 2,
      "y": 2,
      "blur": 16,
      "useWordHighlightColor": false
    }
  },
  "screenOverlay": null,
  "screenOverlayFileId": null,
  "screenOverlays": [
    {
      "object": {
        "id": null,
        "kind": null,
        "name": "overlay/org_G5vEaJsd4310/google-oauth2|106053850538038134310/1731395502191.png",
        "displayName": "test.png",
        "selfLink": null,
        "mediaLink": null,
        "bucket": "ext.gcs.opus.pro",
        "metageneration": null,
        "storageClass": null,
        "md5Hash": null,
        "etag": null,
        "crc32c": null,
        "contentType": null,
        "size": null,
        "updated": null,
        "timeCreated": null,
        "generation": null,
        "timeStorageClassUpdated": null
      },
      "style": null,
      "rect": {
        "xPct": 0.5806182121971597,
        "yPct": 0.6965845864661654,
        "wPct": 0.4193817878028405,
        "hPct": 0.3035714285714285,
        "type": "CPct"
      }
    }
  ],
  "enableBroll": null,
  "enableScreenOverlay": null,
  "disableScreenOverlay": null,
  "enableAutoTransition": true,
  "selectedTransitions": ["crossFade"],
  "enableVoiceEnhancement": null,
  "enableWatermark": false
}
refundStatus
string

The refund status of the project.

Example:

null

importPref
object

Preferences for importing the video, such as source language.

Example:
{ "sourceLang": "en" }