Nodes/eric-color-correction/Mask Batch Propagate (Eric_)
ComfyUI Node

Mask Batch Propagate (Eric_)

Batch masking without paying for per-frame segmentation

By EricRollei·Created 4 months ago·Updated 4 months ago· 4
Mask Batch Propagate (Eric_)
  • mask
  • image_batch
  • mask_batch

This is the shortest node in the pack and maybe the most quietly useful one for video. Mask Batch Propagate (Eric_) takes a single mask - the one you segmented from one keyframe - and tiles it across an entire image batch. That's it. And for video color work, that's a superpower, because the expensive alternative is running a segmentation model on every single frame.

How it works. Two inputs: mask (a single MASK, presumably from FaceParsingSkinMask or HumanParsingSkinMask on frame zero) and image_batch (your video frames). It reads how many frames are in the batch and duplicates the mask that many times. Output: mask_batch, one mask per frame, ready to feed the mask-aware correction nodes or any other node that consumes a batched mask.

The design assumption is honest about its limits: for a talking head or a slow-moving subject, a mask from one keyframe stays close enough across the whole clip. The pack's intended flow is: segment frame 0 → propagate the mask → correct the whole batch with ColorCastRemover / SkinToneCorrector / SkinLuminanceAdjust → no per-frame segmentation cost. That's a big speedup on a 300-frame clip, since those correction nodes happily process a batch.

When it's not enough. If your subject moves a lot - walks across the frame, turns their head, lighting shifts - a single frozen mask drifts off the skin. The node can't track or warp; it literally duplicates. For those cases the author's own advice applies: segment a few keyframes and blend the masks, rather than pretending one mask covers a moving body. Also worth noting: the mask isn't resized or refined per frame, so if your batch contains differently-sized images, feed it same-resolution frames.

Installing it. It lives in the Eric Color Correction pack, so you install the whole thing:

cd ComfyUI/custom_nodes
git clone https://github.com/EricRollei/Eric_Color_Correction_ComfyUI
cd Eric_Color_Correction_ComfyUI
pip install -r requirements.txt

Restart ComfyUI, or use ComfyUI Manager and search "Eric Color Correction." No model downloads, no GPU load, nothing to tune - this node is a reshape in a trench coat. The model downloading happens in the parsing-mask nodes, not here. And as with everything in this pack, check the dual license (non-commercial CC BY-NC-style unless you pay for the commercial license) before using it on paid work.

If your subject stays put and your only job is "correct all these frames the same way," this node plus ApplySavedCorrection is the cheapest correct pipeline in the pack. It's not glamorous, but it's the thing that turns a per-frame chore into a one-frame job.

CategoryEric_/Color Correction

Inputs (2)

NameTypeDefaultDescription
maskMASK
image_batchIMAGE

Outputs (1)

NameTypeDescription
mask_batchMASK