add_marker
Pin a moment on the timeline — a beat to cut on, a mistake to come back to, the top of a section. Markers belong to the timeline rather than to any item, because what they usually mark is the join between two, and a…
atSeconds: number?, label: string?, timelineId: string?
add_media_from_url
Bring a video or audio file into the media library. url is a public http(s) URL, or a data: URL (base64; 24 MB decoded at most) when you hold the bytes — a voice-over a tool returned, say. Sniffed on arrival: mp4…
url: string, name: string?
add_shape
Put a shape on the timeline, sized in timeline pixels and placed by anchor and offsets (default anchor top-left, so offsetX/offsetY are its top-left corner in frame pixels; anchor center places its middle). rect and…
shape: string?, width: number?, height: number?, fill: string?, outline: string?, outlineWidth: number?, corners: number?, points: string?, … (list cut; the site may define more)
add_text
Put an animated title on the timeline from a preset: type the words, pick the preset, place it. (For a shape — a rectangle, frame, ring, arrow, marker and so on — use add_shape.) It animates in from its start and out…
preset: string?, text: string, subtext: string?, atSeconds: number?, durationSeconds: number?, trackId: string?, anchor: string?, style: object?, … (list cut; the site may define more)
add_to_timeline
Place a source on the timeline. kind "media" takes a filename from list_media, "clip" a clip id (an overlay layer with real alpha), "transcript" an id (burnt-in captions, auto-aligned to its footage if placed)…
kind: string, sourceId: string, atSeconds: number?, durationSeconds: number?, inSeconds: number?, trackId: string?, timelineId: string?
add_track
Add a video track (above the others) or an audio track (below).
kind: string, name: string?, timelineId: string?
add_voice
Give the chosen voice provider a new voice and select it. VoiceBox: one of its built-in presets ("kokoro/ef_dora", from list_voices) saved as a profile, or a clone of a recording in the library — fromSourceId plus…
name: string, preset: string?, fromSourceId: string?, referenceText: string?, language: string?
add_voice_over
Read a script aloud into an audio file and drop it on an audio track. Needs a voice that returns audio — the computer’s own voices cannot be recorded. Check speech_setup first; use time_script to see how long a script…
text: string, voice: string?, language: string?, name: string?, atSeconds: number?
capture_timeline_frame
Composite the timeline — footage, overlays and captions stacked exactly as the render will — and show it. With a server you get a PNG URL to fetch; with no server the stage is left parked on that frame for you to look…
timeSeconds: number?, count: integer?, fromSeconds: number?, toSeconds: number?, timelineId: string?
check_layoutread-only
Where the overlays sit on screen, and which collide. Each overlay is drawn offscreen and the box of what it actually paints measured (at a quarter, half and three quarters of its life); pairs that share time and…
fromSeconds: number?, toSeconds: number?, timelineId: string?
check_timelineread-only
Preflight the timeline for what only shows after rendering: missing media or clips, items running past the end of their file, opaque clips used as overlays (they cover everything beneath), letterboxed footage…
timelineId: string?
claim_timeline
Say who is working on a timeline, so others keep off. Advisory: the claim shows in list_timelines and the rail; once you have named yourself here, edits to a timeline another agent holds are refused unless you take it…
timelineId: string?, agent: string, release: boolean?, force: boolean?
clear_keyframes
Remove keyframes from an item — one property, or all of them. It goes back to standing still at whatever its plain values are.
itemId: string, property: string?
create_project
Create a new project, open it, and select its starter clip. Use this to keep unrelated work apart rather than piling clips into one project.
name: string
create_timeline
Add a timeline to the project and open it. Defaults to 1920x1080, 30fps, black. Comes with tracks V2, V1 (picture) and A1.
name: string?, width: integer?, height: integer?, fps: integer?, background: string?
cross_dissolve
Turn the cut after an item into a cross dissolve. One track holds one item at a time, so the next item is lifted to the track above and pulled back over this one, and both get the matching half of the fade. The result…
itemId: string, seconds: number?
cut_source_ranges
Remove parts of an item by SOURCE time — the times find_in_transcript and get_transcript give — and ripple the whole timeline closed. This is how "cut the part where she repeats herself" or "drop every um" is done…
itemId: string, ranges: array, timelineId: string?
cut_time_range
Remove a stretch of SEQUENCE time from every unlocked track and close the gap — items spanning it are cut and rejoined, later items slide back. Lock a track (set_track) to protect a music bed. Undoable.
fromSeconds: number, toSeconds: number, timelineId: string?
delete_item
Remove an item. ripple:true also closes the gap by pulling everything after it on that track back.
itemId: string, ripple: boolean?, timelineId: string?
delete_marker
Remove a marker by its id (from list_markers).
markerId: string, timelineId: string?
delete_timeline
Remove a timeline document — a version you are done with. Refused for the main timeline and for one placed as a section somewhere (flatten or delete the blocks first). Its undo history goes with it; the timeline is…
timelineId: string
detach_audio
Separate an item's sound from its picture: the sound becomes its own item on an audio track (same file, in-point and length) and the picture is muted. Then either can be trimmed, moved, replaced (replace_audio) or…
itemId: string, timelineId: string?
detect_silenceread-only
Find silent gaps from the waveform. With itemId the gaps come back in SEQUENCE seconds for that item; with media (a filename) they come back in SOURCE seconds for the whole file. Tune with thresholdDb / minGapSeconds…
itemId: string?, media: string?, thresholdDb: number?, minGapSeconds: number?, keepMs: integer?, timelineId: string?
duplicate_timeline
Copy a timeline as a new version — every track and item with fresh ids, placed right after the original, named "<name> v2" unless told otherwise. Sections (blocks playing other timelines) stay shared; deep: true…
name: string?, deep: boolean?, open: boolean?, timelineId: string?
edit_transcript
Replace what is said in a window of SOURCE time: cues wholly inside go, cues crossing an edge are cut at it, the new cues are put in. This is how the words of a re-voiced part are updated — captions on that footage…
transcriptId: string, fromSeconds: number, toSeconds: number, cues: array
export_captions
One subtitle file from the timeline's caption items — every caption item when itemIds is empty, or just those — timed as the captions fall on the timeline, so it lines up with the rendered video (times "source" keeps…
itemIds: array?, format: string?, times: string?, name: string?, timelineId: string?
find_in_transcriptread-onlyuntrusted content
Find where a phrase is spoken. Returns each match with its SOURCE start/end seconds — exact to the word when the transcript has word timings, otherwise the containing cue. Feed the times to cut_source_ranges to remove…
transcriptId: string, query: string, timelineId: string?
flatten_item
Replace a timeline block with the items inside it, on parent tracks of the same kind and name (new tracks where those are busy; nothing is overwritten). Items are clipped to the block's window, volume and opacity…
itemId: string, timelineId: string?
freeze_frame
Hold one frame: save it to Assets and place it on the timeline as a still. A freeze is a picture of a shot rather than a property of it, so what you get is an ordinary image item — it trims, moves, scales, turns and…
atSeconds: number?, source: string?
get_narrationread-onlyuntrusted content
What is said when, in TIMELINE seconds — the map to plan overlays from ("put the keycap where he presses Ctrl"). Uses the captions placed on the timeline, else the transcript bound to its footage, mapped through each…
fromSeconds: number?, toSeconds: number?, query: string?, timelineId: string?
get_timelineread-only
The open timeline: settings, tracks and every item with id, type, track, start–end in seconds and source in-point. Tracks are listed top to bottom; the last video track is the picture, those above are overlays. Notes…
trackId: string?, fromSeconds: number?, toSeconds: number?, timelineId: string?
get_timeline_stateread-only
Playhead position, whether it is playing, timeline length, the selected item, and how many edits can be undone. Cheap; call it before capture_timeline_frame or after a batch of edits.
get_transcriptread-onlyuntrusted content
Read a transcript window. format "cues" gives timed lines, "words" gives every word with its own start/end (when the source has them), "text" gives plain prose. Times are SOURCE seconds of the media file. Output is…
transcriptId: string, fromSeconds: number?, toSeconds: number?, format: string?
list_clipsread-only
List the clips of the open project with id, name, pixel size, duration, frame rate and background. The selected clip is marked with an asterisk. Filter by a name fragment with query; page with offset (40 per page).…
query: string?, offset: integer?
list_keyframesread-only
Every keyframe on an item, per property, in the item's own time.
itemId: string
list_markersread-only
Every marker on a timeline, in time order.
timelineId: string?
list_mediaread-only
Video and audio files in the media library, with the filename to use as sourceId, duration, size, frame rate and whether each has picture and sound.
list_projectsread-only
List every saved project with its id and clip count. The open one is marked with an asterisk.
list_text_presetsread-only
The ready-made animated title styles a text item can use — title, lower third, subtitle bar, pop-words, typewriter, impact, label, quote — with the fields each takes and its default length, plus the shapes add_shape…
list_timelinesread-only
The project as a tree: the main timeline (★, what the project delivers), the sections it plays (⧉, indented, in time order, with where they sit), then timelines placed nowhere yet. Shows claims and notes. The open one…
list_transcriptsread-only
Imported transcripts (SRT, VTT, Whisper JSON) with id, cue count, length, whether they carry word-level timings, and the media file each is bound to.
list_voicesread-only
The voices the chosen voice provider can speak with, grouped by language, each with the id to pass as voice to add_voice_over — and which voice and language the person has selected. With VoiceBox it also counts the…
language: string?
move_item
Move an item to a time, optionally onto another track of the same kind. Whatever it lands on is trimmed out of its way.
itemId: string, atSeconds: number, trackId: string?, timelineId: string?
move_track
Reorder a track among those of its kind. Order is stacking order: the top track draws over everything beneath it, in the preview and in the render, so an overlay track that must show over another goes above it. Video…
trackId: string, direction: string?, index: integer?, timelineId: string?
nest_items
Group items into a new sub-timeline: they move into it (same layout, re-based to zero) and one block plays it in their place. The block opens as its own timeline — the unit of work to hand to an agent. Nothing is…
itemIds: array?, name: string?, timelineId: string?
open_project
Switch the editor to another project. Clip tools then act on that project.
projectId: string
open_timeline
Open another timeline of the project in the editor.
timelineId: string
redo_edit
Redo the last undone timeline edit.
timelineId: string?
remove_silence
Detect the silent gaps in an item and cut them all out of the timeline, rippling every unlocked track so captions and overlays stay aligned. Run detect_silence first to see what will go; lock a music bed with…
itemId: string, thresholdDb: number?, minGapSeconds: number?, keepMs: integer?, timelineId: string?
render_timeline
Render the whole timeline to a file: animation and caption layers are rendered to alpha first, then ffmpeg composites them over the footage and mixes the audio. mp4 = H.264+AAC; mov = ProRes 4444+PCM with alpha; webm…
format: string?, quality: integer?, timelineId: string?
replace_audio
Put a different sound under an item — the new voice back from a voice tool, say. The item's own sound is muted and the new file is laid on an audio track aligned to the item's start. The reply says if the new sound is…
itemId: string, media: string, inSeconds: number?, timelineId: string?
save_frame
Grab one frame into the asset library as a PNG: "footage" takes the exact source frame of the footage under the playhead (or timeSeconds); "composite" takes the whole stacked frame — footage, overlays, captions. Use…
timeSeconds: number?, source: string?, name: string?, timelineId: string?
seek_timeline
Move the timeline playhead so the preview shows that moment.
timeSeconds: number, timelineId: string?
select_clip
Make a clip the active one in the editor. Other tools default to the selected clip.
clipId: string
select_items
Select items on the timeline, as shift-clicking them would. The selection is what the Export parts dialog and the multi-item actions start from; an empty list clears it.
itemIds: array, timelineId: string?
set_cue
Change one cue by index (from get_transcript order): its text, start or end in source seconds, or delete it. Text edits drop that cue's word timings. Reverted by undo_transcript_edit.
transcriptId: string, index: integer, text: string?, fromSeconds: number?, toSeconds: number?, delete: boolean?
set_item
Change one item: timing (start, length, in-point), placement (fit for footage; anchor/offsetX/offsetY for overlays), size (scale for footage, nested blocks and animation clips; imageStyle/textStyle width and height…
itemId: string, name: string?, startSeconds: number?, durationSeconds: number?, inSeconds: number?, fit: string?, anchor: string?, offsetX: integer?, … (list cut; the site may define more)
set_keyframe
Make a value different at two moments and the editor draws the line between: where the layer sits (offsetX, offsetY), how big it is (scale) and how solid (opacity). Times are the *item's own*, counted from its start…
itemId: string, property: string, atSeconds: number?, value: number?, ease: string?
set_timeline_settings
Change a timeline's name, frame size, frame rate, background or note, or make it the main timeline. Items are not rescaled; footage refits by its fit mode. A note is read by whoever works there next — leave…
name: string?, width: integer?, height: integer?, fps: integer?, background: string?, note: string?, main: boolean?, timelineId: string?, … (list cut; the site may define more)
set_track
Rename, colour, annotate, mute, hide or lock a track. A note is free text shown in get_timeline — leave instructions for later. A locked track is skipped by cut_time_range, cut_source_ranges and remove_silence.
trackId: string, name: string?, note: string?, color: string?, muted: boolean?, hidden: boolean?, locked: boolean?, timelineId: string?, … (list cut; the site may define more)
First 60 of 66 shown.