Skip to main content
POST
auto reframe

Authorizations

Authorization
string
header
required

An API key (es_live_…) from Settings, under API keys, or an OAuth access token.

Headers

Idempotency-Key
string

Retry a paid dispatch safely: the same key returns the job already dispatched instead of charging again.

x-workspace-id
string

The workspace this one call acts in, when it is not the default: for a key or a connected agent, one of the workspaces the user allowed it.

Body

application/json
timeline_id
string
required

The timeline id.

clip_id
string

The video clip to reframe. Absent: every video clip on the timeline.

clip_ids
string[]

Instead of clip_id: several video clips.

Required array length: 1 - 50 elements
view
object

Show one area of the source for the whole clip: its centre as fractions of the source (x 0 the source's left edge, y 0 its top; a larger x slides the picture left in the box) and, to zoom, its width as a fraction of the source width; no width shows as much as the box holds. Kept inside the picture, up to 5x. Needs clip_id (video or image). Replaces the clip's scale, pan and focus track.

subject
enum<string>

What the crop follows: people (default; aimed at the head), or any: the largest thing detected when no person is in shot.

Available options:
person,
any
follow
enum<string>

Where two people share the frame: speaker cuts the crop to whoever is talking, from a speaking-face read at a dozen of each voice's turns, once per recording. Needs speakers on the recording; where it cannot tell, the crop holds on one person and says which. On a split-screen source each person stays inside their own half, by the clip's scale and pan; a clip with scale or position keys keeps them.

Available options:
subject,
speaker
background
string

Show the whole picture instead of a crop: the clip fitted (a wide source as a centred band in a tall frame) over a blurred copy of itself that fills the frame, a silent clip on a layer below. Needs clip_id or clip_ids.

Allowed value: "blur"
if_revision

The revision get_timeline returned. A stale one fails with revision_conflict instead of applying; so does no revision once a user edited the timeline in the app since this connection last read it.

context
string

Optional: one sentence shown to the user beside this action.

Maximum string length: 600

Response

Done, or a job started for work that runs longer (follow it with get_jobs).

ok
any
required
data
object
required
meta
object
required
media
object[]