Video Clipping is the repurposing primitive for turning long-form video into short-form content. Submit a video URL (a direct file or a YouTube link) and a worker transcribes it, scores the most engaging segments, cuts them into clips, burns in captions, and — by default — reframes them to vertical 9:16. All jobs go through the unified jobs system, and credits are metered on the true actuals at completion.
CLI First
| Tool | Type | Description | Cost |
|---|
naive_create_clips | Core | Submit a video for auto-clipping (async) | Metered per input minute |
naive_clips_status | Core | Check a clip job’s status | Free |
Creating clips
POST /v1/video/clip submits a video for clipping. The only required field is video_url — a public https URL to a video no longer than 90 minutes (a direct file or a supported host such as YouTube).
Response (202):
Parameters
| Param | Type | Required | Default | Description |
|---|
video_url | string | Yes | — | Public https URL to a video (≤ 90 min). Direct file or YouTube. |
aspect_ratio | string | No | "9:16" | Output ratio: "9:16" (vertical, face-tracked reframe) or "16:9" (keep original) |
remove_silence | boolean | No | false | Trim silences from each clip (adds a small per-clip surcharge) |
Only one clip job may be in flight per account at a time. YouTube-source jobs also have a rolling 24-hour bandwidth ceiling to bound proxy cost.
Polling for completion
Clip extraction takes several minutes. Poll the job:
Response (completed):
Each finished clip is auto-ingested into your Media Asset Manager with source_type: "video_clipping". Use naive media list --source video_clipping or GET /v1/media?source_type=video_clipping to find them.
Cost
Clipping is metered, not a flat fee — the charge is derived entirely server-side from the true actuals of each job (transcribed audio minutes, scoring tokens, clip count, optional silence-removal and 9:16 reframe compute, and — for YouTube sources — proxy bandwidth). Credits are charged on completion only; failed or cancelled jobs cost nothing. A short direct-file clip settles for a fraction of a credit; a long YouTube source with reframing settles higher.
Preview the pricing band with GET /v1/video/pricing.
Error handling
| Error | Cause | Recovery |
|---|
invalid_input | Missing/invalid video_url or bad aspect_ratio/remove_silence | Provide a public https video_url; aspect_ratio must be "9:16" or "16:9" |
insufficient_credits | Not enough credits for the provisional hold | Top up with naive billing topup |
rate_limited | Daily YouTube proxy-bandwidth ceiling reached | Retry after 24h, or use a direct file URL (no proxy) |
provider_error | Upstream transcription/processing failed | Check the video URL and try again |
Typical workflow