Model Set Loader (TJ)
CheckpointLoaderSimple for people who don't use checkpoints — separate model, CLIP, and VAE
- MODEL
- CLIP
- VAE
Model Set Loader (TJ) is a three-in-one loader for the modern era of ComfyUI, where a "checkpoint" is usually three separate files: a diffusion model, a text encoder, and a VAE. It's laid out like CheckpointLoaderSimple - one node, three outputs - but each dropdown is independent, so you can pair a GGUF-quantized Flux model with a qwen text encoder and a shared VAE without juggling three separate loader nodes and their wires. If you build workflows around split models, this collapses the boilerplate nicely.
How it works
Three dropdowns, three outputs:
model_name- from yourdiffusion_models/unetfolders, GGUF included. It auto-detects.gguffiles and routes them throughUnetLoaderGGUF/CLIPLoaderGGUF(the pack needs ComfyUI-GGUF installed for the GGUF path) instead of the standard loader.clip_name- fromtext_encoders/clip.clip_typeis the CLIPLoader architecture type and the pack pulls the list dynamically from your ComfyUI, so it's not a hardcoded roster that rots when new architectures land.clip_dtypecovers weight dtype.vae_name- from yourvaefolder.
model_dtype maps to UNETLoader's weight_dtype (default, fp8_e4m3fn, fp8_e5m2, fp16, bf16) - ignored for GGUF models since the quantization is baked into the file. Each slot accepts [none], which returns None for that output only, so you can load model + CLIP and leave the VAE to a shared loader elsewhere in the graph.
auto_set is the wireless integration: flip it on and each output publishes itself as a named provider ({name}/MODEL, {name}/CLIP, {name}/VAE), so downstream TJ Get nodes can receive them without wires.
Inputs and outputs that matter
The three that matter day-to-day: model_name, clip_name, vae_name. The rest (model_dtype, clip_type, clip_dtype, auto_set) only need touching when you're doing something specific like fp8 loading or wireless routing.
Outputs: MODEL, CLIP, VAE.
Install
ComfyUI Manager → Install Custom Nodes → search TJ_NODE, or:
cd ComfyUI/custom_nodes
git clone https://github.com/designloves2/ComfyUI-TJ_NODE
Restart ComfyUI. For GGUF loading you also need ComfyUI-GGUF (Manager: search "ComfyUI-GGUF"). No models ship with the pack - the actual .gguf/.safetensors files are on you.
The honest verdict
This is a convenience loader, and a good one if you live in split-model land. The GGUF auto-detection saves you from remembering which loader node to use, and the [none] slots make partial loading genuinely flexible. The trade-off: because it wraps the separate loaders, it can only expose the options those loaders support - you won't get checkpoint-format conveniences like embedded clip/VAE extraction. And it leans on the GGUF pack being present, so a fresh environment with this node but no ComfyUI-GGUF will fail on .gguf files. If your workflows are all merged checkpoints, CheckpointLoaderSimple is still the right tool; if they're split Flux/Klein/Krea-style stacks, this is the one.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| auto_set | BOOLEAN | false | — |
| model_name | COMBO | [none] | 1 options: [none] |
| model_dtype | COMBO | default | UNETLoader weight_dtype. GGUF 모델은 무시됩니다. |
| clip_name | COMBO | [none] | 1 options: [none] |
| clip_type | COMBO | stable_diffusion | CLIPLoader type 파라미터. GGUF CLIP은 무시됩니다. |
| clip_dtype | COMBO | default | CLIPLoader weight_dtype (지원 버전에서만 동작). GGUF CLIP은 무시됩니다. |
| vae_name | COMBO | [none] | 1 options: [none] |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |