Skip to main content
Glama

Set transitions

set_transitions
Idempotent

PROJECT-SCOPED: this call acts only on the explicit project_id and returns the project identity with its result. Transitions at SCENE CHANGES — junctions where the footage actually changes shot, or where an insert (b-roll, title card, generated clip) splices in. All duration-preserving junction effects (footage never overlaps, timing never changes). IMPORTANT — after cut_silences a talking-head video has one junction per removed pause, and nearly all of them are JUMP CUTS inside one continuous shot: same framing, same subject, the speaker's head half a word further along. A jump cut works by being invisible. Putting a whip or a dip on each one fires a full-screen effect every couple of seconds through footage that never changed scene, and it reads as broken — a real user shipped 45 whips through one continuous shot and said so. scope defaults to 'scene' and handles this for you; the result tells you how many junctions it actually landed on and how many it skipped, so report THAT number, not the cut count. Pass scope='every_cut' whenever that stronger treatment serves the edit. Styles: 'dip_black' = quick dip through black (calm, universal); 'dip_white' = soft white fade-through; 'whip_left'/'whip_right' = fast directional slide with motion blur (energetic vlogs/reels); 'zoom_punch' = accelerating push through the cut (hype, sports); 'glitch' = RGB-split/noise burst (tech, gaming); 'flash' = additive white pop peaking ON the cut (beat-synced edits). duration_s 0.1-1.5 (default 0.3; keep whip/flash short, 0.15-0.4). 'none' removes them (hard cuts again). True crossfades (overlapping footage) are NOT supported — offer one of these instead and say so.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNo'scene' (default) = only where the footage changes shot or an insert splices in. 'every_cut' = every junction including silence-removal jump cuts; use it whenever that is the intended treatment.
styleYes
duration_sNo
project_idYesRequired immutable scope for this call. Copy the id from list_projects/open_project/project_state; the active-project pointer is never used to guess.
motion_motifNoActive Blueprint motion motif id this event executes; never 'hold'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations, it discloses critical behavioral traits: project-scoping via project_id, duration-preserving semantics (no overlap or timing change), the default scope behavior, the result's landed/skipped counts, the project identity return, and the unsupported crossfade path. The '45 whips' anecdote adds operational context. No contradiction with annotations.

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?

The description is long but well-structured and front-loaded: scoping first, then semantics, then the critical jump-cut warning, style catalog, duration guidance, and unsupported operations. There is no filler; even the anecdote carries decision-relevant context. It could be trimmed, but the density is justified by the domain complexity.

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

Completeness5/5

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

For a mutation tool with 5 parameters, no output schema, and subtle scope semantics, the description is remarkably complete. It covers project-scoping, style selection, duration constraints, removal via 'none', the landed/skipped result reporting, and the unsupported crossfade case. An agent has the context needed to invoke it correctly and report back accurately.

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 60%, leaving style and duration_s undocumented in the schema. The description compensates by explaining each style's visual effect, duration range with default and style-specific recommendations, and 'none' removal semantics. It reinforces the scope parameter and references the project identity return. It doesn't add detail for motion_motif, but that param has a schema description.

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

Purpose4/5

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

The description clearly identifies the tool's function: applying duration-preserving transition effects at specific junction types (scene changes and inserts), with an explicit catalog of styles. It distinguishes itself from the many set_* siblings by focusing on junction categories and scope. The exact 'set' verb is implied rather than stated up front, but the meaning is unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance: default to scope='scene', pass scope='every_cut' deliberately, and report the landed/skipped junction counts rather than cut count. It warns of the concrete failure mode with jump cuts after cut_silences and explicitly states that crossfades are unsupported, so the agent knows to offer alternatives. This is model guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.