Nodes/ComfyUI-MAINodes/H3 Scene Color Stats (alpha)
ComfyUI Node

H3 Scene Color Stats (alpha)

The thermometer for colour drift across chained segments

By matlowai·Created 17 days ago·Updated about 18 hours ago· 112
H3 Scene Color Stats (alpha)
  • images
  • stats

H3 Scene Color Stats answers a boring but real question: is this segment actually darker or warmer than the one before it? It reads a batch of frames, computes centre-weighted luma and saturation percentiles, and hands you the result as a JSON string. That's the entire job. The node that makes it useful is H3 Delta Color Carry, which consumes the JSON to undo colour drift that accumulates when you chain MiniMax-H3 segments together.

The problem it exists for

Every carried handle in an H3 extension chain is a VAE round trip, and each round trip measurably darkens the material - the pack measured roughly 2.4% per trip, and chains accumulate it. On top of that, freshly generated material tends to land warmer than the accepted world. After a couple of links your "same scene" is visibly a different grade. H3 Delta Color Carry fixes that by adding only the difference between the corrected and original encodings of a prefix to the latent. For that to work it needs two things measured: the delivered tail of the previous scene (the anchor, the accepted world) and the current predecessor's tail. Both measurements come from this node.

The input and output that matter

The node is gloriously simple in schema terms:

  • images - a frame batch. The intended diet, per the author, is a delivered tail from H3 Tail Context (tail_images) - the last handle frames of a finished segment. Feed the anchor's tail into one H3 Scene Color Stats and the current segment's tail into a second, then wire each into the matching anchor_stats / current_stats input of H3 Delta Color Carry.
  • stats (output) - the JSON string of centre-weighted luma/saturation percentiles.

Nothing else to configure. It's a measurement node; it doesn't transform anything and has no quality dials to fiddle with.

The "alpha" caveat, straight up

Everything in this area of the pack is alpha and carries it in the menu name. The colour-carry mechanism is the interesting experiment - it's deliberately structured so the VAE's encode bias appears in both terms and cancels, leaving only the intended grade - but the author is honest that the strong-drift benchmark is still owed. So treat Scene Color Stats as diagnostic plumbing: it tells you whether you actually have a drift problem before you spend a render fixing one. On the first link of a chain both stats are the same tail, the correction is the identity, and the latent passes through untouched - which is a feature, not a bug, and a good way to confirm your wiring is right.

Install

It's one node among many in matlowai/ComfyUI-MAINodes:

cd ComfyUI/custom_nodes
git clone https://github.com/matlowai/ComfyUI-MAINodes

Restart, and it appears under MAINodes/alpha with the rest of the research surface. No extra dependencies beyond the pack itself, though you do need MiniMax-H3 weights and ComfyUI's H3 support (and check the H3 licence's territory carve-outs before committing to this stack).

Where people get burned: wiring the wrong tail. If you feed it the generated prefix instead of the delivered tail, the two stats come out nearly identical and Delta Color Carry does nothing, which looks like a broken node but is really a miswired one. The outputs of this node are meaningless in isolation - judge it by whether the seam stops drifting.

CategoryMAINodes/alpha

Inputs (1)

NameTypeDefaultDescription
imagesIMAGE

Outputs (1)

NameTypeDescription
statsSTRING