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. motion=none removes local zoom/pan, which otherwise still crops the picture AFTER pad/pad_blur fitting.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
fitNo
cropNo
muteNo
rateNo
motionNo
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. Changed1 schema field changed
    • addedInput schema / properties / motion
      Added value: +{
      +  "enum": [
      +    "none",
      +    "zoom_in",
      +    "zoom_out",
      +    "pan_left",
      +    "pan_right"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare non-destructive and idempotent, and the description adds meaningful context: it operates in place, avoids remove/re-add costs, and returns the project identity. It does not, however, detail failure modes or error conditions beyond the scope note.

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

Conciseness3/5

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

Content is dense and largely earns its place, but the description is a wall of text mixing many concerns (split workflow, crop, mute, fit, rotation, motion) with minimal structural separation, making it hard to scan. The project-scope note is front-loaded, but the rest is not prioritized.

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 an 11-parameter mutation tool with no output schema, the description explains most parameters and the return of project identity, covering the key behavioral notes. Minor gaps remain for id and motion_motif.

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 only 18%, so the description must carry parameter meaning — and it does: rate range (0.25-4) and its pitch-corrected behavior, duration_s vs. clip_start_s interplay, crop format/reading, mute semantics, fit values, and rotation. It leaves motion_motif and id unexplained, so it is not fully complete.

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?

States a specific verb and resource — changing which part of an already-spliced clip plays, in place — and explicitly distinguishes itself from the remove_insert + insert_media alternative. An agent can identify the operation without opening the schema.

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?

Provides explicit when-to-use guidance ('USE THIS instead of remove_insert + insert_media'), names alternatives, and gives the exact rationale (avoiding extra edit versions/renders). It also spells out derivative workflows such as splitting via shorten-here + insert_media and mute vs. set_volume.

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.