RADIANCE / DOCUMENTATION3.5.0 · Release candidate

Node reference / Radiance for ComfyUI

Review nodes

Viewer, scopes, preview servers, contact sheets, and QC.

11 nodes. All sections

Burn-In

RadianceFrameStamp

Burn-In node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Burn frame number, timecode, and metadata into an image for dailies.

Inputs

Input Type Default Range or choices What it does
images IMAGE Float frames to stamp. Values outside the overlay and the source alpha are preserved, including negative and HDR values. Text RGB is 230/255 in the input encoding; no colour transform is applied.
start_frame int 1001 0 to 999999 Frame number of the first frame in the batch.
fps float 24 1 to 120, step 0.001 Frames per second (used for timecode calculation).
drop_frame (optional) boolean off Use SMPTE drop-frame timecode (DF). Only meaningful at 29.97 or 59.94 fps. Uses ';' separator instead of ':' for the frame field.
show_frame_number (optional) boolean on Burn the frame number as '# 001001' (6 digits).
show_timecode (optional) boolean on Burn the SMPTE timecode of the frame number at fps. Frame 0 is 00:00:00:00.
custom_text (optional) string Additional text burned into each frame (e.g. shot name, version).
position (optional) choice bottom_left bottom_left, bottom_right, top_left, top_right, center Where the text block sits in the frame.
font_scale (optional) float 1 0.5 to 4, step 0.1 Text size: 14 px x scale (minimum 12 px) with DejaVu Sans Mono. Without that font, Pillow's fixed default font is used and only the margins scale.
opacity (optional) float 0.85 0.1 to 1, step 0.05 Text opacity; the dark backing box uses 0.6 x this.

Outputs

Output Type
stamped IMAGE

Contact Sheet

RadianceContactSheet

Contact Sheet node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Render a contact sheet grid of multiple images for review.

Inputs

Input Type Default Range or choices What it does
images IMAGE Frame batch to lay out, left to right then top to bottom. Clamped to [0, 1] and resized through 8-bit, so display-encoded input is expected.
thumb_width int 160 32 to 512, step 8 Width of each thumbnail in pixels.
max_cols int 8 1 to 32 Maximum number of columns. Rows are computed automatically.
label_frames (optional) boolean on Print the frame index below each thumbnail.
background (optional) choice Black Black, Grey, White Fill colour for empty cells and label strips (Grey is 64/255).

Outputs

Output Type
contact_sheet IMAGE
grid_cols INT
grid_rows INT

False Color Monitor

RadianceFalseColorMonitor

False Color Monitor node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Display a false-colour exposure monitor for on-set or grading use.

Inputs

Input Type Default Range or choices What it does
image IMAGE Rec.709-primary image to check, returned unchanged on passthrough. Choose its input encoding below; zones measure linear luminance. Convert other primaries into Rec.709 before connecting.
strength float 1 0 to 1, step 0.05 Blend factor. 0 = off, 1 = full false color.
hdr_peak (optional) float 1 0.1 to 100, step 0.1 Luma is divided by this before the zone lookup (1.0 for SDR). For scene-linear HDR at 1.0 = 203 nits, a 1000-nit peak is about 4.93.
input_encoding (optional) choice Linear Rec.709 Linear Rec.709, sRGB, Rec.709 Transfer encoding of the input. sRGB and Rec.709 are decoded before measuring luminance; Linear Rec.709 preserves legacy behaviour. The false-colour output is an SDR diagnostic image, not HDR mastering.

Outputs

Output Type
passthrough IMAGE
false_color IMAGE

Flipbook GIF

RadianceFlipbookGIF

Flipbook GIF node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Export a sequence as an animated GIF flipbook for quick review.

Inputs

Input Type Default Range or choices What it does
images IMAGE Frames to animate, returned unchanged on passthrough. Clamped to [0, 1] and quantised to a 256-colour palette, so display-encoded input is expected.
save_path string preview/flipbook.gif Output .gif path. A relative path is written under ComfyUI's output/ folder; absolute paths are used as given. The directory is created automatically.
fps float 12 1 to 60, step 0.5 Playback speed. GIF frame delay = 1000/fps ms.
max_width int 480 64 to 1920, step 8 Resize frames to this width (preserves aspect ratio). Smaller = smaller file.
loop (optional) boolean on Loop the animation indefinitely.
dither (optional) boolean on Enable Floyd-Steinberg dithering for smoother gradients.

Outputs

Output Type
passthrough IMAGE
status STRING

Focus Peaking

RadianceFocusPeaking

Focus Peaking node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Overlay focus-peaking highlights on edges for sharpness assessment.

Inputs

Input Type Default Range or choices What it does
image IMAGE Image to check, returned unchanged on passthrough. Edges are measured on BT.709 luma, normalised to the strongest edge in each frame.
threshold float 0.2 0.01 to 1, step 0.01 Normalised Sobel magnitude above which a pixel is considered in-focus.
peak_color choice Red Red, Green, White, Yellow, Cyan Overlay colour painted on pixels above threshold.
strength float 0.85 0 to 1, step 0.05 Blend factor for the peaking overlay.

Outputs

Output Type
passthrough IMAGE
focus_peak IMAGE

HDR Monitor

RadianceHDRMonitor

HDR Monitor node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

HDR monitor / preview node. SDR tone-map or direct PQ/HLG display encoding. Wire in parallel — does not affect your HDR pipeline.

Inputs

Input Type Default Range or choices What it does
image IMAGE Scene-linear HDR, 1.0 = reference white (203 nits for the PQ and HLG modes). Negatives are clipped.
mode choice Preview (SDR) Preview (SDR), Rec.2100 PQ, Rec.2100 HLG Preview (SDR): tone-map to 0 to 1 for a normal monitor. Rec.2100 PQ / HLG: encode the signal for an HDR display (no gamut conversion).
operator (optional) choice ACES (Narkowicz) ACES (Narkowicz), Filmic (Hejl-Burgess), Reinhard Extended, Exposure + Gamma [Preview (SDR)] Tone-mapping operator.
exposure (optional) float 0 -6 to 6, step 0.1 [Preview (SDR)] EV offset applied before tone mapping.
saturation (optional) float 1 0 to 2, step 0.05 [Preview (SDR)] Post-tonemap saturation scale.
gamma (optional) float 2.2 1 to 3, step 0.05 [Preview (SDR)] Display gamma, applied as a pure 1/gamma power. 2.2 approximates sRGB, 2.4 matches BT.1886.
reinhard_white (optional) float 4 0.5 to 100, step 0.5 [Preview (SDR) / Reinhard Extended] White point.
peak_nits (optional) float 1000 100 to 10000, step 100 [Rec.2100 PQ] Mastering display peak luminance in nits.
gamma_correct_sdr (optional) boolean on [Preview (SDR)] Apply the 1/gamma display encoding after tone mapping. Applies to every preview operator, including Exposure + Gamma.

Outputs

Output Type
preview IMAGE

Policy Guard

RadiancePolicyGuard

Policy Guard node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Check every frame against a delivery policy (peak nits, clipping, black crush, luma, saturation, P3 gamut, required metadata). Reports the worst frame. Picture only: there is no audio input, so no loudness check.

Inputs

Input Type Default Range or choices What it does
mode choice Guard Preset, Guard Preset: output a policy JSON (data1) and its description (data2); the image is not checked. Guard: check the image against a policy.
image IMAGE Frames to check. Peak nits are read as set by signal; clipping, black crush and luma are measured on the values as they are. Ignored in Preset mode.
preset (optional) choice Broadcast SDR Broadcast SDR, Cinema HDR (P3-PQ), OTT HDR10, Social Media, Custom Delivery policy to output in Preset mode. Custom uses the custom_* values.
policy_file (optional) string Optional path to a policy JSON file; when it loads, it replaces the preset. A failed load logs a warning and falls back to the preset. Preset mode only.
custom_max_peak_nits (optional) float 1000 0 to 10000, step 10 Custom preset: highest allowed peak, in nits (read as set by signal in Guard mode). Preset mode only.
custom_max_clipping (optional) float 0.01 0 to 1, step 0.001 Custom preset: highest allowed fraction of pixels with luma above 0.99 (0.01 = 1%). Preset mode only.
custom_max_black_crush (optional) float 0.05 0 to 1, step 0.001 Custom preset: highest allowed fraction of pixels with luma below 0.01 (0.05 = 5%). Preset mode only.
custom_max_saturation (optional) float 1 0 to 2, step 0.01 Custom preset: highest allowed mean HSV-style saturation, (max - min) / max per pixel. 1.0 only fails on negative pixel values. Preset mode only.
policy (optional) string Policy JSON, usually data1 of a Preset-mode Policy Guard. When connected it replaces all max_* and require_metadata values. Guard mode only.
max_clipping (optional) float 0.01 0 to 1, step 0.001 Highest allowed fraction of pixels with luma above 0.99, worst frame. Guard mode, used only when policy is empty.
max_black_crush (optional) float 0.05 0 to 1, step 0.001 Highest allowed fraction of pixels with luma below 0.01, worst frame. Guard mode, used only when policy is empty.
max_saturation (optional) float 1 0 to 2, step 0.01 Highest allowed mean saturation, (max - min) / max per pixel, worst frame. 1.0 only fails on negative pixel values. Guard mode, used only when policy is empty.
max_peak_nits (optional) float 1000 0 to 10000, step 10 Highest allowed peak in nits, the brightest channel read as set by signal. Guard mode, used only when policy is empty.
require_metadata (optional) string Comma-separated metadata keys that must appear in metadata_present, for example colorspace, eotf. Guard mode, used only when policy is empty.
metadata_present (optional) string Comma-separated metadata the deliverable carries, as keys or key=value pairs. Only the keys are checked. Guard mode only.
signal (optional) choice Display SDR (1.0 = 100 nits) Display SDR (1.0 = 100 nits), Scene-linear (1.0 = 203 nits), PQ (ST 2084), HLG (BT.2100, 1000-nit display) How pixel values are read as light for the peak check. Display SDR: 1.0 = 100 nits (BT.1886 white). Scene-linear: Radiance's convention, 1.0 = 203 nits (BT.2408). PQ: ST 2084 code values, absolute. HLG: BT.2100 code values on the 1000-nit reference display. Guard mode only.

Outputs

Output Type
image IMAGE
passed BOOLEAN
data1 STRING
data2 STRING
score INT

Preview Server

RadiancePreviewServer

Preview Server node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Run a local HTTP preview server for browser-based image review.

Inputs

Input Type Default Range or choices What it does
images IMAGE Frames to publish, returned unchanged on passthrough. Only the last frame is served, clamped to [0, 1] as an 8-bit JPEG.
port int 8765 1024 to 65535 TCP port for the preview HTTP server.
stream_name string radiance Stream identifier. Access at /frame/.
jpeg_quality (optional) int 85 20 to 99 JPEG compression quality (20=small, 99=lossless-ish).
resize_width (optional) int 0 0 to 3840 Resize frame before serving (0 = original size). Smaller = faster over network.
enabled (optional) boolean on Off: skip publishing this frame. A server already started keeps running and serves the previous frame.

Outputs

Output Type
passthrough IMAGE
server_url STRING

QC

RadianceQC

QC node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Run technical QC on an image or sequence (crushed blacks, clipped whites, out-of-range values, banding, optional noise, compression and focus scores) with a paint overlay, or export a report.

Inputs

Input Type Default Range or choices What it does
mode choice Analyze Analyze, Export Analyze: run the checks on image. Export: write qc_report_json to disk (the image and check settings are ignored).
image (optional) IMAGE Image or sequence to check, as delivered (usually display-encoded 0..1). Required in Analyze mode.
black_threshold (optional) float 0 -0.1 to 0.1, step 0.001 Channel values below this count as crushed, and any crushed value fails the frame. The default 0 flags only negative values.
white_threshold (optional) float 1 0.8 to 2, step 0.01 Channel values above this count as clipped, and any clipped value fails the frame. The default 1.0 flags only values over display white.
overlay_opacity (optional) float 0.5 0 to 1, step 0.1 Opacity of the red (clipped) and blue (crushed) paint on the output image. 0 passes the image through.
banding_threshold (optional) float 5 0 to 20, step 0.5 Banding risk, in percent of the frame, at or above which a banding warning is reported. Warning only, it never fails a frame.
enable_focus_check (optional) boolean off Add a Laplacian-variance sharpness score; below 20/100 is reported as a low-sharpness warning.
enable_artifacts_check (optional) boolean on Add an 8x8 block-edge score for JPEG/DCT compression artifacts; 10/100 or more is a warning.
enable_noise_check (optional) boolean on Add a high-frequency noise score; below 5/100 warns of over-denoising, above 30/100 of high noise.
fail_on_errors (optional) boolean off Stop the workflow with an error, carrying the report, when QC fails. Off: the failure is only reported.
qc_report_json (optional) string json_report output of an Analyze run. Export mode only.
output_path (optional) string Export folder. Empty = ComfyUI output folder; relative = subfolder of it; absolute paths are used as is. Export mode only.
filename_prefix (optional) string qc_report Report file name stem; a date-time stamp and the extension are appended. Export mode only.
export_format (optional) choice json json, csv, html, all Report file format to write; all writes JSON, CSV and HTML. Export mode only.

Outputs

Output Type
image IMAGE
text_report STRING
json_report STRING
status STRING

Split View

RadianceSplitView

Split View node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Side-by-side or wipe comparison between two images or versions.

Inputs

Input Type Default Range or choices What it does
image_a IMAGE Original / reference image.
image_b IMAGE Processed / graded image.
mode choice wipe_h wipe_h, wipe_v, side_by_side, diff wipe_h: A left, B right of a vertical line. wipe_v: A above, B below. side_by_side: left half of A beside right half of B (fixed 50% split). diff: |A - B| x 4, clipped to [0, 1].
position float 0.5 0 to 1, step 0.01 Wipe line position as a fraction of width (wipe_h) or height (wipe_v): 0 = all B, 1 = all A. Unused in side_by_side and diff.

Outputs

Output Type
comparison IMAGE

Viewer

RadianceViewer

Viewer node in Radiance 3.5.0, default interface
Captured from Radiance 3.5.0 · Default interface · Select to open the full-resolution screenshot. Controls can change with presets and connections.

Radiance Viewer, VFX review for scene-linear and HDR images: • Simple mode (picture, compare, playback) or Advanced (every panel), switched in its title bar • Compare against compare_image or a pinned frame: B, wipe, difference, blink • GPU Waveform / RGB Parade / Vectorscope / Histogram scopes • Power Windows masking (Radial + Box, feather, rotation) • Comparison Bridge — mouse-draggable wipe + reference shelf (8 stills) • Anamorphic lens streaks + Brown-Conrady k1/k2 distortion • Edge-preserving Bilateral Filter denoising (7×7 GPU kernel) • Channel viewing (RGB/R/G/B/Alpha/Luma), False Color, Zebra • 16-bit PNG + .rhdr HDR sidecar + .exr export • IMAGE passthrough — no longer a dead-end node

Inputs

Input Type Default Range or choices What it does
image IMAGE,VIDEO IMAGE batch or VIDEO to review. Returned unchanged as an IMAGE; input_space decides how it is displayed.
compare_image (optional) IMAGE,VIDEO Optional B side (IMAGE or VIDEO) for the viewer's wipe and compare modes. Every frame is sent; its display space is resolved like image's.
zdepth (optional) IMAGE,VIDEO Z-Depth map to display when pressing Z button
exposure_bracketing (optional) boolean off Write -2 EV / +2 EV preview thumbnails for the analysis shelf. One extra PNG per frame per bracket; off by default because a long shot pays for it on disk.
input_space (optional) choice Auto Auto, sRGB (ComfyUI IMAGE), Linear Rec.709 (sRGB), ACEScg, Linear Rec.2020, Linear P3-D65, ACES2065-1 What the incoming pixels are. A ComfyUI IMAGE is sRGB-encoded and is shown untouched, exactly as ComfyUI previews it. Linear sources (HDR Decode, SDR -> HDR, Read in a linear working space) are shown through OpenColorIO's ACES 2.0 SDR view. Auto: linear when any value is above 1.0 or below 0, otherwise sRGB. Set it explicitly for linear material that stays inside 0-1.
float_precision (optional) choice Half (16-bit) Half (16-bit), Full (32-bit) Precision of the float frames sent to the browser. Half is what OpenEXR, RV and Nuke's viewer cache use: exact for display and grading, half the size (about 60 MB less per 4K frame). Full keeps every fp32 bit for values above 65504 or bit-exact probing.
fps (optional) float 0 0 to 240, step 0.001 Playback rate. 0 = the source's rate (a VIDEO input carries it), 24 for an image batch. 23.976 / 29.97 / 59.94 are handled as the NTSC rates.

Outputs

Output Type
image IMAGE