Skip to main content
Glama

zoom

Create animated close-ups and pans in screen recordings from keyframes or automatically from clicks and screen changes, with optional click highlights and dry-run planning.

Instructions

Smooth animated zoom-and-pan, Screen Studio style: zoom into where the action is and back out. Give keyframes (rectangles by time), or let it plan them from the clicks in the recording's input event log or from where the screen changes. highlightClicks rings each click. dryRun returns the plan so it can be adjusted. Returns the output path.

Input Schema

NameRequiredDescriptionDefault
inputYesPath to the source video.
dryRunNoOnly return the planned keyframes (edit them and pass them back); write nothing.
eventsNoEvent log to read clicks from (default: the input's sibling .events.jsonl). Its times and pixels must match the input, so use the original recording, not a trimmed or scaled copy.
followNoWithout keyframes: clicks zooms toward each click in the recording's input event log (start_recording events: true), panning between clicks close together; changes zooms toward where the screen changed. auto (default) uses clicks when the log has any, else changes.
outputNoOptional output path. Defaults under SCREENCAST_HOME/edits.
holdSecNoAuto mode: stay zoomed this long after activity stops (default 2).
maxZoomNoAuto mode: the furthest it zooms in (default 2.5).
keyframesNoViews to animate between: each fills the frame with a source rectangle (x, y, width, height) by time t, or { t, full: true } to zoom out. Omit to plan them automatically (see follow).
overwriteNoAllow replacing an existing file at the output path (default false).
transitionSecNoHow long each zoom/pan eases (default 0.6).
highlightColorNoRing color: name, #RRGGBB, or name@alpha (default #FF4545).
highlightClicksNoDraw an expanding ring at each click from the event log (default false). Rings move with the zoom.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.32.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does a decent job: it discloses that `dryRun` writes nothing and returns an adjustable plan, and that the tool returns the output path. It stops short of stating whether the source is re-encoded or overwritten, or the cost of processing a long recording.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the effect and then the input modes. The parentheticals ('rectangles by time', 'Screen Studio style') earn their place, though the prose is dense enough that a bulleted split of keyframes vs auto-plan would read faster.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter tool with no annotations and no output schema, the description covers purpose, both input modes, the dry-run review loop, and the return value. Remaining gaps — encoding behavior and the requirement to pass the original unscaled recording — are partially handled by the schema itself.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description goes slightly beyond by explaining the interaction between `keyframes` and `follow` ('Omit to plan them automatically') and by summarizing `highlightClicks` as rings drawn at each click, which reinforces what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource — 'Smooth animated zoom-and-pan … zoom into where the action is and back out' — which is clearly an animated effect, not a static transform. That distinguishes it cleanly from siblings like crop, scale, reframe, and xfade_transition without needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives the two routes to using the tool clearly: supply keyframes yourself, or let it plan them from the event log or screen changes, with `follow` disambiguating the auto path. It does not say when to prefer this over static crop/reframe siblings, so a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.