📊 S42 CutFlow Histogram Overlay
See Your Exposure Like a Pro, While You Still Can Fix It
- clip
- clip
- frame_count
- info
Your eyes lie about exposure. A dark frame on a bright monitor looks fine; that same frame on a phone screen is crushed black. S42CF_HistogramOverlay is the S42 CutFlow node that stops the guessing: it burns an RGB histogram (or waveform, or RGB parade) directly onto your frames, so you can see whether your grade is clipping highlights or crushing shadows - right inside the graph, at the exact point in the pipeline you're debugging.
What you set
display-histogram(RGB brightness distribution per channel, the default),waveform(luminance spread spatially across the frame), orrgb_parade(the three channels side by side, the pro-video way to check color). For most people the histogram is the daily driver; the parade is what you switch to when you suspect a channel is clipping.position- top-right (default), top-left, bottom-right, bottom-left. It's a monitoring overlay, so park it somewhere it won't cover the subject.size- 0.25 by default (quarter width). Big enough to read, small enough not to ruin the view.opacity- 0.8 by default; drop it if the overlay fights with the footage.
Outputs are clip (frames with the overlay burned in), frame_count, and info.
Reading it
A histogram pushed hard left means underexposure - shadows slammed into black. Pushed right means clipping highlights - details blown out to pure white. Peaks at both ends with a hollow middle is the classic low-contrast grade. When your AI-generated footage comes back with an unexpected tonal range (LTX output is notorious for this), this is the node that tells you before you export, not after.
The workflow move: put it at the end of your color chain - after S42CF_ColorAdjust, after Style Transfer - and run a couple of frames. If you see clipping, walk the grade back. Because it's just a pixel overlay on the actual frames, you can also use it as a permanent monitor branch: run the graded clip through it in parallel and inspect, without it touching your main export path. That said, do not leave it in the final export chain - you don't want the histogram burned into your finished video. Use it to check, then remove it for the real render.
Install
ComfyUI Manager → search "S42 CutFlow" → Install → restart. Or:
cd ComfyUI/custom_nodes/
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt
Restart fully; console prints [S42 CutFlow] Loaded 53 total nodes. CPU-only, no models, no VRAM. The pack's one hard dependency is OpenCV (opencv-python-headless in the shipped requirements.txt; README's troubleshooting uses opencv-python - either clears "No module named 'cv2'").
Standing note: Geeky Ghost ships S42 CutFlow as a work-in-progress being refined for LTX Desktop. The preview/analysis core is stable; treat the expanded nodes as the moving parts.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | IMAGE | Video clip to overlay monitoring graphics onto. | |
| display | COMBO | histogram | 'histogram' = RGB histogram overlay. 'waveform' = luminance waveform. 'rgb_parade' = side-by-side RGB waveforms. |
| position | COMBO | top_right | Overlay position on frame. |
| size | FLOAT | 0.250.1–0.5 | Size of overlay relative to frame. 0.25 = quarter width. |
| opacity | FLOAT | 0.800.1–1 | Overlay opacity. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| clip | IMAGE | — |
| frame_count | INT | — |
| info | STRING | — |