Nodes/ComfyUI-IC-Light/Load HDR Image
ComfyUI Node Runs on cloud

Load HDR Image

Turning a single .hdr file into a usable exposure batch

By kijai·Created 2 years ago·Updated about a year ago· 1,157
Load HDR Image
    • IMAGE
    • MASK
    image
    exposures-2,-1,0,1,2

    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 .hdr files 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.

    CategoryIC-Light

    Inputs (2)

    NameTypeDefaultDescription
    imageCOMBO1 options: example.png
    exposuresSTRING-2,-1,0,1,2

    Outputs (2)

    NameTypeDescription
    IMAGEIMAGE
    MASKMASK