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")yesaction 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 1Array of zoom segments to add to the vidova clip
zooms[].startnumberyesmin 0Start time in seconds (relative to the vidova clip start)
zooms[].durationnumberyesexclusiveMin 0Duration 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[].namestringnoOptional name for this zoom segment
zooms[].depthobjectnostrictOptional 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.