Skip to main content
Glama

Smooth an object track

smooth_track

Smooth the jitter out of an object track: each corner's x and y over time, with a Kalman smoother, a one euro filter or a Savitzky-Golay fit. A corner that moves in a straight line at a steady speed is never moved. Lost frames are not moved and split the track into parts that are smoothed apart. Use it when a pinned picture shakes on a still surface; fix a drift or a jump with edit_track first. The answer ends with the track's new quality verdict and flagged ranges, and a preview_range call with overlays ["tracks"] that shows the changed frames on the film: run it to check. Free.

Input Schema

NameRequiredDescriptionDefault
rangeYes[from, to] seconds to smooth (atSpace says what they are). null smooths the whole track.
clipIdYesThe film clip that plays this asset, when space or atSpace needs one and several clips play it. null picks the clip that shows the asset at that time.
methodYeskalman: a constant velocity Kalman smoother, good for camera shake on a steady move. one-euro: keeps quick moves sharp and calms slow drift and jitter. savgol: a moving quadratic fit, keeps curves and turns.
atSpaceYesWhat this call's times are. null or source: seconds into the asset file. timeline: seconds of the film, read through the clip that plays the asset then (clipId to pick one).
trackIdYesThe object track id, as the tracking tool printed it or search_assets lists it (objectTracks).
strengthYes0 changes nothing, 1 is the strongest. 0.3 to 0.5 removes tracker jitter; higher smooths real motion away.
projectIdYesThe project this call runs on without changing the open project. null (or leaving it out) uses the open project. wait_for_jobs takes the projectId of the calls that started the jobs.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Goes well beyond the annotations: straight-line constant-velocity corners are left untouched, lost frames split the track into independently smoothed parts, and the call is free. What is not disclosed is the consequence of the idempotentHint=false flag — whether re-running compounds the smoothing or whether the track is modified in place versus copied.

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?

Purpose is front-loaded in the first sentence, followed by behavioural guarantees, the use/alternative rule, the return summary, the verification step and cost. Every clause carries distinct information; nothing is restated from the schema or annotations.

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?

With no output schema, the description correctly summarises the response (new quality verdict plus flagged ranges) and tells the agent how to inspect the result. The remaining gap is whether the operation mutates the existing track or produces a new version — relevant given idempotentHint=false and destructiveHint=false.

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

Parameters3/5

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

Schema coverage is 100%, and the enum descriptions already explain kalman/one-euro/savgol and the strength scale. The description's only added parameter meaning is indirect (lost frames are not moved, which touches range handling). Baseline 3 applies when the schema carries the semantics.

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 (smooth an object track's per-corner x/y over time) and enumerates the three concrete algorithms. It also names the sibling it is not (edit_track handles drift/jumps), so an agent can separate it from neighbouring track tools without opening a 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?

'Use it when a pinned picture shakes on a still surface; fix a drift or a jump with edit_track first' gives both the triggering condition and an explicit routing rule to the alternative. It also prescribes a follow-up verification step (preview_range with overlays ["tracks"]).

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.