Skip to main content
POST
Create AI Clipping

Authorizations

x-api-key
string
header
required

HeyGen API key. Obtain from your HeyGen dashboard.

Headers

Idempotency-Key
string

Optional client-supplied key for safely retrying mutations. Subsequent calls within 24 hours that share this key replay the original response — even if the request body differs slightly (a warning is logged). A retry that arrives while the original is still in flight gets a 409 request_in_progress. Keys must be 1–255 characters from [A-Za-z0-9_:.-]; a UUID is a safe default. Scope is per-endpoint and per-resource: the same key on a different route or path parameter is independent.

Required string length: 1 - 255
Pattern: ^[A-Za-z0-9_\-:.]{1,255}$

Body

application/json

Request body for POST /v3/ai-clipping.

video
AssetUrl · object
required

Asset input via publicly accessible HTTPS URL.

title
string | null

Title for the job. Defaults to the source video's title if omitted.

Maximum string length: 255
input_language
string | null

ISO-639-1 source language code (e.g. 'en', 'es'). Omit for auto-detect.

output_settings
HighlightOutputSettings · object

Configuration for the produced clips (duration mix, aspect ratio, captions, etc.).

callback_url
string | null

HTTPS URL to receive per-job webhook callbacks. Mirrors /v3/video-translations callback_url. Per-job callback_url deliveries are NOT HMAC-signed: authenticate them by verifying TLS and matching the echoed callback_id, and do not trust an unverified body. To receive a signed payload, register a webhook endpoint with a secret (the signature header is sent only to registered endpoints).

callback_id
string | null

Opaque client identifier echoed verbatim in webhook payloads. Mirrors /v3/video-translations callback_id.

Maximum string length: 128

Response

Accepted — submission acknowledged; poll for completion.

data
CreateAiClippingResponse · object

Response for POST /v3/ai-clipping. Mirrors the v3 single-ID create shape.