Nodes/Simple Video Effects/Color Adjustment (Video File)
ComfyUI Node

Color Adjustment (Video File)

Grade a whole clip from one node

By scofano·Created 10 months ago·Updated 20 days ago· 0
Color Adjustment (Video File)
    • output_path
    • info
    video_path
    brightness100
    contrast100
    saturation100
    delete_originalfalse
    use_gputrue
    prefixcolor_adjusted

    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 grade
    • brightness, contrast, saturation - 0–200, 100 = neutral
    • use_gpu - NVENC on by default, falls back to CPU
    • delete_original - leave this false unless you're sure
    • prefix - filename prefix, default color_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.

    CategorySimple Video Effects/Utility & Special Effects

    Inputs (7)

    NameTypeDefaultDescription
    video_pathSTRING
    brightnessINT1000–200
    contrastINT1000–200
    saturationINT1000–200
    delete_originalBOOLEANfalse
    use_gpuBOOLEANtrue
    prefixSTRINGcolor_adjusted

    Outputs (2)

    NameTypeDescription
    output_pathSTRING
    infoSTRING