Skip to main content
Glama

Edit a video (or put text/logo on an image)

video_edit

Edit local video and image files with ffmpeg: trim, reframe, change speed, fade, mute, replace audio, extract frames, make GIFs, add text/logos/subtitles, or concatenate clips.

Instructions

One operation per call, all local with ffmpeg: trim (start, end), reframe (aspect 9:16/1:1/16:9/4:5/4:3, fit cover|contain), speed (factor), fade (fade_in, fade_out seconds), mute, replace_audio (audio_path), extract_frame (at seconds, e.g. a poster image), gif (start, duration, width, fps), text (text, position top|center|bottom, size, color, box) on a video or image, logo (logo_path, position, width_percent) on a video or image, subtitles (srt_path, burned in), concat (others: more clips joined after this one). Chain calls for several edits.

Input Schema

NameRequiredDescriptionDefault
atNo
boxNo
endNo
fitNocover
fpsNo
sizeNo
textNo
colorNowhite
startNo
widthNo
aspectNo
factorNo
othersNo
fade_inNo
durationNo
fade_outNo
positionNo
srt_pathNo
logo_pathNo
operationYes
overwriteNo
audio_pathNo
input_pathYes
output_pathNo
width_percentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.1

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose the local/ffmpeg processing model and the one-op-per-call constraint, which are useful behavioral facts. But it is silent on mutation semantics: overwrite defaults to false, output_path handling, and what happens to the source file are all undisclosed for a tool that writes media files.

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?

A single dense sentence with the governing rule ('one operation per call') front-loaded, then a scannable parameter→operation mapping, closing with the chaining hint. Every clause carries information, though the run-on comma structure makes it slightly harder to parse than a short bulleted form.

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 25-parameter, no-annotation, no-output-schema tool, this covers enough to invoke correctly: operation selection, per-operation arguments, local execution model, and multi-edit chaining. The remaining hole is output/overwrite behavior, which matters for a file-writing operation but is at least partly discoverable from the schema defaults.

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 0%, so the description must compensate, and it largely does — nearly every parameter is bound to its operation (trim→start/end, reframe→aspect/fit, gif→start/duration/width/fps, text→text/position/size/color/box, logo→logo_path/position/width_percent, concat→others). Gaps: input_path, output_path, and overwrite are never explained, and 'position top|center|bottom' omits the four corner values available in the enum for logo placement.

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 starts with a specific verb+scope ('One operation per call, all local with ffmpeg') and then enumerates all 12 supported operations with their key parameters, so an agent knows exactly what this tool does. The title also clarifies it works on images for text/logo overlays, distinguishing it from video_generate (creation) and media_optimize (compression).

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?

'One operation per call' plus 'Chain calls for several edits' gives explicit usage structure, and 'all local with ffmpeg' implies no upload step. It does not, however, name when to prefer this over siblings like media_optimize or video_generate, nor state prerequisites such as whether input_path files must already exist locally.

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