Nodes/radiance/◎ Radiance Save HDR
ComfyUI Node

◎ Radiance Save HDR

Save Radiance HDR (.hdr) — the RGBE format for compact float images

By fxtdstudios·Created 7 months ago·Updated 9 days ago· 242
◎ Radiance Save HDR
  • image
    filename_prefixRadiance
    output_path

    Most people know HDR images as EXR. But there's an older, weirder, very much alive sibling: the .hdr / Radiance HDR format, invented by Greg Ward at Lawrence Berkeley back in the 1980s. It stores a shared exponent across the RGB channels - RGBE encoding - which gives you a compact float image with a huge dynamic range in a small file. ◎ Radiance Save HDR writes that format from ComfyUI, and it's the output node to reach for when you want HDR that's easy to move around and doesn't carry the EXR overhead.

    It's a deliberately simple node - fewer dials than the EXR sibling, because the format itself does most of the deciding. If you need per-channel float precision or specific compression codecs, you want Radiance Save EXR; this one is the pragmatic middle ground.

    How it works

    It routes through the same unified write pipeline (RadianceWrite) as the EXR node, writing a single .hdr file in linear sRGB. The format's trick: each pixel stores R, G, B as a mantissa plus one shared exponent, which is why it can represent values from near-black to thousands of nits in a compact, portable file. It's the format behind most of the "HDRI" environment maps you've ever downloaded for 3D lighting - same codec, same readability by every serious tool (Blender, Resolve, Nuke, Photoshop all open it).

    There's no bit-depth or compression menu because RGBE is the codec - the file gets one. The only real controls are filename_prefix and the optional output_path (empty = ComfyUI's output folder). It inherits the same smart-overwrite protection and history reporting as the rest of the IO family.

    The inputs that matter

    • image - the tensor to save.
    • filename_prefix - base name (default Radiance); counters appended.
    • output_path - optional absolute directory if you don't want the default output folder.

    No outputs - an output node; the file on disk is the result.

    How to install it

    Part of the radiance pack. ComfyUI Manager → "Radiance", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/fxtdstudios/radiance.git
    cd radiance
    pip install -r requirements_windows.txt   # or the linux / mac_silicon variant
    

    Same dependency story as the rest of the pack - on Linux, libopenexr-dev first, then the requirements. Restart ComfyUI.

    Common issues

    The one thing to internalize is what this format is not for: because RGBE shares one exponent across channels, it's not great for precise per-channel color work on extreme values, and it has no notion of the alpha or per-channel float precision that EXR gives you. If a compositor needs lossless per-channel float data, EXR is the right call. Also, the same honest caveat applies pack-wide: this node writes a true HDR file, but the data is only as HDR as what you feed it - an 8-bit PNG in gives you an HDR container holding 8-bit's worth of information. Start from float/EXR sources or Radiance's own float decode path if the dynamic range matters.

    For environment maps, quick HDR previews, or handing something to a 3D tool that just wants a small HDR, this is the uncomplicated choice. Two widgets, one good file.

    CategoryFXTD Studios/Radiance/IO

    Inputs (3)

    NameTypeDefaultDescription
    imageIMAGE
    filename_prefixSTRINGRadiance
    output_pathoptSTRING

    Outputs (0)

    No outputs