Set frame
set_framePROJECT-SCOPED: this call acts only on the explicit project_id and returns the project identity with its result. Set the output aspect ratio for every render. ratio: source, 16:9, 9:16, 1:1 or 4:5; mode: crop (default), pad (black bars) or pad_blur (blurred backdrop). focus_x/focus_y aim the CROP at the subject (fractions of the source frame, (0,0) = top-left) — without them the crop is the dead-center window, which chops an off-center speaker. For 'make it 9:16' on real footage PREFER auto_reframe, which measures the subject and sets the focus for you. Finals compose on an HD canvas so new captions and branding stay sharp even on archival footage; this does not restore missing source detail. focus_track replaces the complete per-shot track: [{t0,t1,x,y,mode}] in SOURCE seconds. Read get_edl(frame) first; change only the desired spans. Tracks survive trims and speed changes; a span edge within 0.25s of a camera cut snaps onto the cut. picture=[left,top,right,bottom] optionally places the main picture and inserts inside a normalized output rectangle on black. Crop/fit and focus apply inside it, preserving native audio/transcript timing. For a 4:3 picture on 9:16: picture=[0,0.2890625,1,0.7109375]. A rounded card on a designed canvas needs none of this: set_picture_card reads the full source frame itself. Captions, headlines and branding stay at the full delivery resolution. set_frame writes STILL aims: it drops a face-following path auto_reframe measured (call auto_reframe again to re-measure one).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| ratio | Yes | ||
| focus_x | No | ||
| focus_y | No | ||
| picture | No | ||
| project_id | Yes | Required immutable scope for this call. Copy the id from list_projects/open_project/project_state; the active-project pointer is never used to guess. | |
| focus_track | No |