Skip to main content

blur_video

ffmpeg

Blur, pixelate or black out part of a video — or all of it. Pass the input as file_url or file_base64 + filename. Set mode='regions' (default) with 'regions' to cover only certain areas, mode='whole' to blur every pixel of every frame, or mode='whole-except' to blur everything BUT the listed areas. 'regions' is a JSON array string of boxes measured as fractions of the frame: [{"x":0.35,"y":0.12,"w":0.2,"h":0.25}] puts a box 35% across and 12% down, a fifth of the frame wide. Per area you can also set shape (rect|ellipse), style (blur|pixelate|fill), strength (1-100), feather (0-100), start/end in seconds, and track — [{"t":0,"x":0.1,"y":0.4},{"t":6,"x":0.7,"y":0.4}] — so the area follows a subject that moves. Values above 1 are read as pixels instead of fractions. Returns an mp4 at the source size, frame rate and duration with the audio kept.

When to use
Hiding something in a video: a face, a number plate, a screen, a document. Areas are fractions of the frame, each with its own shape, style, optional time window and optional motion path, so a blur can follow a moving subject.
Not for
Blurring a still image (there is no image blur tool — use ffmpeg_command with a boxblur filter). Cutting the section out entirely (trim_video).
Returns
A signed download URL for the re-encoded video. A blur always re-encodes; a stream copy cannot carry one.
Runtime
Slow — a large input can take minutes. The call is synchronous, so the request simply stays open until the file comes back.

Parameters

NameTypeRequiredDescription
file_urlstringnoPublic http(s) URL of the input video (preferred).
file_base64stringnoBase64 of a small inline input video (<=15MB). Provide 'filename'.
filenamestringnoInput filename incl. extension, e.g. 'clip.mp4'.
modestringnoregions (default) blurs only the listed areas; whole blurs the entire frame; whole-except blurs everything but the listed areas. (regions, whole, whole-except)
regionsstringnoJSON array of the areas, as a string. Each area is {x,y,w,h} in fractions of the frame (0-1), plus optional shape, style, strength, feather, color, start, end and track. Required unless mode=whole. Up to 20 areas.
stylestringnoDefault cover style for every area: blur (gaussian), pixelate (mosaic) or fill (solid colour). Default blur. (blur, pixelate, fill)
strengthnumberno1-100, default 60. Scaled to the size of the area, so the same number hides a face at any resolution.
feathernumberno0-100 soft edge, default 0. Slower — it is a per-pixel mask.
colorstringnoFill colour when style=fill. Default black.
mutebooleannotrue to drop the audio track. Default false — the sound is copied through untouched.
output_filenamestringnoOptional output filename.

Example call

JSON-RPC tools/call body (sent to https://convertfleet.com/api/mcp):

{
  "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": { "name": "blur_video", "arguments": {
               "file_url": "https://example.com/input"
             } }
}

Connect first

curl -sN https://convertfleet.com/api/mcp \
  -H "Authorization: Bearer flt_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

See the quickstarts for Hermes, Claude, Cursor, OpenClaw, n8n, Zapier and Make.