Nodes/radiance/◎ Radiance Read
ComfyUI Node

◎ Radiance Read

Read footage like a VFX shot, not a web image

By fxtdstudios·Created 7 months ago·Updated 9 days ago· 242
◎ Radiance Read
    • IMAGE
    • MASK
    • frame_count
    • width
    • height
    • fps
    • audio
    • video
    source_pathC:/Footage/shot_01.mp4
    start_frame1
    frame_limit0
    input_colorspacesRGB (Standard)
    fps_override0.00

    Most ComfyUI users load stills. If you're loading footage - an actual shot, an EXR plate, a log clip from a camera - the stock loaders start to feel wrong fast. Radiance Read is built for the footage workflow: it takes a path and hands you a video or image sequence as a batch of frames, complete with frame count, dimensions, fps, alpha, and audio, so the rest of your graph can treat it like a shot being read into a compositor.

    It reads the same things: mp4, mov, gif, webp, avi, mkv, webm video; EXR (pulling depth and alpha channels when present), HDR, and image sequences. Under the hood it's OpenCV's VideoCapture for video and a proper OpenEXR reader for plates, which is why the EXR path actually preserves float values instead of clamping them - that's the node's genuine HDR claim, and unlike some parts of this pack, it's a claim the code backs up.

    The settings that will actually bite you

    • frame_limit - 0 = load all. This is your RAM guard. A 4K sequence loaded all-at-once is the fastest way to OOM a ComfyUI session. For look work, load 20 frames; expand when you're ready to render.
    • input_colorspace - the correct answer here is the difference between "footage looks right" and "footage looks washed out and you don't know why." Pick the actual space of your clip: LogC3/LogC4 for ARRI, S-Log3 for Sony, ACEScg/ACEScct for VFX pipelines. Declare it wrong and every downstream grade fights the gamma.
    • fps_override - 0 = auto. The node reads fps from the file header, and fps comes out the other side, so wire it into a write node later rather than trusting your memory.

    Outputs are the useful set: IMAGE, MASK, frame_count, width, height, fps, audio, and video (a string identifier you can thread into filenames or metadata). The metadata outputs are the whole point of a "cinema" read - they let downstream nodes adapt to the shot instead of you hardcoding 1920×1080@24.

    One confusing thing

    This node is registered under two names in the pack - RadianceDigitalCinemaRead and ◎ RadianceDigitalCinemaRead - and both display as "◎ Radiance Read." They're the same node, same behavior. If you see both in the menu, that's a packaging quirk, not two things to install. Old workflows may reference either.

    Install

    It's in fxtdstudios/radiance - Manager search "Radiance", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/fxtdstudios/radiance.git
    cd radiance
    pip install -r requirements_linux.txt   # or windows/mac_silicon
    

    Restart after; Linux needs libopenexr-dev before pip, and the pack's dependency set (OpenEXR, imageio-ffmpeg, OpenColorIO, colour-science, transformers) makes the first boot slow. If Manager's security level refuses the install, clone manually per the README. And if you're coming from an 8-bit PNG habit, remember the read side can't recover detail that was never in the file - HDR in, HDR out; 8-bit in, 8-bit out.

    CategoryFXTD Studios/Radiance/IO

    Inputs (5)

    NameTypeDefaultDescription
    source_pathSTRINGC:/Footage/shot_01.mp4
    start_frameINT1
    frame_limitINT00 = Load all
    input_colorspaceCOMBOsRGB (Standard)9 options: Linear (sRGB), sRGB (Standard), ARRI LogC3, ARRI LogC4, Sony S-Log3, Panasonic V-Log, +3
    fps_overrideFLOAT0.000 = Auto (Detect from Video or 24.0 for Seq)

    Outputs (8)

    NameTypeDescription
    IMAGEIMAGE
    MASKMASK
    frame_countINT
    widthINT
    heightINT
    fpsFLOAT
    audioAUDIO
    videoSTRING