Skip to content

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.

Every route uses this prefix:

https://api.cut.pro/api/v1

Authentication is a key in the X-Api-Key header, and API access requires the Pro plan. See Authentication.

The API follows the same path as the studio, in steps you drive one request at a time:

  1. Analyze (free). Preview the metadata and the credit cost of a public link, without being charged.

    POST /clips/info

  2. Submit for clipping. Send the video in. Credits are charged right away.

    POST /clips

  3. Poll the submission. Keep polling until status turns completed or failed.

    GET /clips/{videoId}/submissions/{submissionId}

  4. Fetch the generated clips. Take what the AI produced, with timestamps, score and URLs.

    GET /clips/{videoId}/submissions/{submissionId}/clips

  5. Apply a template (optional). Apply one of your templates to the clips in bulk.

    POST /clips/{videoId}/submissions/{submissionId}/apply_template

  6. Render each clip. Produce the final MP4 and poll until it is done.

    POST .../clips/{clipId}/render and GET /renders/{renderId}

  7. Download and publish. Download the rendered video and, if you want, publish it.

    GET /renders/{renderId}/download and POST /posts

The Quickstart walks those seven steps with real requests and the response of each one.

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.

Response 402
{
"code": "INSUFFICIENT_CREDITS",
"extra": { "credits_needed": 121, "current_balance": 40, "is_reclip": false, "scope": "workspace", "is_owner": true }
}
StatusWhen it happensExample codes
400Invalid body or an operation out of orderVALIDATION_ERROR, TIMEFRAME_OUT_OF_BOUNDS, INVALID_METADATA
401Key missing, revoked or invalidUNAUTHORIZED
402Not enough credits for the submissionINSUFFICIENT_CREDITS
403The video or the resource is not reachablePRIVATE_VIDEO, REGION_BLOCKED, DAILY_LIMIT_EXCEEDED
404The resource does not exist in this workspaceVIDEO_NOT_FOUND, RENDER_NOT_FOUND
409The resource is in a state that rejects the operationVIDEO_ALREADY_PROCESSING, DUPLICATE_POST
410The result existed and has expiredSUBMISSION_EXPIRED, RENDER_FILE_EXPIRED
422The link is valid but the video cannot be clippedLIVE_STREAM, PLAYLIST_URL, AUDIO_ONLY
429Rate limit reachedRATE_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.

Authentication

How to create your key and send it with requests, workspaces included

Quickstart

A full example, from the link to the rendered MP4

Publishing

How to publish rendered clips to social networks