video_id. There are two ways to get one, and both converge on the same next step: calling POST /clips with that video_id (see the Quickstart).
The video must be at least 1 minute long. The maximum duration depends on your plan.
Option A: by public URL
The simplest way. Send the URL of a public video (YouTube, TikTok, Twitch, Kick, Vimeo, etc.) for analysis. Analyzing costs no credits.video_id, credits_cost (what you will be charged when you submit), current_balance, and the video’s title/duration. Save the video_id and continue to POST /clips.
Option B: uploading your own file
For videos from your computer, the upload is done in three steps with a presigned URL, sending the bytes directly to storage.Upload limits: maximum 2 GB and extensions
.mp4, .mov, .webm, .mkv. The presigned URL expires in 1 hour.1
Start the upload
Declare the file name and the content type. The response includes the
video_id, the upload_url (where to send the bytes), and expires_in (seconds until it expires).2
Send the bytes to the upload_url
Do a The
PUT of the file directly to the upload_url. Do not send your API key here (the URL is already signed), and use the same Content-Type you declared in the previous step.PUT must return 200 before you continue.3
Complete the upload
Register the upload, providing the dimensions and duration of the file (measured on your side). The response includes the video metadata and
credits_cost, just like analysis by URL.Next step
With thevideo_id in hand (from either option), submit it for clipping:
Continue in the Quickstart from the “Send for clipping” step (
POST /clips).