Video Loader
One loader for LTX, Wan and HunyuanVideo, and the Wan 2.2 dual-expert trick done for you
- lora_stack
- model
- model_low_noise
- clip
- vae
- audio_vae
- lora_stack
- upscale_model
- model_meta
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(defaultCustom) - quick-configuresmodel_type, dtypes andoffload_modeand 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_e4m3fnsaves roughly 40% VRAM against fp16 and is the usual answer if things are tight.model_type-Auto-Detectreads 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 aBaked (from UNET)option where the checkpoint carries it. LTX 2.3 wants the Gemma 3llm_encoderplustext_projection; HunyuanVideo wants the Llava-Llama3llm_encoder. offload_mode-none,cpu_offload(CLIP sits in system RAM) orsequential(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 andHF_TOKENset.RADIANCE_ALLOW_DOWNLOADS=0shuts 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.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | Custom | Quick-configure for common architectures. Overrides model_type, dtypes, offload_mode, and hints which CLIP slots are needed. |
| unet_name | COMBO | Main 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_dtype | COMBO | default | UNET weight precision. fp8_e4m3fn saves ~40% VRAM vs fp16. |
| model_type | COMBO | Auto-Detect | 'Auto-Detect' reads the checkpoint's key names to determine architecture. Override manually if detection fails. |
| vae_name | COMBO | Baked VAE (from UNET) | VAE for encoding/decoding latents. 'Baked VAE (from UNET)' extracts it from the checkpoint. |
| audio_vae_nameopt | COMBO | None | Audio VAE for LTX 2.3. Choose 'Baked' or a standalone safetensors file. |
| upscale_model_nameopt | COMBO | None | Latent Upscale Model (e.g. for LTX 2.3 or HunyuanVideo). |
| clip_lopt | COMBO | None | CLIP-L (text encoder). Used by: SD1.5, SDXL, Flux, SD3. |
| clip_gopt | COMBO | None | CLIP-G (text encoder). Used by: SDXL, SD3, SD3.5. |
| t5xxlopt | COMBO | None | T5-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_encoderopt | COMBO | None | LLM encoder. Used by: HunyuanVideo (Llava-Llama3), LTX 2.3 (Gemma 3), Lumina2 (Gemma-2), Z-Image (Qwen3), Flux.2 (Mistral-3/Qwen3). |
| text_projectionopt | COMBO | None | Text 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_dtypeopt | COMBO | default | CLIP weight precision. Independent from UNET. For Flux T5XXL: fp8 saves ~4.7 GB vs fp16. |
| offload_modeopt | COMBO | none | none = GPU only. cpu_offload = CLIP loaded to CPU RAM. sequential = enable ComfyUI sequential CPU offload (8–12 GB GPUs). |
| lora_stackopt | LORA_STACK | Accept a LORA_STACK from RadianceLoraStack node. | |
| check_vramopt | COMBO | On | Estimate VRAM before load and warn if tight. |
| use_cacheopt | COMBO | On | Cache loaded models. Skips disk I/O when re-running with the same files. Cache auto-invalidates if files change. |
| lora_on_erroropt | COMBO | raise | 'warn' skips failed LoRA and continues. 'raise' stops execution. |
| auto_downloadopt | BOOLEAN | true | If 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)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| model_low_noise | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| audio_vae | VAE | — |
| lora_stack | LORA_STACK | — |
| upscale_model | LATENT_UPSCALE_MODEL | — |
| model_meta | STRING | — |