Skip to main content
Zoom into a specific point on the footage in the clip’s Screen slot for a time range — the screen recording, or b-roll media a layout puts there at startTimeMs (the camera is unaffected). Use manualZoom for a fixed focus point or trackingZoom to follow the cursor in the screen recording. A zoom animates in and out by default; set introTransition or outroTransition to hard_cut to jump straight in or straight back. Zooms affect screen-slot footage, not the camera. An uploaded clip can be camera-only, so check the clip’s layoutSceneType with get_clip before adding a zoom. For a punch-in on a person, use a fullscreen layout with style: "stretch"; on basicSubject clips, this requires uploaded footage rather than a screen recording.
All times are milliseconds on the clip’s playback timeline — the video as watched, with cuts applied. It is the same timeline as get_transcript, thumbnails, and previews, so nothing needs converting. A start at or past the end of the clip is rejected with a 400.

list_zooms

List zooms on a clip.
string
required
Video ID
string
required
Clip ID

add_zoom

Add a zoom to a clip.
string
required
Video ID
string
required
Clip ID
enum<string>
required
manualZoom or trackingZoom
integer
required
Start time in ms
integer
required
Duration in ms
object
Required for manualZoom (rejected if missing); ignored for trackingZoom. Percentages — {xPct, yPct} (0-100).
number
required
Magnification factor (1 = no zoom, 3.5 = max). A zoom without a scale cannot be rendered.
enum<string>
How the zoom enters: smooth (default) animates in, hard_cut jumps straight in.
enum<string>
How the zoom leaves: smooth (default) animates out, hard_cut jumps straight back.

update_zoom

Update an existing zoom. Only provided fields change.
string
required
Video ID
string
required
Clip ID
string
required
Zoom ID
enum<string>
manualZoom or trackingZoom
integer
New start time in ms
integer
New duration
object
New focus point
number
New magnification
enum<string>
smooth or hard_cut
enum<string>
smooth or hard_cut

remove_zoom

Remove a zoom from a clip.
string
required
Video ID
string
required
Clip ID
string
required
Zoom ID

generate_auto_zooms

Automatically generate tracking zooms from the mouse clicks in the clip’s screen recording — the same as the editor’s “Generate zooms”. Every click opens a zoom window; nearby windows are merged, and the camera follows groups of clicks. Requires the clip to contain a screen recording; returns an empty list when it has no usable mouse clicks.
By default this removes the clip’s existing tracking zooms first, so repeated calls regenerate instead of stacking. Pass replaceExisting: false to keep them. Manual zooms are never touched.
string
required
Video ID
string
required
Clip ID
enum<string>
The editor’s zoom preset: subtle (1.5x, gentle), moderate (default, 2x), focused (2x, settles fast) or intense (2.5x, snappy). It also sets the clip’s zoom animation style. slow, medium and fast mean subtle, moderate and intense.
number
Override the magnification factor (1 = no zoom, 3.5 = max). Defaults to the preset’s scale (1.5 for subtle, 2 for moderate and focused, 2.5 for intense).
boolean
Defaults to true — existing tracking zooms are removed first. Pass false to keep them.
Last modified on October 22, 2026