Apply a batch of timeline ops to a project, all or nothing: insert_clip, remove_clip, move_clip, trim_clip, split_clip, set_clip_speed, set_look, set_framing (editable reframe/punch-in: focusX/focusY/zoom + the source's pixel size), replace_clip, set_clip_volume, add_broll/edit_broll/remove_broll, set_audio/remove_audio/set_audio_mix, set_captions/transcribe_captions/edit_caption_line/set_caption_style/remove_captions, add_text/edit_text/remove_text, set_aspect_ratio, set_background. Pass expectedRevision from your last read so the user's own edits are never overwritten; on revision_conflict, re-read the returned summary and rebuild the ops. dryRun:true validates and returns the resulting summary without saving. Free, except transcribe_captions (1 credit per transcribed file): that call returns a quote first; show it to the user and call again with the same ops plus quoteToken only after they agree. Returns the new revision and editorUrl (the edit lands in the user's editable project).