Tool tree
rough-cut.samarthsaxena1672003.workers.dev
page: /
request_video_uploadAction
Focus and highlight the source-video upload control so the human can click it and choose one local video. Returns human_action_required because browser security requires a user gesture.
View tool JSON
{
"name": "request_video_upload",
"kind": "act",
"impl": "imperative",
"description": "Focus and highlight the source-video upload control so the human can click it and choose one local video. Returns human_action_required because browser security requires a user gesture.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}page: /editor/demo
get_project_stateAnswer
Read the active project version, duration, ordered clips, transitions, protected ranges, captions, caption style, overlays, background music and B-roll markers. Call before editing.
View tool JSON
{
"name": "get_project_state",
"kind": "answer",
"impl": "imperative",
"description": "Read the active project version, duration, ordered clips, transitions, protected ranges, captions, caption style, overlays, background music and B-roll markers. Call before editing.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/editor/demo"
}get_activityAnswer
Read a paginated page of recent human, agent and system project activity.
View tool JSON
{
"name": "get_activity",
"kind": "answer",
"impl": "imperative",
"description": "Read a paginated page of recent human, agent and system project activity.",
"inputSchema": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [],
"additionalProperties": false
},
"page": "/editor/demo"
}rename_projectAction
Change the persisted project name used by the editor and default exports.
View tool JSON
{
"name": "rename_project",
"kind": "act",
"impl": "imperative",
"description": "Change the persisted project name used by the editor and default exports.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"name": {
"type": "string",
"description": "New project name"
}
},
"required": [
"expected_version",
"name"
],
"additionalProperties": false
},
"page": "/editor/demo"
}get_transcriptAnswer
Read a page of word-timestamped transcript for the active source video.
View tool JSON
{
"name": "get_transcript",
"kind": "answer",
"impl": "imperative",
"description": "Read a page of word-timestamped transcript for the active source video.",
"inputSchema": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"description": "Zero-based word offset",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "Words to return"
}
},
"required": [],
"additionalProperties": false
},
"page": "/editor/demo"
}search_transcriptAnswer
Find transcript words matching text and return surrounding word-timestamped context.
View tool JSON
{
"name": "search_transcript",
"kind": "answer",
"impl": "imperative",
"description": "Find transcript words matching text and return surrounding word-timestamped context.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Text to find"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"additionalProperties": false
},
"page": "/editor/demo"
}inspect_frameAnswer
Seek the visible editor to a timeline time and return the displayed frame as JPEG data with its exact time.
View tool JSON
{
"name": "inspect_frame",
"kind": "answer",
"impl": "imperative",
"description": "Seek the visible editor to a timeline time and return the displayed frame as JPEG data with its exact time.",
"inputSchema": {
"type": "object",
"properties": {
"timeline_ms": {
"type": "number",
"description": "Timeline position in milliseconds",
"minimum": 0
}
},
"required": [],
"additionalProperties": false
},
"page": "/editor/demo"
}detect_silencesAnswer
Analyze source audio with FFmpeg and return candidate silent source ranges. This does not edit the timeline.
View tool JSON
{
"name": "detect_silences",
"kind": "answer",
"impl": "imperative",
"description": "Analyze source audio with FFmpeg and return candidate silent source ranges. This does not edit the timeline.",
"inputSchema": {
"type": "object",
"properties": {
"threshold_db": {
"type": "number",
"minimum": -60,
"maximum": -10
},
"minimum_ms": {
"type": "number",
"minimum": 100,
"maximum": 5000
}
},
"required": [],
"additionalProperties": false
},
"page": "/editor/demo"
}transcribe_videoAction
Transcribe the source video with Cloudflare Whisper and save word timestamps. This may take several minutes.
View tool JSON
{
"name": "transcribe_video",
"kind": "act",
"impl": "imperative",
"description": "Transcribe the source video with Cloudflare Whisper and save word timestamps. This may take several minutes.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
}
},
"required": [
"expected_version"
],
"additionalProperties": false
},
"page": "/editor/demo"
}split_clipAction
Split one timeline clip at an exact source-media time.
View tool JSON
{
"name": "split_clip",
"kind": "act",
"impl": "imperative",
"description": "Split one timeline clip at an exact source-media time.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Clip ID from get_project_state"
},
"source_ms": {
"type": "number",
"description": "Source-media split time in milliseconds",
"minimum": 0
}
},
"required": [
"expected_version",
"clip_id",
"source_ms"
],
"additionalProperties": false
},
"page": "/editor/demo"
}split_textAction
Split one caption or text-overlay clip at an exact timeline time.
View tool JSON
{
"name": "split_text",
"kind": "act",
"impl": "imperative",
"description": "Split one caption or text-overlay clip at an exact timeline time.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"kind": {
"type": "string",
"enum": [
"caption",
"overlay"
]
},
"item_id": {
"type": "string",
"description": "Caption or overlay ID"
},
"timeline_ms": {
"type": "number",
"description": "Timeline split position",
"minimum": 0
}
},
"required": [
"expected_version",
"kind",
"item_id",
"timeline_ms"
],
"additionalProperties": false
},
"page": "/editor/demo"
}split_background_musicAction
Split one non-looping A2 music clip at an exact timeline time.
View tool JSON
{
"name": "split_background_music",
"kind": "act",
"impl": "imperative",
"description": "Split one non-looping A2 music clip at an exact timeline time.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Music clip ID"
},
"timeline_ms": {
"type": "number",
"description": "Timeline split position",
"minimum": 0
}
},
"required": [
"expected_version",
"clip_id",
"timeline_ms"
],
"additionalProperties": false
},
"page": "/editor/demo"
}trim_clipAction
Set a clip's source in and out points without rippling later clips.
View tool JSON
{
"name": "trim_clip",
"kind": "act",
"impl": "imperative",
"description": "Set a clip's source in and out points without rippling later clips.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Clip ID"
},
"source_in_ms": {
"type": "number",
"description": "New source in",
"minimum": 0
},
"source_out_ms": {
"type": "number",
"description": "New source out",
"minimum": 0
}
},
"required": [
"expected_version",
"clip_id",
"source_in_ms",
"source_out_ms"
],
"additionalProperties": false
},
"page": "/editor/demo"
}delete_clipAction
Delete one entire clip. By default its timeline gap remains; set ripple true to close the removed clip's span. Protected source ranges are rejected.
View tool JSON
{
"name": "delete_clip",
"kind": "act",
"impl": "imperative",
"description": "Delete one entire clip. By default its timeline gap remains; set ripple true to close the removed clip's span. Protected source ranges are rejected.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Clip ID"
},
"ripple": {
"type": "boolean",
"description": "Shift later clips left to close the removed span"
}
},
"required": [
"expected_version",
"clip_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}remove_segmentsAction
Remove one or more source-media ranges from every matching clip. Protected ranges are rejected.
View tool JSON
{
"name": "remove_segments",
"kind": "act",
"impl": "imperative",
"description": "Remove one or more source-media ranges from every matching clip. Protected ranges are rejected.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"ranges": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"start_ms": {
"type": "number",
"description": "Start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "End",
"minimum": 0
}
},
"required": [
"start_ms",
"end_ms"
],
"additionalProperties": false
}
}
},
"required": [
"expected_version",
"ranges"
],
"additionalProperties": false
},
"page": "/editor/demo"
}reorder_clipsAction
Replace timeline clip order atomically and pack clips together without gaps. Include every current clip ID exactly once.
View tool JSON
{
"name": "reorder_clips",
"kind": "act",
"impl": "imperative",
"description": "Replace timeline clip order atomically and pack clips together without gaps. Include every current clip ID exactly once.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
},
"required": [
"expected_version",
"clip_ids"
],
"additionalProperties": false
},
"page": "/editor/demo"
}move_clipAction
Move a linked video/audio clip to an explicit timeline position. Clips cannot overlap.
View tool JSON
{
"name": "move_clip",
"kind": "act",
"impl": "imperative",
"description": "Move a linked video/audio clip to an explicit timeline position. Clips cannot overlap.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Clip ID"
},
"timeline_start_ms": {
"type": "number",
"description": "Timeline start in milliseconds",
"minimum": 0
}
},
"required": [
"expected_version",
"clip_id",
"timeline_start_ms"
],
"additionalProperties": false
},
"page": "/editor/demo"
}adjust_clipAction
Adjust a clip's color, X/Y zoom and pan, volume, mute state, speed or edge fades. Omitted properties remain unchanged.
View tool JSON
{
"name": "adjust_clip",
"kind": "act",
"impl": "imperative",
"description": "Adjust a clip's color, X/Y zoom and pan, volume, mute state, speed or edge fades. Omitted properties remain unchanged.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Clip ID"
},
"brightness": {
"type": "number",
"minimum": -1,
"maximum": 1
},
"contrast": {
"type": "number",
"minimum": 0,
"maximum": 2
},
"saturation": {
"type": "number",
"minimum": 0,
"maximum": 3
},
"hue": {
"type": "number",
"minimum": -180,
"maximum": 180
},
"scale_x": {
"type": "number",
"minimum": 0.25,
"maximum": 4
},
"scale_y": {
"type": "number",
"minimum": 0.25,
"maximum": 4
},
"position_x": {
"type": "number",
"minimum": -100,
"maximum": 100
},
"position_y": {
"type": "number",
"minimum": -100,
"maximum": 100
},
"volume": {
"type": "number",
"minimum": 0,
"maximum": 5
},
"muted": {
"type": "boolean"
},
"speed": {
"type": "number",
"minimum": 0.5,
"maximum": 2
},
"fade_in_ms": {
"type": "number",
"description": "Fade-in duration",
"minimum": 0
},
"fade_out_ms": {
"type": "number",
"description": "Fade-out duration",
"minimum": 0
}
},
"required": [
"expected_version",
"clip_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}set_transitionAction
Set the transition from one clip into the next: cut, crossfade or fade-black.
View tool JSON
{
"name": "set_transition",
"kind": "act",
"impl": "imperative",
"description": "Set the transition from one clip into the next: cut, crossfade or fade-black.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Outgoing clip ID"
},
"type": {
"type": "string",
"enum": [
"cut",
"crossfade",
"fade-black"
]
},
"duration_ms": {
"type": "number",
"description": "Transition duration",
"minimum": 0
}
},
"required": [
"expected_version",
"clip_id",
"type"
],
"additionalProperties": false
},
"page": "/editor/demo"
}set_captionsAction
Replace captions with timed timeline text cues.
View tool JSON
{
"name": "set_captions",
"kind": "act",
"impl": "imperative",
"description": "Replace captions with timed timeline text cues.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"captions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Caption"
},
"start_ms": {
"type": "number",
"description": "Timeline start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "Timeline end",
"minimum": 0
},
"position": {
"type": "string",
"enum": [
"top",
"center",
"bottom"
]
}
},
"required": [
"text",
"start_ms",
"end_ms"
],
"additionalProperties": false
}
}
},
"required": [
"expected_version",
"captions"
],
"additionalProperties": false
},
"page": "/editor/demo"
}resync_captionsAction
Rebuild captions from the saved word-timestamped transcript and current clip layout without running transcription again. This replaces current captions.
View tool JSON
{
"name": "resync_captions",
"kind": "act",
"impl": "imperative",
"description": "Rebuild captions from the saved word-timestamped transcript and current clip layout without running transcription again. This replaces current captions.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
}
},
"required": [
"expected_version"
],
"additionalProperties": false
},
"page": "/editor/demo"
}add_captionAction
Add one positioned caption without replacing existing captions.
View tool JSON
{
"name": "add_caption",
"kind": "act",
"impl": "imperative",
"description": "Add one positioned caption without replacing existing captions.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"text": {
"type": "string",
"description": "Caption text"
},
"start_ms": {
"type": "number",
"description": "Timeline start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "Timeline end",
"minimum": 0
},
"position": {
"type": "string",
"enum": [
"top",
"center",
"bottom"
]
}
},
"required": [
"expected_version",
"text",
"start_ms",
"end_ms"
],
"additionalProperties": false
},
"page": "/editor/demo"
}update_captionAction
Edit an existing caption's text, timing or position. Text corrections to generated captions also update their linked transcript words.
View tool JSON
{
"name": "update_caption",
"kind": "act",
"impl": "imperative",
"description": "Edit an existing caption's text, timing or position. Text corrections to generated captions also update their linked transcript words.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"caption_id": {
"type": "string",
"description": "Caption ID"
},
"text": {
"type": "string"
},
"start_ms": {
"type": "number",
"description": "Timeline start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "Timeline end",
"minimum": 0
},
"position": {
"type": "string",
"enum": [
"top",
"center",
"bottom"
]
}
},
"required": [
"expected_version",
"caption_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}set_caption_styleAction
Set the shared subtitle size, color, background visibility and background opacity.
View tool JSON
{
"name": "set_caption_style",
"kind": "act",
"impl": "imperative",
"description": "Set the shared subtitle size, color, background visibility and background opacity.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"size": {
"type": "string",
"enum": [
"small",
"medium",
"large"
]
},
"color": {
"type": "string",
"enum": [
"white",
"yellow",
"lime"
]
},
"background": {
"type": "boolean"
},
"background_opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"expected_version"
],
"additionalProperties": false
},
"page": "/editor/demo"
}remove_captionAction
Remove one caption by ID.
View tool JSON
{
"name": "remove_caption",
"kind": "act",
"impl": "imperative",
"description": "Remove one caption by ID.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"caption_id": {
"type": "string",
"description": "Caption ID"
}
},
"required": [
"expected_version",
"caption_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}add_text_overlayAction
Add a positioned text overlay at timeline timestamps.
View tool JSON
{
"name": "add_text_overlay",
"kind": "act",
"impl": "imperative",
"description": "Add a positioned text overlay at timeline timestamps.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"text": {
"type": "string",
"description": "Overlay text"
},
"start_ms": {
"type": "number",
"description": "Timeline start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "Timeline end",
"minimum": 0
},
"position": {
"type": "string",
"enum": [
"top",
"center",
"bottom"
]
},
"font_size": {
"type": "number",
"description": "Font size",
"minimum": 0
},
"color": {
"type": "string",
"enum": [
"white",
"yellow",
"lime"
]
},
"background": {
"type": "boolean"
}
},
"required": [
"expected_version",
"text",
"start_ms",
"end_ms"
],
"additionalProperties": false
},
"page": "/editor/demo"
}update_text_overlayAction
Edit an existing text overlay's text, timing or position.
View tool JSON
{
"name": "update_text_overlay",
"kind": "act",
"impl": "imperative",
"description": "Edit an existing text overlay's text, timing or position.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"overlay_id": {
"type": "string",
"description": "Overlay ID"
},
"text": {
"type": "string"
},
"start_ms": {
"type": "number",
"description": "Timeline start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "Timeline end",
"minimum": 0
},
"position": {
"type": "string",
"enum": [
"top",
"center",
"bottom"
]
},
"font_size": {
"type": "number",
"description": "Font size",
"minimum": 0
},
"color": {
"type": "string",
"enum": [
"white",
"yellow",
"lime"
]
},
"background": {
"type": "boolean"
}
},
"required": [
"expected_version",
"overlay_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}remove_text_overlayAction
Remove one text overlay by ID.
View tool JSON
{
"name": "remove_text_overlay",
"kind": "act",
"impl": "imperative",
"description": "Remove one text overlay by ID.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"overlay_id": {
"type": "string",
"description": "Overlay ID"
}
},
"required": [
"expected_version",
"overlay_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}request_background_music_uploadAction
Switch to the Music tab and highlight the upload control so the human can choose a local audio file. Returns human_action_required because browser security requires a user gesture.
View tool JSON
{
"name": "request_background_music_upload",
"kind": "act",
"impl": "imperative",
"description": "Switch to the Music tab and highlight the upload control so the human can choose a local audio file. Returns human_action_required because browser security requires a user gesture.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
},
"page": "/editor/demo"
}adjust_background_musicAction
Adjust the uploaded A2 background-music track. The human must upload the audio asset first.
View tool JSON
{
"name": "adjust_background_music",
"kind": "act",
"impl": "imperative",
"description": "Adjust the uploaded A2 background-music track. The human must upload the audio asset first.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Music clip ID"
},
"timeline_start_ms": {
"type": "number",
"description": "Timeline start",
"minimum": 0
},
"source_in_ms": {
"type": "number",
"description": "Music source in",
"minimum": 0
},
"source_out_ms": {
"type": "number",
"description": "Music source out",
"minimum": 0
},
"speed": {
"type": "number",
"minimum": 0.5,
"maximum": 2
},
"volume": {
"type": "number",
"minimum": 0,
"maximum": 5
},
"muted": {
"type": "boolean"
},
"fade_in_ms": {
"type": "number",
"description": "Fade in",
"minimum": 0
},
"fade_out_ms": {
"type": "number",
"description": "Fade out",
"minimum": 0
},
"loop": {
"type": "boolean"
}
},
"required": [
"expected_version",
"clip_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}remove_background_musicAction
Remove one A2 background-music clip. Set ripple true to close the resulting A2 gap.
View tool JSON
{
"name": "remove_background_music",
"kind": "act",
"impl": "imperative",
"description": "Remove one A2 background-music clip. Set ripple true to close the resulting A2 gap.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"clip_id": {
"type": "string",
"description": "Music clip ID"
},
"ripple": {
"type": "boolean"
}
},
"required": [
"expected_version",
"clip_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}protect_segmentAction
Protect a source range so later destructive edits cannot remove it.
View tool JSON
{
"name": "protect_segment",
"kind": "act",
"impl": "imperative",
"description": "Protect a source range so later destructive edits cannot remove it.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"start_ms": {
"type": "number",
"description": "Source start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "Source end",
"minimum": 0
},
"label": {
"type": "string",
"description": "Why this must remain"
}
},
"required": [
"expected_version",
"start_ms",
"end_ms",
"label"
],
"additionalProperties": false
},
"page": "/editor/demo"
}unprotect_segmentAction
Remove protection from a source range by ID.
View tool JSON
{
"name": "unprotect_segment",
"kind": "act",
"impl": "imperative",
"description": "Remove protection from a source range by ID.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"range_id": {
"type": "string",
"description": "Protected range ID"
}
},
"required": [
"expected_version",
"range_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}mark_brollAction
Attach a B-roll brief to a spoken source range without generating footage.
View tool JSON
{
"name": "mark_broll",
"kind": "act",
"impl": "imperative",
"description": "Attach a B-roll brief to a spoken source range without generating footage.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"start_ms": {
"type": "number",
"description": "Source start",
"minimum": 0
},
"end_ms": {
"type": "number",
"description": "Source end",
"minimum": 0
},
"brief": {
"type": "string",
"description": "Visual brief"
}
},
"required": [
"expected_version",
"start_ms",
"end_ms",
"brief"
],
"additionalProperties": false
},
"page": "/editor/demo"
}remove_brollAction
Remove one B-roll marker by ID.
View tool JSON
{
"name": "remove_broll",
"kind": "act",
"impl": "imperative",
"description": "Remove one B-roll marker by ID.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
},
"marker_id": {
"type": "string",
"description": "B-roll marker ID"
}
},
"required": [
"expected_version",
"marker_id"
],
"additionalProperties": false
},
"page": "/editor/demo"
}undoAction
Undo the latest reversible timeline edit.
View tool JSON
{
"name": "undo",
"kind": "act",
"impl": "imperative",
"description": "Undo the latest reversible timeline edit.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
}
},
"required": [
"expected_version"
],
"additionalProperties": false
},
"page": "/editor/demo"
}redoAction
Redo the latest undone timeline edit.
View tool JSON
{
"name": "redo",
"kind": "act",
"impl": "imperative",
"description": "Redo the latest undone timeline edit.",
"inputSchema": {
"type": "object",
"properties": {
"expected_version": {
"type": "integer",
"minimum": 0,
"description": "Project version returned by get_project_state"
}
},
"required": [
"expected_version"
],
"additionalProperties": false
},
"page": "/editor/demo"
}export_mp4Action
Render the current project as an MP4. When rendering completes, a highlighted Download MP4 button appears in the editor; ask the human to click it because browser security requires a trusted user gesture to save the file.
View tool JSON
{
"name": "export_mp4",
"kind": "act",
"impl": "imperative",
"description": "Render the current project as an MP4. When rendering completes, a highlighted Download MP4 button appears in the editor; ask the human to click it because browser security requires a trusted user gesture to save the file.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/editor/demo"
}export_edlAction
Generate and download a CMX3600-style EDL for the current cut.
View tool JSON
{
"name": "export_edl",
"kind": "act",
"impl": "imperative",
"description": "Generate and download a CMX3600-style EDL for the current cut.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/editor/demo"
}export_srtAction
Generate and download an SRT subtitle file from the current captions.
View tool JSON
{
"name": "export_srt",
"kind": "act",
"impl": "imperative",
"description": "Generate and download an SRT subtitle file from the current captions.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/editor/demo"
}