Nodes/Comfy EverAnimate/EverAnimate Color Correction
ComfyUI Node

EverAnimate Color Correction

Color-correction where the seams are, not the whole video

By younestft·Created 3 months ago·Updated 3 months ago· 17
EverAnimate Color Correction
  • settings
  • images
  • reference_images
  • images
frames_before12
frames_after16
methodmkl_lab
source_statsper_frame
strength1.00

Chunked videos don't usually fail at the seams with a hard cut - they fail with a subtle color or brightness pop the instant one chunk's lighting doesn't match the last. EverAnimate Color Correction is the pack's answer, and the idea is genuinely neat: it applies native ComfyUI Transfer Color only around each chunk join, instead of color-correcting the entire video.

Why does that matter? Run Transfer Color over a whole long clip and it slowly drags the entire color grade toward your reference, flattening the video's look as it "fixes" two seconds of flash. This node knows exactly where the joins are - it reads the chunk bookkeeping straight off the settings socket - and only touches a window of frames around each one. The rest of your footage stays untouched.

What it takes in

  • settings - the EVERANIMATE_SETTINGS socket from your last chunk. This is how the node knows where the boundaries fall.
  • images - the cumulative video, straight off the last chunk's images output.
  • reference_images - same thing you'd feed a normal Transfer Color node; the color target.
  • frames_before / frames_after (default 12 / 16) - how many frames either side of each join get corrected.
  • method (mkl_lab, reinhard_lab, or histogram) and source_stats (per_frame or uniform) - the native Transfer Color options, defaulting to mkl_lab / per_frame.
  • strength (default 1.0) - overall correction strength. Drop it to ~0.5 if the joins look overcorrected.

One image out (images), which goes to your Video Combine. If strength is 0 or there are no boundaries to fix, it passes the images straight through untouched.

Where it sits in the graph

Last Extension Chunk images + settings -> EverAnimate Color Correction -> Video Combine

The settings socket is the clever bit - it carries each chunk's kept-frame counts, so the node can compute exact boundary positions instead of guessing. Feed it settings from anything but the actual chunk chain and it falls back to estimating from the chunk length, which still works but is less precise.

Install

ComfyUI Manager → "Comfy EverAnimate", or:

cd ComfyUI/custom_nodes
git clone https://github.com/younestft/Comfy_EverAnimate.git Comfy-EverAnimate

Restart. No dependencies, no model files - it calls ComfyUI's built-in ColorTransfer from comfy_extras, so a reasonably current ComfyUI is the only real requirement.

Common issues

  • Nothing changes. Either strength is 0 or the settings socket isn't from the actual chunk chain, so the boundary detection found nothing. Reconnect the last chunk's real settings output.
  • Joins still pop. Widen frames_after (the mismatch usually shows up on the chunk that just started) or try histogram for color-heavy content. This node cleans residual seam flashes; if the chunks themselves drifted in identity, fix the seed and handoff strength upstream instead.
  • It only works on chunked output from this pack - feeding it a single continuous video means one giant "boundary" at the end, which is probably not what you wanted.
Categoryimage/filters

Inputs (8)

NameTypeDefaultDescription
settingsEVERANIMATE_SETTINGS
imagesIMAGE
reference_imagesIMAGE
frames_beforeINT120–128Frames before each chunk join to color-correct. Default: 12.
frames_afterINT160–128Frames after each chunk join to color-correct. Default: 16.
methodCOMBOmkl_lab3 options: mkl_lab, reinhard_lab, histogram
source_statsCOMBOper_frame2 options: per_frame, uniform
strengthFLOAT1.000–10Color correction strength. Default: 1.0.

Outputs (1)

NameTypeDescription
imagesIMAGE