Skip to content

video.effects

Operation: video.effects
Category: video
Tags: ffmpeg, video, effects, filters

Apply FFmpeg filter effects to clips (zoompan, color, sharpen)

Type: Native (built-in)
Timeout: 300s
Retries: 3 (ExponentialWithJitter)

NameTypeRequiredDefaultDescription
clipsJSONYesArray of clip objects with ‘path’ and optional ‘effects’
NameTypeDescription
clipsJSONClip objects with updated paths after effects applied
clip_countNumberNumber of clips processed
{
"default_effects": "eq=contrast=1.1:brightness=0.02:saturation=1.2,unsharp=5:5:0.5"
}

When used in declarative workflow YAMLs, you can pass individual parameters instead of a raw FFmpeg filter string:

ParameterTypeDefaultDescription
brightnessNumber1.0Brightness multiplier (1.0 = unchanged, >1.0 = brighter)
contrastNumber1.05Contrast multiplier (1.0 = unchanged, >1.0 = more contrast)
saturationNumber1.1Saturation multiplier (1.0 = unchanged, >1.0 = more vivid)
effects:
op: video.effects
params:
brightness: "{{brightness}}"
contrast: "{{contrast}}"
saturation: "{{saturation}}"
inputs:
video_url: composite.url

This is used in the ai-shorts, text-to-video, and video/research-to-shorts workflows as a color grading pass between ffmpeg.composite and ffmpeg.caption_overlay.

import { WorkflowBuilder } from "@fabric-platform/sdk";
const workflow = new WorkflowBuilder("my-workflow")
.node("video-effects", "tool", (n) =>
n.config({
operation: "video.effects",
// ... node-specific config
})
)
.build();