TT FLUX Models Loader
Model, both text encoders, VAE
- MODEL
- CLIP
- VAE
FLUX isn't one model, it's four: the 12B transformer, a CLIP-L text encoder, the enormous T5-XXL encoder, and a VAE. Load them all separately and your graph's front end is already four nodes and a tangle of wires before you've done anything. TT FLUX Models Loader collapses that into one: pick the files, get MODEL, CLIP, and VAE out the other side, with the CLIP-L and T5-XXL already fused into the dual CLIP that FLUX's conditioning needs.
It's the FLUX entry point of TenserTensor, a pack whose whole pitch is replacing common node chains with single loaders. This is one of its best examples.
What you pick
unet_name- the FLUX transformer, fromComfyUI/models/diffusion_models/. This is the DiT (the big boy), not a checkpoint.clip_landt5xxl- the two text encoders, fromComfyUI/models/text_encoders/. Pickt5-v1_1-xxl-encoder_fp16(or fp8) andclip_l.safetensors- the node combines them into the FLUX dual CLIP.clip_device-defaultorcpu. Leave on default; CPU offload is there if the T5 is squeezing your VRAM.vae_name- a dropdown of VAEs. Here's the trap: the default in the schema ispixel_space, which isn't a real VAE file at all. It's a special passthrough that pretends pixels are latents. If you want to actually decode, pick a real one likeae.safetensors(FLUX's VAE). Thepixel_spacedefault is only right for pipelines that decode some other way.
The VAE is loaded in bfloat16 by default and offloaded to CPU, which is a sensible FLUX default given how tight VRAM gets.
The gotchas that actually bite
First, model placement. ComfyUI only scans the folders it knows; the pack registers the GGUF folders (diffusion_models_gguf, text_encoders_gguf) so quantized FLUX files show up - but you have to put them there. The README's layout is explicit: diffusion models in models/diffusion_models/, text encoders in models/text_encoders/.
Second, the README's own warning: you need a recent ComfyUI, because loading UNET-only models relies on newer custom-operation support. If the loader errors on import or load, update ComfyUI before anything else.
Third, VRAM math. Full fp16 FLUX doesn't fit most consumer cards; the standard answers are fp8 checkpoints or GGUF quants. The pack supports GGUF (it uses City96's GGUF code, acknowledged in the README), and the KB's rule applies: Q8 is basically fp16 at half the size, Q5 is the last stop before visible loss, Q4_K_M is the 12GB-card compromise.
Install and standing notes
cd ComfyUI/custom_nodes
git clone https://github.com/tenser-tensor/ComfyUI-TenserTensor
or ComfyUI Manager → search "TenserTensor" → install → restart. Deps: gguf (yes, required for the GGUF loaders) and kornia.
One thing to know that research won't tell you much about: this pack has essentially no community footprint - it's a small, quietly maintained pack, and you're not going to find a dozen threads troubleshooting it. What you'll find instead are the same FLUX-specific lessons that apply everywhere: guidance 3.5 clones faces (drop to ~2 for people), and negative prompts are mostly inert on guidance-distilled FLUX. And like every node in this set, it's a legacy V1 node - parked in Deprecated/ after the pack's migration to ComfyUI's API V3, with removal planned for a future major release. It works today; the pack's V3 FLUX loader is the long-term home.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 0 options: | |
| clip_l | COMBO | 0 options: | |
| t5xxl | COMBO | 0 options: | |
| clip_device | COMBO | 2 options: default, cpu | |
| vae_name | COMBO | 1 options: pixel_space |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |