Nodes/Akatz Custom Nodes/Brightness To Float List | Akatz
ComfyUI Node

Brightness To Float List | Akatz

Score every frame by how bright it is, 0 to 1

By akatz-ai·Created 2 years ago·Updated 9 months ago· 33
Brightness To Float List | Akatz
  • image
  • FLOAT

Brightness To Float List is the image-based cousin of the audio schedule nodes: it looks at each frame of an image batch and outputs one float per frame - the average brightness, normalized to 0 (black) to 1 (white). It's a tiny node that does one thing, and it's quietly useful for making animations react to visuals instead of audio.

The obvious use is driving effects from the content itself. A strobe or flash in the footage becomes a spike in the list; a scene change becomes a step. Feed the list into a dilation schedule, an IPAdapter weight list, or any per-frame parameter and your effect will pulse with the video's luminance. It's also a handy diagnostic: one look at the output list tells you the brightness envelope of a clip, which beats eyeballing 300 frames.

It's not magic, so set expectations: it's a global per-frame average, not a per-region measure and not a scene detector. Two completely different frames can have the same mean brightness. If you need "when did the screen flash," this is perfect; if you need "when did the subject move," use Blob Track instead.

How it works

In the source it's a couple of numpy operations: each frame is averaged across height, width, and channels, then divided by 255. If the input tensor is already in 0–1 float range it's scaled to 0–255 first so the normalization stays consistent. The output is a Python list of floats, one per frame, in order.

Inputs and output

  • image - an IMAGE batch (also accepts a single image; you get a one-element list).
  • Output is a FLOAT list, length = batch size, values in [0, 1].

That's the whole surface area. No thresholds, no sliders - just a number per frame.

Installing it

Part of akatz-ai/ComfyUI-AKatz-Nodes. Install via ComfyUI Manager (search "AKatz") or:

cd ComfyUI/custom_nodes
git clone https://github.com/akatz-ai/ComfyUI-AKatz-Nodes
cd ComfyUI-AKatz-Nodes
pip install -r requirements.txt

Restart ComfyUI. No model downloads; requirements are numpy, torch, opencv-python and pydub.

Common issues

The main thing to watch is batch order: the list follows your frame order, so if your batch is shuffled or reordered upstream the "brightness story" won't line up with the frames you think you're scoring. And since values are averaged across the whole frame, a bright logo on a black background gives a low score even though something is clearly "bright" - that's the global-average limitation biting. If your downstream node needs a different length, run the result through Adjust List Size.

Category💜Akatz Nodes/Utils

Inputs (1)

NameTypeDefaultDescription
imageIMAGE

Outputs (1)

NameTypeDescription
FLOATFLOAT