Docs

clip_enhance MCP tool

Zooms and chroma key.

View as Markdown

MCP name clip_enhance dispatches to renderer clipEnhance.

Does not use hosted quota. Local editor operation.

Zooms and chroma key. action addZoom adds Vidova zoom segments. action manageZooms lists/adds/updates/deletes zooms; pass zoomAction as list, add, update, or delete. action chromaKey keys a video or image clip. Editor must be open. Does not use hosted quota. Local editor operation.

Advertised MCP input

This tool is registered with passthrough. The fields below are what listTools advertises. The renderer still validates the child fields for the chosen action or kind. Extra advertised-only values are documented under Reachable behavior.

FieldTypeRequiredConstraintsDefaultDescription
actionenum("addZoom", "manageZooms", "chromaKey")yes——action for clip_enhance
resultStartintegernomin 0; max 90071992547409910First character offset to return. Use 0 for the first call.
resultEndintegernomin 1; max 90071992547409918000Exclusive end offset. resultEnd - resultStart must be at most 8000. Increment resultStart by 8000 to page through large results.

Reachable behavior

Advertised action values match the renderer children: addZoom, manageZooms, chromaKey.

Renderer child fields

These are the authoritative fields for each action. Send them on the same MCP call. Grouped MCP tools use passthrough, so these fields are not all listed in the advertised schema.

action=addZoom

Renderer tool: addZoomToVidovaClip.

Add zoom effects to a vidova (screen recording) clip. Creates zoom clips on the associated zoom layer. Each zoom segment defines when the zoom starts, its duration, magnification factor, and behavior. Use 'tracking' zoomEffectType for cursor-following zooms (great for tutorials) and 'manual' for fixed-point zooms. Use getTimelineState first to find the vidova clip ID.

FieldTypeRequiredConstraintsDefaultDescription
clipIdstringyesminLength 1——
zoomsobject[]yesminItems 1—Array of zoom segments to add to the vidova clip
zooms[].startnumberyesmin 0—Start time in seconds (relative to the vidova clip start)
zooms[].durationnumberyesexclusiveMin 0—Duration of the zoom effect in seconds
zooms[].factornumbernomin 1; max 101.5Zoom magnification factor (1 = no zoom, 2 = 2x, etc.)
zooms[].anchorXnumbernomin -1; max 10Anchor X in range -1 to 1. 0 = center. Only used for manual zoom.
zooms[].anchorYnumbernomin -1; max 10Anchor Y in range -1 to 1. 0 = center. Only used for manual zoom.
zooms[].zoomEffectTypeenum("tracking", "manual")no—"tracking"'tracking' follows the cursor (default for screen recordings), 'manual' zooms to a fixed anchor point
zooms[].trackTypeenum("cinematic", "centered")no—"cinematic"'cinematic' = smooth follow, 'centered' = lock to cursor. Only applies when zoomEffectType is 'tracking'.
zooms[].namestringno——Optional name for this zoom segment
zooms[].depthobjectnostrict—Optional 3D zoom. Set enabled:true to re-project the frame onto a tilted plane with real perspective instead of a flat scale. Angles (tiltX/tiltY/roll and glideTiltX/glideTiltY/glideRoll) are RADIANS in -0.35..0.35; focalLength is 24-120mm. The zoom eases into the tilt/roll/dolly pose, glides to the glide* pose while held, then eases flat. Omitted fields fall back to the defaults.
zooms[].depth.enabledbooleanno———
zooms[].depth.intensitynumbernomin 0; max 2——
zooms[].depth.focalLengthnumbernomin 24; max 120——
zooms[].depth.tiltXnumbernomin -0.35; max 0.35——
zooms[].depth.tiltYnumbernomin -0.35; max 0.35——
zooms[].depth.rollnumbernomin -0.35; max 0.35——
zooms[].depth.dollynumbernomin -0.35; max 0.35——
zooms[].depth.glideTiltXnumbernomin -0.35; max 0.35——
zooms[].depth.glideTiltYnumbernomin -0.35; max 0.35——
zooms[].depth.glideRollnumbernomin -0.35; max 0.35——
zooms[].depth.glideDollynumbernomin -0.35; max 0.35——
zooms[].depth.anchorInfluencenumbernomin 0; max 1——
zooms[].depth.depthShadingnumbernomin 0; max 0.6——
zooms[].depth.rimnumbernomin 0; max 0.5——
zooms[].depth.sheennumbernomin 0; max 0.6——
zooms[].depth.depthBlurnumbernomin 0; max 10——
zooms[].depth.shadownumbernomin 0; max 0.6——

action=manageZooms

Renderer tool: manageVidovaZooms.

List, add, update, or delete the zoom regions on a vidova (screen recording) clip. Zoom regions live on the clip's linked zoom layer. Use zoomAction 'list' to discover zoom clip IDs before updating or deleting them.

FieldTypeRequiredConstraintsDefaultDescription
clipIdstringyesminLength 1——
zoomActionenum("list", "add", "update", "delete")yes———
zoomsobject[]nominItems 1——
zooms[].startnumberyesmin 0——
zooms[].durationnumberyesexclusiveMin 0——
zooms[].factornumbernomin 1; max 101.5—
zooms[].anchorXnumbernomin -1; max 10—
zooms[].anchorYnumbernomin -1; max 10—
zooms[].zoomEffectTypeenum("tracking", "manual")no—"tracking"—
zooms[].trackTypeenum("cinematic", "centered")no—"cinematic"—
zooms[].namestringno———
zooms[].depthobjectnostrict——
zooms[].depth.enabledbooleanno———
zooms[].depth.intensitynumbernomin 0; max 2——
zooms[].depth.focalLengthnumbernomin 24; max 120——
zooms[].depth.tiltXnumbernomin -0.35; max 0.35——
zooms[].depth.tiltYnumbernomin -0.35; max 0.35——
zooms[].depth.rollnumbernomin -0.35; max 0.35——
zooms[].depth.dollynumbernomin -0.35; max 0.35——
zooms[].depth.glideTiltXnumbernomin -0.35; max 0.35——
zooms[].depth.glideTiltYnumbernomin -0.35; max 0.35——
zooms[].depth.glideRollnumbernomin -0.35; max 0.35——
zooms[].depth.glideDollynumbernomin -0.35; max 0.35——
zooms[].depth.anchorInfluencenumbernomin 0; max 1——
zooms[].depth.depthShadingnumbernomin 0; max 0.6——
zooms[].depth.rimnumbernomin 0; max 0.5——
zooms[].depth.sheennumbernomin 0; max 0.6——
zooms[].depth.depthBlurnumbernomin 0; max 10——
zooms[].depth.shadownumbernomin 0; max 0.6——
updatesobject[]nominItems 1——
updates[].zoomClipIdstringyesminLength 1——
updates[].startnumbernomin 0——
updates[].durationnumbernoexclusiveMin 0——
updates[].factornumbernomin 1; max 10——
updates[].anchorXnumbernomin -1; max 1——
updates[].anchorYnumbernomin -1; max 1——
updates[].zoomEffectTypeenum("tracking", "manual")no———
updates[].trackTypeenum("cinematic", "centered")no———
updates[].namestringno———
updates[].depthobjectnostrict——
updates[].depth.enabledbooleanno———
updates[].depth.intensitynumbernomin 0; max 2——
updates[].depth.focalLengthnumbernomin 24; max 120——
updates[].depth.tiltXnumbernomin -0.35; max 0.35——
updates[].depth.tiltYnumbernomin -0.35; max 0.35——
updates[].depth.rollnumbernomin -0.35; max 0.35——
updates[].depth.dollynumbernomin -0.35; max 0.35——
updates[].depth.glideTiltXnumbernomin -0.35; max 0.35——
updates[].depth.glideTiltYnumbernomin -0.35; max 0.35——
updates[].depth.glideRollnumbernomin -0.35; max 0.35——
updates[].depth.glideDollynumbernomin -0.35; max 0.35——
updates[].depth.anchorInfluencenumbernomin 0; max 1——
updates[].depth.depthShadingnumbernomin 0; max 0.6——
updates[].depth.rimnumbernomin 0; max 0.5——
updates[].depth.sheennumbernomin 0; max 0.6——
updates[].depth.depthBlurnumbernomin 0; max 10——
updates[].depth.shadownumbernomin 0; max 0.6——
zoomClipIdsstring[]nominItems 1——

action=chromaKey

Renderer tool: applyChromaKeyToClip.

Apply a chroma key (green screen) effect to a video or image clip. Makes the chosen key color transparent so you can composite over another background. Use getTimelineState to find clip IDs.

FieldTypeRequiredConstraintsDefaultDescription
clipIdstringyesminLength 1——
colorstringyespattern ^#[0-9a-fA-F]\{3,6\}$—Key color to make transparent (hex)
thresholdnumbernomin 0; max 10.4Tolerance 0–1: higher = more pixels become transparent
smoothnessnumbernomin 0; max 10.1Edge softness 0–1 (optional)

Result window

Every local MCP tool accepts resultStart and resultEnd so large payloads can be paged.

  • resultStart — first character offset. Default 0.
  • resultEnd — exclusive end offset. Default 8000.
  • resultEnd - resultStart must be at most 8000 characters.
  • Increment resultStart by 8000 to read the next window.