Nodes/radiance/◎ Radiance Unified Loader
ComfyUI Node

◎ Radiance Unified Loader

One loader for Flux, SDXL, WAN, HunyuanVideo — and it picks the architecture itself

By fxtdstudios·Created 7 months ago·Updated 9 days ago· 242
◎ Radiance Unified Loader
  • lora_stack
  • MODEL
  • CLIP
  • VAE
  • CONTROLNET
  • lora_stack
  • load_info
  • latent_format
  • model_meta
presetNone (Manual)
unet_name
weight_dtypedefault
model_typeAuto-Detect
vae_name
clip_lNone
clip_gNone
t5xxlNone
llm_encoderNone
clip_dtypedefault
offload_modenone
lora_1None
lora_1_model_str1.00
lora_1_clip_str1.00
lora_2None
lora_2_model_str1.00
lora_2_clip_str1.00
lora_3None
lora_3_model_str1.00
lora_3_clip_str1.00
controlnet_nameNone
controlnet_strength1.00
controlnet_start0.00
controlnet_end1.00
check_vramOn
use_cacheOn
lora_on_errorraise
auto_downloadfalse

Every new model architecture means a new loader: Flux loader, SDXL loader, WAN loader, and God help you if you mix up which one takes which CLIP. ◎ Radiance Unified Loader is the "just load it" node: it auto-detects the architecture from the checkpoint's own keys, loads the right text encoders into named slots, lets you chain LoRAs and a ControlNet in the same node, and even downloads a missing model for you. It's the pack's answer to "stop swapping loaders, start loading."

The KB's VAE essay is the subtext here: the modern generation problem isn't image quality, it's getting the right components (diffusion model, CLIP/T5, VAE, right channel count) to agree. This node exists to make that agreement automatic.

How it works

It fingerprints the model: Auto-Detect reads the checkpoint's state-dict key names and matches them against a ranked set of architecture heuristics (Flux, SD3/SD3.5, SDXL, SD 1.5, WAN, HunyuanVideo, LTX, PixArt, Lumina2, etc.). The codebase notes the heuristics are ordered so more specific patterns win - there's even a documented bugfix where a generic Wan key was silently misdetecting Wan as LTX until the ordering was corrected. The presets dropdown (Flux Dev, Flux Schnell, Flux Dev Low VRAM, SD3.5 Large/Medium/Turbo, SDXL, Wan 2.1, HunyuanVideo, etc.) does the same configuration the manual way, and overrides model_type, dtypes, offload mode, and which CLIP slots you need.

The CLIP handling is the part that saves real pain: clip_l, clip_g, t5xxl, and llm_encoder are separate named slots, each with its own dtype. Load Flux and it uses CLIP-L + T5-XXL; load SDXL and it needs CLIP-L + CLIP-G; WAN uses T5-XXL. The node wires them into the right places, and the latent_format output (e.g. flux_16ch) carries the channel count forward to the sampler so encode/decode stay consistent.

LoRAs are a first-class citizen: a chainable LORA_STACK input (from RadianceLoraStack) plus three inline LoRA slots, each with independent model and CLIP strengths. There's also an optional ControlNet with start/end and strength, and lora_on_error lets you choose warn (skip a broken LoRA, keep going) or raise.

The inputs that matter

  • preset - pick a model family and most of the rest configures itself.
  • unet_name and vae_name - the files (dropdowns populate from your folders).
  • weight_dtype - default or fp8_e4m3fn (~40% VRAM savings on the UNET, per the tooltip) when VRAM is tight.
  • offload_mode - none, cpu_offload, or sequential for 8–12GB GPUs.
  • auto_download - if a selected model is missing, fetch it from the pack's mirrors (a curated map covering common Flux/SDXL files).

Outputs: MODEL, CLIP, VAE, CONTROLNET, the lora_stack, plus load_info, latent_format, and model_meta (JSON) for downstream validation.

How to install it

It's 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

Restart, and it's under FXTD Studios/Radiance/Generate. No models ship with the pack - you point it at files you already have (or let auto_download fetch the common ones).

Common issues

The honest caveats: auto_download only knows the handful of models in its map, so "downloads a missing model" doesn't mean "every model." And while caching is fingerprint-based (use_cache keyed on mtime + size so stale cache hits are avoided), a cached model can still go stale if a file changes without a size/time change - rare, but disable the cache if you're iterating on a file in place. If Auto-Detect guesses wrong on an unusual checkpoint, that's what the manual model_type override is for - the tooltip says it plainly. And one community note: a "unified" loader is only as unified as its heuristics, so on brand-new architectures check model_meta to confirm what it detected before you blame the sampler.

For anyone juggling more than one model family, this is the loader that makes switching a dropdown instead of a rebuild.

CategoryFXTD Studios/Radiance/Generate

Inputs (29)

NameTypeDefaultDescription
presetCOMBONone (Manual)Quick-configure for common architectures. Overrides model_type, dtypes, offload_mode, and hints which CLIP slots are needed.
unet_nameCOMBOMain diffusion model (UNET / DiT / Transformer).
weight_dtypeCOMBOdefaultUNET weight precision. fp8_e4m3fn saves ~40% VRAM vs fp16.
model_typeCOMBOAuto-Detect'Auto-Detect' reads the checkpoint's key names to determine architecture. Override manually if detection fails.
vae_nameCOMBOVAE for encoding/decoding latents.
clip_loptCOMBONoneCLIP-L (text encoder). Used by: SD1.5, SDXL, Flux, SD3.
clip_goptCOMBONoneCLIP-G (text encoder). Used by: SDXL, SD3, SD3.5.
t5xxloptCOMBONoneT5-XXL (text encoder). Used by: Flux, SD3, SD3.5, Wan, LTX, PixArt.
llm_encoderoptCOMBONoneLLM encoder (ChatGLM3 etc.). Used by: Kolors, HunyuanVideo.
clip_dtypeoptCOMBOdefaultCLIP weight precision. Independent from UNET. For Flux T5XXL: fp8 saves ~4.7 GB vs fp16.
offload_modeoptCOMBOnonenone = GPU only. cpu_offload = CLIP loaded to CPU RAM. sequential = enable ComfyUI sequential CPU offload (8–12 GB GPUs).
lora_stackoptLORA_STACKAccept a LORA_STACK from RadianceLoraStack node.
lora_1optCOMBONone1 options: None
lora_1_model_stroptFLOAT1.00-2–2LoRA 1 strength on model.
lora_1_clip_stroptFLOAT1.00-2–2LoRA 1 strength on CLIP.
lora_2optCOMBONone1 options: None
lora_2_model_stroptFLOAT1.00-2–2
lora_2_clip_stroptFLOAT1.00-2–2
lora_3optCOMBONone1 options: None
lora_3_model_stroptFLOAT1.00-2–2
lora_3_clip_stroptFLOAT1.00-2–2
controlnet_nameoptCOMBONoneOptional ControlNet model.
controlnet_strengthoptFLOAT1.000–2
controlnet_startoptFLOAT0.000–1
controlnet_endoptFLOAT1.000–1
check_vramoptCOMBOOnEstimate VRAM before load and warn if tight.
use_cacheoptCOMBOOnCache loaded models. Skips disk I/O when re-running with the same files. Cache auto-invalidates if files change.
lora_on_erroroptCOMBOraise'warn' skips failed LoRA and continues. 'raise' stops execution.
auto_downloadoptBOOLEANfalseIf a selected model is missing, automatically download it from Radiance mirrors.

Outputs (8)

NameTypeDescription
MODELMODEL
CLIPCLIP
VAEVAE
CONTROLNETCONTROL_NET
lora_stackLORA_STACK
load_infoSTRING
latent_formatSTRING
model_metaSTRING