Nodes/radiance/◎ Radiance DNA Validator
ComfyUI Node

◎ Radiance DNA Validator

The QC gate that can refuse to pass unsigned renders

By fxtdstudios·Created 7 months ago·Updated 9 days ago· 242
◎ Radiance DNA Validator
  • image
  • image
  • is_valid
  • status
require_signedtrue

ComfyUI's graph is a pipe, and most nodes don't care what flows through it. Radiance DNA Validator is the node that makes the pipe care. It sits in your chain, checks whether the incoming image carries a valid Radiance DNA signature, and - if you ask it to - blocks images that don't have one. It's a QC gate, the sort of thing production pipelines build by hand with a script and a webhook, packaged as a node you can drop between your render and your save.

The context: DNA is Radiance's metadata scheme that hides project/artist/notes inside the least-significant bits of float pixels, so it survives re-encodes that would kill a PNG text chunk. The Writer signs, the Reader reads, and the Validator is the enforcement point - the watchdog that makes sure only signed, verified frames continue down the pipe.

How it works

Two inputs: image (the frames to check) and require_signed - a BOOLEAN, on by default. That toggle is the whole personality of the node:

  • With require_signed = true, unsigned images are blocked from passing through, and the status output tells you what happened.
  • With require_signed = false, it acts as a monitor rather than a gate - it checks and reports validity but lets the image through either way.

Three outputs: image (the frames, passed through only if they pass the gate), is_valid (a BOOLEAN - true if a valid signature was found), and status (a human-readable string with the verdict, which you can wire to a text preview to see exactly why a frame was rejected).

When you'd actually use it

This is production tooling, not a toy. Three real patterns:

  1. Delivery enforcement. You render, sign, deliver. A Validator with require_signed on between render and save means nobody (including future-you) can accidentally deliver an unsigned frame that then gets distributed with no provenance.
  2. Batch auditing. The README and pack docs push this hard: automated technical QC on frames before they leave ComfyUI. Wire a large batch through with require_signed = false, collect status on every frame, and you've got a report of which frames survived the pipeline intact.
  3. Integrity checking. DNA survives float-preserving transforms but dies on 8-bit re-encodes. If a frame comes back unsigned, something in your chain clamped or re-encoded it - the Validator turns a silent data-loss bug into a loud, caught-in-the-act one.

The honest take

It's niche. If you're a solo hobbyist generating stills, you will almost certainly never need a "refuse unsigned images" gate - skip it and don't feel bad. Where it earns its keep is any workflow where frames leave your machine and come back, or where "did this render survive the pipeline" is a question you want answered automatically instead of by eyeballing. Like the rest of the DNA trio it's a pack-internal convention - meaningful to Radiance nodes, invisible to everything else - but as a self-contained QC primitive, it works as documented.

Install

In fxtdstudios/radiance - Manager search "Radiance", or:

cd ComfyUI/custom_nodes
git clone https://github.com/fxtdstudios/radiance.git
cd radiance
pip install -r requirements_linux.txt   # or windows/mac_silicon

Restart after; Linux needs libopenexr-dev before pip. The dependency set (OpenEXR, OpenColorIO, colour-science, transformers) is heavy and first boot is slow; if Manager's security level blocks the install, clone manually per the README.

CategoryFXTD Studios/Radiance/Data

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
require_signedBOOLEANtrue

Outputs (3)

NameTypeDescription
imageIMAGE
is_validBOOLEAN
statusSTRING