HDR LoRA Loader
It reads the metadata your HDR LoRA is carrying
- lora_dict
- compression_ratio
- model_name
- metadata_json
Radiance HDR LoRAs are trained at a specific compression strength, and that fact is baked into the file as metadata. HDR LoRA Loader is the node that reads it back out. Load the .safetensors, get the tensors and the numbers the training run recorded, and pass both along so nothing in your graph has to guess.
If you've ever fought a LoRA whose effect seemed to depend on unrelated encoder settings, this is the fix. The loader exists because the compression ratio isn't a user preference - it's part of the weights.
What it does
It opens the file, pulls the tensor payload plus the Radiance training metadata, and returns them as separate outputs. lora_dict is the opaque bundle that HDR LoRA Apply consumes; compression_ratio is the float extracted from metadata; model_name tells you which model family the LoRA was trained on; metadata_json dumps the whole thing as JSON so you can actually read what the training run recorded.
The only clever bit is the fallback: if a LoRA predates the metadata convention and carries no compression ratio, you supply fallback_compression_ratio (default 0.5) and the loader emits that instead. Worth knowing, though, that the fallback is local to this node - HDR LoRA Apply doesn't see it and falls back to its own 0.5 independently. The tooltip says so. If you set a non-default fallback here and the apply node's output goes somewhere rather than being ignored, you can end up with two different numbers in one graph.
Inputs and outputs
Required: lora_path - a plain STRING, not a dropdown. That's the biggest practical difference from ComfyUI's core Load LoRA node, and it's a trade: you can point at a file anywhere on disk (useful for experimenting before sorting files into folders), but there's no picker to save you from typos.
Two details from the tooltip worth internalising: surrounding quotes are stripped (so pasting a shell-quoted path works), and a relative path resolves from ComfyUI's working directory - not from the LoRA folder. A blank path raises an error rather than loading nothing, which is the behaviour you want.
Optional: fallback_compression_ratio.
Outputs: lora_dict → HDR LoRA Apply, compression_ratio → your encoder, model_name, metadata_json. Even if you ignore the rest, glance at model_name - it's the fastest way to catch a LoRA trained for the wrong architecture before you waste a render.
Install
Manager → search Radiance → Install → restart ComfyUI → refresh your browser. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/fxtd-studios/radiance.git
cd radiance
python -m pip install -r requirements.txt
Windows portable users must run that pip line with python_embeded\python.exe. No model downloads for this node - it reads files you already have. If you want to train HDR LoRAs rather than load them, that's the FXTD Studios RUDRA side of the project, not this pack's nodes.
Where people get burned
Paths. Nine times out of ten, a "failed to load LoRA" here is a typo, a relative path resolving somewhere unexpected, or a backslash from a Windows copy-paste. If you're unsure, paste the absolute path - the node accepts it and the quotes get stripped for you.
Assuming the metadata is right. The ratio in the file was written by whoever trained it. If a LoRA behaves oddly at its recorded ratio, try running the same LoRA at a couple of nearby values - you're testing someone else's training decision, not a physics constant.
Losing the ratio. It's very easy to wire lora_dict into the apply node and leave compression_ratio dangling, at which point you're back to guessing. From the KB's LoRA material: these narrow-target LoRAs are the case where a small file does most of the work - but only when the surrounding pipeline is set the way the training was.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_path | STRING | Path to a Radiance HDR LoRA .safetensors file (surrounding quotes are stripped); a relative path resolves from ComfyUI's working directory. Required: a blank path raises an error. | |
| fallback_compression_ratioopt | FLOAT | 0.500–1 | compression_ratio output by this node when the LoRA metadata has none. HDR LoRA Apply does not see this value; it falls back to 0.5 on its own. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| lora_dict | LORA_DICT | — |
| compression_ratio | FLOAT | — |
| model_name | STRING | — |
| metadata_json | STRING | — |