ER Video Color Correct
Same correction stack, live on a frame batch
- images
- images
Grading a video by trial-and-error is brutal. With a still you change a number and see the whole result; with a clip you have to run the workflow, render every frame, and then notice the shadows are green in motion. ER Video Color Correct kills that loop: the video plays inside the node with your correction applied live by a WebGL shader, and only when you're happy does the run apply it to every frame at full quality.
It's the video sibling of ER Color Correct, from the ER VFX Nodepack by Héctor Gallego (ER Academy) - a genuine colorist's stack rather than one filter: temperature in Kelvin (6500 neutral, luma-compensated), hue, Rec.709 saturation, contrast with a 0.18 pivot, power-curve gamma, gain, offset, and three Shadows / Midtones / Highlights color wheels. Drag, see the playing video update, scrub the timeline and the correction stays live while paused.
What you set
The node takes a frame batch on images - whatever your video generator or load-video node outputs - and every parameter sits right on the node's face. The one video-specific input is fps (default 16), which controls the preview playback rate. The output is images: the same batch with the grade applied to every frame at full quality when you run.
Worth knowing about the workflow: the live preview runs on an encoded MP4 proxy (downscaled to max 512px so playback stays smooth). With a source that's already executed the preview loads without a run; otherwise one run builds the proxy. Final renders always process the full-resolution frames.
The video-specific gotchas
- PyAV required. The proxy encoding uses
av, which recent ComfyUI builds bundle. If the node fails at load with an import error, install it in your ComfyUI environment:
then restart.pip install av - What you preview isn't pixel-identical to what you render - the proxy is downscaled and H.264-compressed, so judge the grade on the proxy but trust the full-res run for the final look.
- Previews/proxies live in ComfyUI's
tempfolder, which clears on server restart - re-run to regenerate.
Installing
Part of the ER VFX Nodepack, not a standalone node. ComfyUI Manager → search "ER VFX Nodepack" → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/esperandoelrender/ComfyUI-ER-VFX-Nodepack.git
Restart and search "ER" (image/adjust category). Delete any older individual er_* packs you have installed first - this pack replaces them all and duplicates would collide.
Where it fits
The classic shape: LTX/Wan clip out of the sampler, through this node for exposure/temp/mood, then into a save-video node. Since the correction is deterministic per-frame (no temporal flicker from per-frame randomness), it's also safe to grade after the fact on a clip you're happy with - and if you're comparing two versions afterwards, the ER Video Comparer wipe slider is right there in the same pack.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| fps | FLOAT | 16.01–120 | Framerate of the preview playback |
| temperature | FLOAT | 65001500–15000 | Color temperature in Kelvin. 6500 = neutral, lower = warmer, higher = cooler |
| hue | FLOAT | 0.0-180–180 | — |
| saturation | FLOAT | 1.000–4 | — |
| contrast | FLOAT | 1.000–4 | — |
| gamma | FLOAT | 1.000.2–5 | — |
| gain | FLOAT | 1.000–4 | — |
| offset | FLOAT | 0.000-1–1 | — |
| wheels | STRING | [[0,0],[0,0],[0,0]] | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |