Batch Color Corrector (beta)
The color corrector's beta node for whole video sequences
- images
- reference_image
- mask
- images
- palette_data
- histogram
- palette_image
- frame_count
The main Color Corrector node grades one image. If you're working frame sequences - video output, batch renders you want a consistent look across - running that node 500 times by hand is exactly the kind of thing nobody wants to do. BatchColorCorrection is the pack's answer: same AI-powered grading engine, applied across a whole batch in one node.
What it is and why you'd reach for it
Note the display name carries a "(beta)" tag, and that's the author being upfront rather than marketing-speak - when this pack shipped its v1.2.1 rewrite, the author put it plainly: the main Color Corrector is "rock solid," while Batch, RAW Image Processor, and Color Correction Viewer are "the experimental playground." Treat it accordingly: use it, expect it's had less mileage than the flagship node. What it buys you is real, though - process an entire frame sequence with one consistent grade instead of wiring a loop of single-image nodes, which is exactly the kind of tedium ("manually correcting 500 frames is for masochists," in the author's words) it exists to kill.
How it works
It's the same underlying color-science engine as the main node - LAB-space corrections, AI scene/skin analysis, the full preset library - just looped over a batch of frames instead of one image, with controls added specifically for that: frames_per_batch chunks how many frames get processed together (the node's own guidance: 1-4 frames is highest quality but slow and memory-heavy per frame, 8-16 is the balanced/recommended range, 32-64 is fastest but resource-heavy and needs more VRAM), and use_gpu switches between GPU (faster, can eat 2-8GB+ VRAM on large batches) and CPU (slower, uses system RAM instead).
The inputs and outputs that matter
Required: images (your batch), mode (Auto / Preset / Manual - same three-way split as the main node, minus Colorize), frames_per_batch, and use_gpu. Everything else is optional and mirrors the main Color Corrector's grading vocabulary almost field-for-field: ai_analysis, preset (30 choices), effect_strength, enhancement_strength, adjust_for_skin_tone, white_balance_strength, plus the manual sliders warmth, vibrancy, brightness, contrast, tint, lift, gamma, gain, noise, and a reference_image + reference_strength pair for matching a mood-board look across the whole sequence. If you already know the main node, you know most of this one.
Outputs: images (the corrected batch - feed this to Save Image, a video combine node, or whatever consumes your sequence next), palette_data, histogram, palette_image (same extract-palette outputs as the main node, gated behind extract_palette), and frame_count (INT - how many frames actually went through), which is handy for sanity-checking that your whole batch made it out the other side.
How to install it
Via ComfyUI Manager: search "Easy Color Correction" and install - this node ships as part of the same pack, no separate download. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/regiellis/ComfyUI-EasyColorCorrector.git
cd ComfyUI-EasyColorCorrector
pip install -r requirements.txt
then restart ComfyUI.
Common issues & troubleshooting
Running out of VRAM. This is the node's own built-in warning, not a guess: large frames_per_batch values combined with use_gpu on can pull 2-8GB+ of VRAM depending on batch size. Drop frames_per_batch toward the 8-16 range before you drop to CPU entirely - CPU will finish, just slowly.
It's still labeled beta - expect it to be less polished than the main node. That's the author's own framing, not a knock from us: if you hit a rough edge here that the flagship Color Corrector doesn't have, that's consistent with how the pack describes it.
It grades per-frame, not per-sequence with motion awareness. Nothing in this node does temporal/optical-flow smoothing - it applies the same AI analysis and correction logic to each frame independently. For most consistent-look grading that's exactly what you want; if you're seeing frame-to-frame flicker in something like Auto mode's scene detection, locking to Manual mode with fixed slider values (rather than letting AI analysis re-decide per frame) will give you a steadier result.
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| mode | COMBO | Auto | 3 options: Auto, Preset, Manual |
| frames_per_batch | INT | 161–64 | 🎯 Batch Size Guide: 1-4: Best Quality but Slow (high memory per frame) 8-16: Balanced Speed & Quality (recommended) 32-64: Fastest but Resource Heavy (requires more VRAM) |
| use_gpu | BOOLEAN | true | ⚠️ GPU: Faster processing but uses significant VRAM (2-8GB+ for large batches). CPU: Slower but uses system RAM instead of VRAM. |
| ai_analysisopt | BOOLEAN | true | — |
| presetopt | COMBO | Natural | 30 options: Natural, Warm, Cool, High Key, Dramatic, Epic Fantasy, +24 |
| effect_strengthopt | FLOAT | 0.40–1 | — |
| enhancement_strengthopt | FLOAT | 0.80–1.5 | — |
| adjust_for_skin_toneopt | BOOLEAN | true | — |
| white_balance_strengthopt | FLOAT | 0.0-1–1 | — |
| warmthopt | FLOAT | 0.0-1–1 | — |
| vibrancyopt | FLOAT | 0.0-1–1 | — |
| brightnessopt | FLOAT | 0.0-1–1 | — |
| contrastopt | FLOAT | 0.0-1–1 | — |
| tintopt | FLOAT | 0.0-1–1 | — |
| liftopt | FLOAT | 0.0-1–1 | — |
| gammaopt | FLOAT | 0.0-1–1 | — |
| gainopt | FLOAT | 0.0-1–1 | — |
| noiseopt | FLOAT | 0.00–1 | — |
| extract_paletteopt | BOOLEAN | false | — |
| reference_imageopt | IMAGE | — | |
| reference_strengthopt | FLOAT | 0.50–1 | — |
| maskopt | MASK | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| palette_data | STRING | — |
| histogram | IMAGE | — |
| palette_image | IMAGE | — |
| frame_count | INT | — |