POST
/
api
/
clip-projects
cURL
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",
  "model": "ClipBasic",
  "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<date-time>
required

The date and time when the project was created.

Example:

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

updatedAt
string<date-time>
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

model
enum<string>

The AI clipping model used for the project.

Available options:
ClipAnything,
ClipBasic
Example:

"ClipBasic"

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" }