Nodes/comfyui-timesaver/TS LTX HDR Stats
ComfyUI Node

TS LTX HDR Stats

Is the HDR range still there? This node answers with numbers

By AlexYez·Created 2 years ago·Updated a day ago· 12
TS LTX HDR Stats
  • hdr_linear
  • config
  • report
  • looks_ok
  • max
raise_on_problemfalse

Lost HDR looks completely normal. The picture is the same, the file was written, no errors - there is simply nothing above 1.0 in it, and you discover that in the edit, when someone tries to pull the sky back and finds a flat white mass with no recoverable detail. TS LTX HDR Stats exists to catch that before it costs you a render: it answers "is the range still there?" with numbers.

It's a diagnostic node and it's unapologetically honest about being one. You run it on a master the first time you do a shot, and any time an EXR looks suspiciously tame.

What it reports

Feed it the master from TS LTX HDR Decode (hdr_linear), or a frame straight from the EXR loader, and it reports:

  • Percentiles of the luminance distribution.
  • The share of samples above 1.0 - the headline number. Zero means the highlights are gone.
  • Dynamic range in stops.
  • Negatives, NaN and Inf - the failure modes that make a master unusable.

It also warns when highlights are pressed against the ACEScct working ceiling. Code 1.0 corresponds to a linear luminance of about 222.86, roughly 7.8 stops over white - anything brighter was flattened on the way into the model, and the node flags the squeeze instead of letting it slide.

Inputs and outputs

  • hdr_linear - the master or a loader frame.
  • raise_on_problem (default off) - stop the run when something looks wrong instead of only printing it. Useful when a batch runs unattended.
  • config (optional) - the settings node; its strict_validation turns complaints into errors.

Outputs:

  • report - the whole thing as text.
  • looks_ok - a boolean, false when anything in the report deserved an exclamation mark. Wire this into your own gating if you want.
  • max - the brightest sample in the master, as a float. The quickest possible sanity check.

Installation

Part of the comfyui-timesaver pack. Install via ComfyUI Manager (search "Timesaver") or:

cd ComfyUI/custom_nodes
git clone https://github.com/AlexYez/comfyui-timesaver
cd comfyui-timesaver
python -m pip install -r requirements.txt

Restart ComfyUI. It's under TS/Video/HDR.

How to actually use it

Drop it on the hdr_linear wire, run, and read the info/report. Three numbers tell you almost everything: the share above 1.0 (want it clearly non-zero on a genuinely HDR shot), max (want it comfortably above 1.0), and looks_ok (want true). If looks_ok is false and the highlights are at the ceiling, the problem is upstream - the EXR was clipped before it ever reached the pipeline, and no decode setting will bring that back.

If you're guiding from an ordinary SDR still (via image_guide), this node is how you settle the "did the model actually generate anything brighter" question empirically - the README's exact words are that whether it does is what this node is for. Run it, read it, and you'll know.

CategoryTS/Video/HDR

Inputs (3)

NameTypeDefaultDescription
hdr_linearTS_LTX_HDR_IMAGEThe master from TS LTX HDR Decode, or a frame from the EXR loader.
raise_on_problemBOOLEANfalseStop the run when something looks wrong, instead of only printing it. Useful when a batch runs unattended.
configoptTS_LTX_HDR_CONFIGSettings node. strict_validation turns the complaints into errors.

Outputs (3)

NameTypeDescription
reportSTRINGThe whole thing, as text.
looks_okBOOLEANFalse when anything in the report deserved an exclamation mark.
maxFLOATBrightest sample in the master.