Color Adjustment (Video File)
Grade a whole clip from one node
- output_path
- info
There's a version of this pack that works on image batches inside the graph - and then there's this one, which takes a video file path, applies brightness/contrast/saturation with ffmpeg's eq and hue filters, and writes out a whole new file with the original audio track intact. If you've got a finished render that just needs to be a touch brighter, or a clip that should be desaturated for the moody scene, this is the faster path. No frame extraction in the graph, no VRAM, just a file in and a file out.
The one thing to understand before you touch the sliders: the scale is 0–200 with 100 meaning "no change." This is not a standard 0-to-100 strength slider. 100 = original. 0 brightness = black; 0 contrast or saturation = flattened/grayscale-ish. 200 = double. It's actually a nicer mental model once it clicks - 100 is the neutral center and you move away from it in either direction.
How it works
The node probes the video with ffprobe, builds a filter chain (eq=brightness=...:contrast=...,hue=s=...), runs ffmpeg, and copies the audio stream with -c:a copy - lossless, no re-encode of sound. Encoding defaults to HEVC via NVENC (use_gpu is true by default) for a 5–10x speedup, and if NVENC isn't available it silently falls back to libx264. Your GPU decides: it's the difference between waiting 20 seconds and waiting three minutes on a long clip.
Inputs and output
The ones that matter:
video_path- the file to gradebrightness,contrast,saturation- 0–200, 100 = neutraluse_gpu- NVENC on by default, falls back to CPUdelete_original- leave this false unless you're sureprefix- filename prefix, defaultcolor_adjusted
Outputs are output_path (the new file's location) and info (a string with the applied parameters and audio info, handy for logging). Note this node is not marked as an output node - you may still want to wire output_path into something that previews the result or records it.
Installing it
Part of the Simple Video Effects pack:
cd ComfyUI/custom_nodes
git clone https://github.com/scofano/ComfyUI-Simple-video-effects
cd ComfyUI-Simple-video-effects
pip install -r requirements.txt
Restart ComfyUI, or search "Simple Video Effects" in ComfyUI Manager. No models, no downloads.
Common issues
ffmpeg/ffprobe must be on your PATH - the code refuses to run without them. pip install ffmpeg-python does not give you the ffmpeg binary; install it with winget install Gyan.FFmpeg (Windows), brew install ffmpeg (macOS) or your distro's package (Linux), then restart ComfyUI.
If a run fails on an NVIDIA machine, check that NVENC isn't the problem - the fallback to libx264 is automatic, but if ffmpeg itself is misbuilt the whole command can fail. And the classic gotcha: delete_original plus a typo'd path means your original is gone. Verify output_path looks right before you enable that toggle.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| video_path | STRING | — | |
| brightness | INT | 1000–200 | — |
| contrast | INT | 1000–200 | — |
| saturation | INT | 1000–200 | — |
| delete_original | BOOLEAN | false | — |
| use_gpu | BOOLEAN | true | — |
| prefix | STRING | color_adjusted | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| output_path | STRING | — |
| info | STRING | — |