Skip to main content

Create a Clip Job

  • Endpoint: POST /v3/ai-clipping
  • Purpose: Start a clipping job for a source video. Returns an ai_clipping_id to poll.

Quick Example

Response

Request Body

Output settings

Want captions on some clips and clean footage on others? Captions are a per-job setting, so submit two jobs from the same source video — one with "captions": false — and pick per platform. To style burned-in captions on other footage, caption_style presets like classic and bold keep the look consistent.

Get a Clip Job

Quick Example

Path Parameters

Response

Response Fields

Each video_url and thumbnail_url is a pre-signed link with a limited lifetime. Download the file (or hand the URL to a downstream step) soon after the job completes rather than caching it for later.

List Clip Jobs

Quick Example

Query Parameters

Response

The list endpoint reports coarse progress; poll GET /v3/ai-clipping/{job_id} for live in-flight progress on a specific job.

Delete a Clip Job

Quick Example

Response

Polling Pattern

Clip jobs are processed asynchronously. Poll until status reaches completed or failed. Status transitions: pendingrunningcompleted | failed
For long recordings, prefer a callback_url over tight polling — HeyGen will POST you the finished job instead (ai_clipping.success / ai_clipping.fail webhook events).

Asset Inputs

The video field accepts two input formats: By URL — any publicly accessible HTTPS link:
By asset ID — reference a file previously uploaded via POST /v3/assets (see Upload Assets):

Full Example

Pairing clips with audio? The same Tools suite covers background music and sound effects to score your cuts.