Skip to main content
Glama
AbyAbyss

ffmpeg-mcp-video-editor

by AbyAbyss

Blur faces

blur_faces

Blur faces in video with automatic tracking, adjusting the blur region as people move. Expand coverage to include hair and chin, or exclude the main subject for interviews.

Instructions

Blur every face in a clip, following each one as it moves.

Each tracked face gets its own blurred region whose position is driven over time, so the blur stays on the person rather than covering a fixed rectangle. Boxes are expanded past the detected face by default so hair and chin are covered too.

Set exclude_primary to keep the main subject sharp and blur everyone else — the usual requirement for street interviews. Because a missed detection means an unblurred face, review the output before publishing it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
encodeNo
expandNoGrow each face box by this factor, so hair and chin are covered too.
input_pathYesPath to the source media file.
max_framesNo
sample_fpsNo
output_pathNoDestination file. If omitted, the output is written into the job's workspace directory and its path is returned by job_result.
blur_strengthNoGaussian blur sigma. Higher is stronger.
min_confidenceNoLower than the detection default, since a missed face is not blurred.
exclude_primaryNoLeave the main subject sharp and blur everyone else.
exclude_track_idsNoSpecific tracks from detect_faces to leave sharp.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolYes
job_idYes
statusNoqueued
messageNoJob queued. Poll job_status for progress, then job_result.
Behavior4/5

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

The description goes beyond annotations by detailing behavioral traits: per-face tracked blur regions, expanded boxes to cover hair/chin, and a critical warning that a missed detection leaves a face unblurred, advising review of output. This adds meaningful context beyond the readOnlyHint=false (write operation) and destructiveHint=false annotations. It does not mention output path behavior or error handling, but those are partially covered in the parameter schema.

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?

The description is three short paragraphs, front-loaded with the core action, followed by behavior details and a safety note. Every sentence earns its place: the tracking explanation, the box expansion, the exclude_primary use case, and the review warning. No filler or redundancy.

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?

Given the tool's complexity (10 parameters, encode settings, output schema), the description covers the essential behavior and a critical risk (missed detections). It does not explicitly mention that encode settings apply or that output is a file, but these are implied by the schema and output_path parameter. The description is nearly complete for a privacy-blurring tool.

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 description coverage is 70%, so many parameters already have descriptions. The narrative adds extra context for exclude_primary (street interviews) and expand (hair/chin coverage), but does not explain max_frames or sample_fps, which lack schema descriptions. Overall, the description adds some value beyond the schema but does not fully compensate for the uncovered parameters.

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 opens with a specific verb and resource: 'Blur every face in a clip', and then explains the tracking behavior ('following each one as it moves'). This clearly distinguishes it from sibling tools like detect_faces (detection only) and track_and_crop (cropping). The purpose is unambiguous and specific.

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

Usage Guidelines3/5

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

The description implies usage (blurring faces in video) and gives a contextual example ('the usual requirement for street interviews' for exclude_primary). It also warns to review output before publishing. However, it does not explicitly state when to prefer this tool over alternatives (e.g., detect_faces) or what situations are unsuitable. This is adequate but lacks direct usage exclusions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AbyAbyss/ffmpeg-mcp-video-editor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server