Load HDR Image
Turning a single .hdr file into a usable exposure batch
- IMAGE
- MASK
The most obscure node in the pack - zero search impressions so far, which tracks, because it's solving a problem most IC-Light users never run into. HDR (high dynamic range) photography captures a much wider brightness range than a normal image format can display or than a diffusion model can consume. This node reads a .hdr file and "develops" it into a batch of ordinary images, each representing a different exposure setting - the practical translation layer between real HDR captures and a pipeline that only understands regular 8-bit images.
How it works
Point it at a .hdr file sitting in your ComfyUI input folder, and give it a list of exposure values. For each value in that list, it tone-maps the HDR data at that exposure and adds one image to the output batch - so a single capture becomes as many differently-exposed images as you ask for.
The inputs and outputs that matter
image- a dropdown of.hdrfiles found in ComfyUI's input directory, same pattern as the standard Load Image node, just scoped to HDR files.exposures(STRING, default"-2,-1,0,1,2") - a comma-separated list of exposure values (EV stops) relative to the file's baseline. Each entry produces one image in the output.
Outputs: IMAGE (the batch of tone-mapped exposures) and MASK.
How to install it
Standard for the pack: ComfyUI Manager, search "IC-light", install, restart - or git clone https://github.com/kijai/ComfyUI-IC-Light into ComfyUI/custom_nodes manually and restart. No model download involved; this node is pure file loading and tone-mapping, no weights required.
Common issues & troubleshooting
The dropdown is empty or only shows a placeholder. This node reads from your ComfyUI input folder specifically, scoped to .hdr files - if you haven't dropped a real HDR capture in there, there's nothing to list. This is not the node to reach for if all you have is a normal .png or .jpg; that's what the regular Load Image node is for.
Not sure what to put in exposures. It's a plain comma-separated list, no spaces needed - the default -2,-1,0,1,2 gives you five brackets centered on the file's baseline exposure, which is a reasonable starting spread for most captures. Widen the range if your HDR file covers an especially large dynamic range and the default brackets are clipping.
You don't have any .hdr files and don't know if you need this node. You probably don't. This is specifically for people bringing in real HDR photography or render output as a lighting reference - most portrait or product relighting workflows never touch it, since LightSource's gradient generator or a normal background photo covers that need without requiring an actual HDR asset.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | COMBO | 1 options: example.png | |
| exposures | STRING | -2,-1,0,1,2 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| MASK | MASK | — |