Skip to main content
Glama

Set insert window

set_insert_window
Idempotent

PROJECT-SCOPED: this call acts only on the explicit project_id and returns the project identity with its result. Change which part of an already-spliced clip plays, IN PLACE — duration_s for how long it runs, clip_start_s for where in the clip it starts, rate for how FAST it plays. USE THIS instead of remove_insert + insert_media to trim or re-window a clip that is already on the timeline: removing and re-adding costs two edit versions and two renders, and the user watches their clip disappear and come back. rate (0.25-4, round 76) is THE tool for 'speed up that scene instead of cutting it': rate alone keeps the clip window and shortens the block (a 10s screen recording at rate 2 becomes a 5s scene with nothing lost, audio pitch-corrected); with duration_s the block is duration_s long and consumes duration_s*rate of clip. TO SPLIT a spliced clip in two: shorten it here to the first part, then insert_media the same asset_key at the SAME at_output_s with clip_start_s set to where the first part ended — the two halves play in the order you created them. crop=[x0,y0,x1,y1] (round 77) shows ONE REGION of the clip as the whole scene, letterboxed (black bars) — THE tool for 'show the full timeline strip/panel, nothing else, static': a zoom's 16:9 window can never hold a wide UI strip without also holding what sits above it, so crop the insert instead and leave the zoom wide over it. Fractions of the CLIP's frame, read off a look_at_asset grid; pass 'full' to clear. mute=true (round 78) silences the scene's OWN audio — THE answer to 'mute that clip' / 'mute all scenes' (set_volume only reaches the main footage; muting every scene = set_volume on the kept spans + mute on each video insert). mute=false brings it back. fit (round 79) sets how THIS scene maps onto the canvas: 'pad' shows the WHOLE picture letterboxed on black — THE fix for a portrait image or clip that the default cover-crop beheads ('the image looks corrupted / cut off') — 'pad_blur' fits it over a blurred backdrop, 'crop' forces the cover-crop, 'auto' clears the override. rotation repairs THIS scene clockwise by 0/90/180/270 degrees — use it for one sideways phone clip instead of a whole-program custom filter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
fitNo
cropNo
muteNo
rateNo
rotationNo
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.
clip_start_sNo
motion_motifNoActive Blueprint motion motif id this event executes; never 'hold'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

Annotations provide idempotentHint=true and destructiveHint=false, but the description adds substantial behavioral detail: project-scoped return, in-place mutation, rate's effect on duration and pitch, crop's letterboxing, mute's scope, fit modes, and rotation. It also clarifies what mute does not cover (main footage) and how to achieve full-scene muting. No contradictions 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.

Conciseness5/5

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

Though long, every sentence earns its place. It is front-loaded with the project-scoped warning and the core purpose. It is organized by parameter with clear round-number references and practical examples. The density is justified for a tool with 10 parameters and many alternative workflows.

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?

Given the complexity and lack of output schema, the description covers everything an agent needs: scope, all parameters, when to use vs alternatives, splitting workflow, and what the return value is. No missing behavioral or usage information.

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

Parameters5/5

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

Schema coverage is only 20%, so the description carries the burden. It explains duration_s, clip_start_s, rate, crop, mute, fit, and rotation with concrete examples and edge cases (e.g., rate with duration_s consumption, crop fractions from grid, fit 'pad' for portrait). This is far beyond what the schema provides.

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?

The description states a specific verb ('Change which part of an already-spliced clip plays') and the resource ('insert window'), and explicitly contrasts it with remove_insert + insert_media. It is immediately clear what this tool does and how it differs from siblings.

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?

It explicitly says 'USE THIS instead of remove_insert + insert_media' for trimming/re-windowing, explains why (cost, user experience), and gives a concrete workflow for splitting clips. It also routes rate/crop/mute/fit to specific user intents and references sibling tools like set_volume and insert_media.

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.