How to create your key and send it with requests, workspaces included
API overview
The CutPro API automates the whole AI clipping flow: you send a video link, the AI finds the best moments, and you get the clips ready to render and publish, all over HTTP requests.
Base URL
Section titled “Base URL”Every route uses this prefix:
https://api.cut.pro/api/v1Authentication is a key in the X-Api-Key header, and API access requires the Pro plan. See Authentication.
The typical flow
Section titled “The typical flow”The API follows the same path as the studio, in steps you drive one request at a time:
-
Analyze (free). Preview the metadata and the credit cost of a public link, without being charged.
POST /clips/info -
Submit for clipping. Send the video in. Credits are charged right away.
POST /clips -
Poll the submission. Keep polling until
statusturnscompletedorfailed.GET /clips/{videoId}/submissions/{submissionId} -
Fetch the generated clips. Take what the AI produced, with timestamps, score and URLs.
GET /clips/{videoId}/submissions/{submissionId}/clips -
Apply a template (optional). Apply one of your templates to the clips in bulk.
POST /clips/{videoId}/submissions/{submissionId}/apply_template -
Render each clip. Produce the final MP4 and poll until it is done.
POST .../clips/{clipId}/renderandGET /renders/{renderId} -
Download and publish. Download the rendered video and, if you want, publish it.
GET /renders/{renderId}/downloadandPOST /posts
The Quickstart walks those seven steps with real requests and the response of each one.
Errors
Section titled “Errors”Every error response has the same shape: a stable, upper-case code your code handles in a switch. The text a person reads is written by you, in their language.
{ "code": "INSUFFICIENT_CREDITS", "extra": { "credits_needed": 121, "current_balance": 40, "is_reclip": false, "scope": "workspace", "is_owner": true }}| Status | When it happens | Example codes |
|---|---|---|
400 | Invalid body or an operation out of order | VALIDATION_ERROR, TIMEFRAME_OUT_OF_BOUNDS, INVALID_METADATA |
401 | Key missing, revoked or invalid | UNAUTHORIZED |
402 | Not enough credits for the submission | INSUFFICIENT_CREDITS |
403 | The video or the resource is not reachable | PRIVATE_VIDEO, REGION_BLOCKED, DAILY_LIMIT_EXCEEDED |
404 | The resource does not exist in this workspace | VIDEO_NOT_FOUND, RENDER_NOT_FOUND |
409 | The resource is in a state that rejects the operation | VIDEO_ALREADY_PROCESSING, DUPLICATE_POST |
410 | The result existed and has expired | SUBMISSION_EXPIRED, RENDER_FILE_EXPIRED |
422 | The link is valid but the video cannot be clipped | LIVE_STREAM, PLAYLIST_URL, AUDIO_ONLY |
429 | Rate limit reached | RATE_LIMIT_EXCEEDED |
When the code is VALIDATION_ERROR, the response also carries an errors array naming the field that failed. The codes each route can return are listed in the reference, response by response.
Quality and rights
Section titled “Quality and rights”Next steps
Section titled “Next steps”A full example, from the link to the rendered MP4
How credits are spent on each submission
How to publish rendered clips to social networks