Diffusion Model + CLIP + VAE Cycler Loader (Nukun)
A cycler for the new world of separate model files
- MODEL
- CLIP
- VAE
- modelname
- filename_modelname
- unet_name
- clip_name
- vae_name
- folder
The checkpoint cyclers in this pack are great - if you're loading monolithic .safetensors checkpoints. But a big slice of the modern ecosystem doesn't work that way. FLUX, SD3, Wan, and the separate-file workflows split the weights: a diffusion model file in diffusion_models/, a text encoder in text_encoders/, a VAE in vae/. Stock ComfyUI handles that with three separate loaders. NukunDiffusionClipVaeCyclerLoader bundles all three into one node and adds cycler support to the model dropdown so you can batch over a folder of diffusion models while holding CLIP and VAE fixed.
If you've been living in SDXL-land, this is the node to reach for the moment you start touching FLUX or SD3 workflows and miss having everything in one place.
What it does
One node, three loads under the hood. The important inputs:
unet_name- the diffusion model dropdown, withcontrol_after_generatesupport. This is the one you increment to batch over models.clip_name- the text encoder. Selected once; it stays put while the model cycles (most FLUX/SD3 workflows want one encoder anyway).vae_name- defaults topixel_space, and it's fixed across the cycle by design.weight_dtype-default, orfp8_e4m3fn,fp8_e4m3fn_fast,fp8_e5m2. If you're running quantized FLUX models, this is how you tell the core loader to keep them quantized.clip_type- which text-encoder architecture your CLIP file is (stable_diffusion,sd3,ltxv,wan, and a couple dozen more). The source even auto-corrects one case: if you setstable_diffusionbut the loaded model turns out to be a Krea2, it picks the right clip type for you.clip_device- load CLIP normally or force it to CPU, useful on tight VRAM.
Outputs are the expected MODEL, CLIP, VAE, plus modelname, filename_modelname (both sanitized for filenames), unet_name, clip_name, vae_name, and folder. You can wire modelname straight into a save prefix and every run is labeled with the diffusion model that made it.
Why you'd use it over three stock loaders
Batching. With three separate stock loaders, "next model" means manually re-picking three dropdowns per run (or building a converter rig). Here, one node, one widget to increment, everything else stays coherent. It's the same convenience argument as the checkpoint cyclers, but for the split-file architectures where that convenience was previously missing.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/OnekoSL/Nukun_ComfyUI_Nodes.git
Restart ComfyUI or install via Manager (search "Nukun"). No model downloads from the pack itself - you supply the diffusion models and encoders it cycles.
The thing to get right
It only cycles the model - CLIP and VAE are meant to stay fixed. If your batch includes models that need different text encoders, this isn't the right tool (keep the pack's 4-Prompt Model Cycler in mind, which is the same family but with different strengths). And remember the usual control_after_generate rhythm: the increment applies after the run, so for controlled tests set ComfyUI's widget control mode to Before once and the shown value will match the run that produced it.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | Diffusion model/UNET to load. The frontend can increment, decrement, randomize, or wrap this combo after queueing. | |
| clip_name | COMBO | Text encoder/CLIP to load. | |
| vae_name | COMBO | pixel_space | VAE to load. |
| weight_dtype | COMBO | default | Weight dtype passed to the core Load Diffusion Model node. |
| clip_type | COMBO | stable_diffusion | CLIP type passed to the core Load CLIP node. |
| clip_device | COMBO | default | Load CLIP normally or force it to CPU. |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| modelname | STRING | — |
| filename_modelname | STRING | — |
| unet_name | STRING | — |
| clip_name | STRING | — |
| vae_name | STRING | — |
| folder | STRING | — |