Nodes/radiance/Video Loader
ComfyUI Node

Video Loader

One loader for LTX, Wan and HunyuanVideo, and the Wan 2.2 dual-expert trick done for you

By FXTD-Studios·Created 8 months ago·Updated about 18 hours ago· 246
Video Loader
  • lora_stack
  • model
  • model_low_noise
  • clip
  • vae
  • audio_vae
  • lora_stack
  • upscale_model
  • model_meta
◄presetCustom►
◄unet_name▾►
◄weight_dtypedefault►
◄model_typeAuto-Detect►
◄vae_nameBaked VAE (from UNET)►
◄audio_vae_nameNone►
◄upscale_model_nameNone►
◄clip_lNone►
◄clip_gNone►
◄t5xxlNone►
◄llm_encoderNone►
◄text_projectionNone►
◄clip_dtypedefault►
◄offload_modenone►
◄check_vramOn►
◄use_cacheOn►
◄lora_on_errorraise►
◄auto_downloadtrue►

Video models are the worst offenders for loader sprawl. LTX wants a Gemma 3 text encoder and a text projection matrix, HunyuanVideo wants Llava-Llama3, Wan wants T5-XXL, Wan 2.2 quietly wants two experts, and LTX 2.3 wants a second VAE for audio. The stock checkpoint loaders cover the mainstream path and stop there.

Video Loader is Radiance's take on "load the whole stack from one node." It's the video-oriented variant of the pack's universal loader, which means it lists only video architectures in its presets and model types, and adds three things the universal one doesn't have.

The three additions

Baked VAE extraction. vae_name defaults to Baked VAE (from UNET), which pulls the VAE out of the checkpoint instead of asking you for a second file. The loader reads the safetensors metadata when doing so - that matters, because without it ComfyUI falls back to a default VAE config and LTX 2.3's video VAE blows up with a state-dict size mismatch.

Audio VAE. audio_vae_name takes a standalone file or Baked Audio VAE (from UNET), for LTX 2.3's combined video-and-audio generation.

Latent upscale model. upscale_model_name slots an LTX 2.3 / HunyuanVideo SR model in as a separate output, so the refiner pass doesn't need its own loader.

The Wan 2.2 trick, which is the real reason to use this

Wan 2.2 splits denoising across a high-noise expert (motion, composition) and a low-noise expert (detail) - a MoE video model, the first open one. ComfyUI's native path makes you load two checkpoints and swap them mid-schedule yourself, and the community's standard compromise is to keep the high-noise pass clean and speed-LoRA only the low-noise one, or you get flux-plastic skin and dead scene composition.

This loader does the plumbing: select either the high_noise or the low_noise file and the companion is detected automatically. The model output always carries the high-noise expert; model_low_noise always carries the low-noise expert, regardless of which file you picked. That's a small thing that saves an entire category of workflow mistake.

Inputs that matter

  • preset (default Custom) - quick-configures model_type, dtypes and offload_mode and hints which CLIP slots you need. There are 18, including low-VRAM variants for LTX 2.3 and 2.5, plus MiniMax H3 and Cosmos World.
  • unet_name - the diffusion model file.
  • weight_dtype - fp8_e4m3fn saves roughly 40% VRAM against fp16 and is the usual answer if things are tight.
  • model_type - Auto-Detect reads checkpoint key names; 12 overrides if detection fails (ltxv, ltxav, wan, wan_ti2v, hunyuan_video, hunyuan_video_15, minimax, kandinsky5, …).
  • Text encoders - t5xxl, llm_encoder, text_projection, clip_l/clip_g, each with a Baked (from UNET) option where the checkpoint carries it. LTX 2.3 wants the Gemma 3 llm_encoder plus text_projection; HunyuanVideo wants the Llava-Llama3 llm_encoder.
  • offload_mode - none, cpu_offload (CLIP sits in system RAM) or sequential (ComfyUI sequential CPU offload, the 8–12 GB option). Slower, obviously.
  • auto_download - on by default. Missing known models come from pinned Hugging Face sources with a SHA-256 check, and they're large (4–60 GB). Gated repos need their licence accepted and HF_TOKEN set. RADIANCE_ALLOW_DOWNLOADS=0 shuts the whole thing off.

There's also check_vram (estimates and warns before loading), use_cache (skips disk I/O on reruns, invalidates when files change), lora_stack, and lora_on_error - warn skips a broken LoRA and keeps going, raise stops.

Eight outputs: model, model_low_noise, clip, vae, audio_vae, lora_stack, upscale_model, and model_meta, a string worth glancing at when the load does something you didn't expect.

Install

ComfyUI Manager → search Radiance → install → restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/fxtd-studios/radiance.git
cd radiance
python -m pip install -r requirements.txt

Windows portable: use python_embeded\python.exe for the pip line. The pack needs OpenImageIO and OpenColorIO even if you're only generating video, and there's RADIANCE_ALLOW_DOWNLOADS=0 in your environment if you'd rather fetch 60 GB yourself.

Where people get burned

Two loaders, one GPU. Loading an image checkpoint and a video model and leaving both alive is the classic OOM. Mute the one you're not using.

Gated downloads that silently don't download. FLUX.2-dev, FLUX.2-klein 9B and LTX-2.5 need licence acceptance on Hugging Face plus HF_TOKEN. Without it you get a missing-file error later, not an explanation now.

Sequential offload as a default. It fits, and it's slow. Presets that ship a "Low VRAM" variant turn it on for a reason - if you have 24 GB, none is the fun answer.

CategoryFXTD STUDIOS/Radiance/Video

Inputs (19)

NameTypeDefaultDescription
presetCOMBOCustomQuick-configure for common architectures. Overrides model_type, dtypes, offload_mode, and hints which CLIP slots are needed.
unet_nameCOMBOMain diffusion model (UNET / DiT / Transformer). For WAN 2.2, select either the high_noise or low_noise file — the companion expert is detected automatically. The 'model' output always carries the high_noise expert and 'model_low_noise' always carries the low_noise expert, regardless of which file is selected.
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_nameCOMBOBaked VAE (from UNET)VAE for encoding/decoding latents. 'Baked VAE (from UNET)' extracts it from the checkpoint.
audio_vae_nameoptCOMBONoneAudio VAE for LTX 2.3. Choose 'Baked' or a standalone safetensors file.
upscale_model_nameoptCOMBONoneLatent Upscale Model (e.g. for LTX 2.3 or HunyuanVideo).
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, PixArt, LTX (pre-2.3). 'Baked (from UNET)' loads it from the main checkpoint -- AuraFlow ships no standalone text encoder file.
llm_encoderoptCOMBONoneLLM encoder. Used by: HunyuanVideo (Llava-Llama3), LTX 2.3 (Gemma 3), Lumina2 (Gemma-2), Z-Image (Qwen3), Flux.2 (Mistral-3/Qwen3).
text_projectionoptCOMBONoneText projection matrix. Used by: LTX 2.3 (with Gemma 3 llm_encoder). 'Baked (from UNET)' loads it from the main LTX 2.3 checkpoint, like the native LTXV Audio Text Encoder Loader.
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.
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_downloadoptBOOLEANtrueIf a selected model is missing and is one Radiance knows, download it on first run from its pinned Hugging Face source, checked against its SHA-256 before it is installed (large: 4 to 60 GB). Gated repositories (FLUX.2-dev, FLUX.2-klein 9B, LTX-2.5) need their licence accepted on Hugging Face and HF_TOKEN set. RADIANCE_ALLOW_DOWNLOADS=0 always stops downloads.

Outputs (8)

NameTypeDescription
modelMODEL—
model_low_noiseMODEL—
clipCLIP—
vaeVAE—
audio_vaeVAE—
lora_stackLORA_STACK—
upscale_modelLATENT_UPSCALE_MODEL—
model_metaSTRING—