Clip a video¶
Create a new video from a section of an existing, completed video: a trim or highlight.
Both endpoints cut the same way and give the same picture (see How clips are produced). They differ in what the clip stores:
clip: an independent video. It copies the frames it needs into its own media, so it stands on its own and the source can be deleted afterwards.fastclip: much faster and far smaller. Rather than copying, it keeps referencing the source's already-encoded segments — so the source cannot be deleted while fast clips of it exist.
Open a completed video's edit page and use the Create Clip panel: scrub the video preview to where the clip should start and press Set start, then to the end and press Set end, and choose Create clip (independent copy) or Create fast clip (segment reuse).
Use the clip video ⧉ API endpoint; set fast to true for a fast clip (segment reuse) instead of an independent copy.
Choosing the range¶
Specify the cut with start_time and end_time, in seconds:
metadata optionally carries the clip's title and public flag. Encode-time settings (watermark, encoding tier, audio normalization) are inherited from the source video: the clip's media derives from the source's already-encoded renditions, so they can't be chosen per clip.
How clips are produced¶
Your video is stored as short (~6s) independently-decodable segments. For your cut, both clip and fastclip:
- keep every whole segment the cut spans, exactly as encoded, not re-encoded; and
- re-encode only the two boundary segments (the one the cut starts inside and the one it ends inside), and even then only the partial frames around the cut point.
So the amount of re-encoding is small and roughly constant whatever the clip's length (a 5-minute clip re-encodes about as much as a 30-second one), the middle of the clip keeps exactly the quality you already encoded, and the cut lands on the frame nearest the times you asked for — on the frame grid all quality levels share, so every level starts the clip on the same instant (for a 60fps video whose lower levels play at 30fps, that grid is the 30fps one).
The two endpoints part ways only at the last step. fastclip stores just the re-encoded boundaries and points at the source's segments for everything between them — which is why it is so much smaller and faster, and why it ties the clip's life to the source's. clip copies those segments into media of its own, giving a fully independent video.
If a cut is too short or misaligned to enclose a single whole segment (say, under ~6s), there is nothing to reuse and the video is re-encoded across that range. The audio is copied even then: every audio frame stands on its own, so audio is cut without re-encoding at any clip length.
Deleting the source
Because a fastclip reuses the source's media, the source video cannot be deleted while fast clips of it still exist. Delete the fast clips first, then the source. The same goes for an individual audio track on the source: one that fast clips carried along cannot be deleted while those clips exist. (A plain clip is independent and imposes no such restriction.)
Seeing a clip's source
When you open a fast clip's edit page, it names the source video, links to its edit page, and shows the cut range taken from it. (A plain clip is independent and shows no such link.)
Identifying a fast clip via the API
A video's asset object reports its clip provenance. For a fast clip, asset.source_asset_id is the ID of the source asset whose segments it reuses, and asset.clip_ranges lists the cut range(s) taken from the source (start/end, in seconds). Both are null/empty for normal videos and independent (clip) clips, so source_asset_id tells you whether a video is a fast clip and which source it came from.
Clipping a fast clip
A fast clip can't itself be clipped or fast-clipped: its media is a set of byte-range references into the source video's segments rather than an independent encode, so there is nothing standalone to cut from. Clip from the original source video instead. (A plain clip is a fully independent video and can be clipped again like any other.)