TT FLUX Models Loader (Advanced)
The Flux loader that swaps a five-node tangle for one box
- MODEL
- CLIP
- VAE
A stock FLUX graph needs a UNETLoader (or DiffusionModelLoader), a DualCLIPLoader for CLIP-L plus T5-XXL, a VAELoader, and then a chain of LoraLoaders - five nodes before you've even touched a text encoder. TenserTensor's FLUX loader folds all of that into one box. You pick a diffusion model, pick your two text encoders, optionally stack up to four LoRAs, and get MODEL, CLIP, and VAE out the right side.
The "Advanced" part is the useful part: apply_sampling (on by default) patches a Flux sampling-shift into the model. Flux gets washed-out, mushy output at high resolutions if you leave the schedule alone, so the node linearly interpolates a shift between base_sampling_shift (0.5, used down near 256px) and max_sampling_shift (1.15, at big resolutions) based on sampling_width/sampling_height. It's the same trick the ModelSamplingFluxAdvanced patch does, applied for you. If you're generating at 1024x1024 or above, leave it on.
The other headline input is unet_dtype. Flux is a 12B stack and most of us can't hold fp16 in memory, which is why the community runs it on fp8 or GGUF as the norm. Options are default, fp8_e4m3fn, fp8_e4m3fn_fast, and fp8_e5m2 - the first fp8 keeps compute speed, the _fast variant adds fp8 optimizations, and e5m2 is the rougher of the two. For the text side, clip_l and t5xxl pull from your text_encoders folder, and you can push clip_device to CPU if the T5 is eating your VRAM.
The LoRA slots (lora_name_1–4 with strength_1–4) are genuinely useful and have a small gotcha: strengths go from -10 to +10, so you can do negative LoRA steering, not just 0–1 blending. The pack caches loaded LoRA weights on the node instance, which means rapid re-runs are faster - but it also means a stale cache can persist if you change files on disk and don't reload. When in doubt, refresh the workflow.
Install is the standard one:
cd ComfyUI/custom_nodes
git clone https://github.com/tenser-tensor/ComfyUI-TenserTensor
or search "TenserTensor" in ComfyUI Manager and restart. The pack's real dependencies are gguf>=0.17.0 and kornia; the gguf dependency is why ComfyUI needs a recent version for UNET-only model loading.
Where people get burned:
- GGUF files don't show up. ComfyUI doesn't scan
.ggufby default. This pack registers thediffusion_models_ggufandtext_encoders_gguffolders automatically, so drop quantized weights there - they're picked up fromunet_name,clip_l, andt5xxljust like safetensors. - T5-XXL is the memory hog. The transformer might fit, then the 4.7B T5 blows your VRAM. Load the T5 as GGUF (Q4/Q5 is fine - the KB consensus is Q8 ≈ fp16 and it degrades gracefully) or set
clip_deviceto CPU. - The sampling shift isn't magic. It helps high-res Flux a lot, but it won't fix a bad scheduler choice. Euler + simple, 20–30 steps, is still the boring default that works.
One honest caveat: this class name is the pack's original (V1) node, now sitting in a Deprecated/ category while the author migrates everything to ComfyUI's newer API V3 ("Node"-suffixed replacements). It still loads and runs fine - but if the pack ever drops V1 support, the TT_FluxModelsLoaderAdvancedNode is the drop-in successor. TenserTensor is a one-person, Apache-2.0 project that barely surfaces in community discussion, so weigh that maintenance risk against how tidy the node makes your graph.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 0 options: | |
| unet_dtype | COMBO | 4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2 | |
| apply_sampling | BOOLEAN | true | — |
| base_sampling_shift | FLOAT | 0.500–100 | — |
| max_sampling_shift | FLOAT | 1.150–100 | — |
| sampling_width | INT | 102416–16384 | — |
| sampling_height | INT | 102416–16384 | — |
| clip_l | COMBO | 0 options: | |
| t5xxl | COMBO | 0 options: | |
| clip_device | COMBO | 2 options: default, cpu | |
| lora_name_1 | COMBO | 1 options: None | |
| strength_1 | FLOAT | 1.0-10–10 | — |
| lora_name_2 | COMBO | 1 options: None | |
| strength_2 | FLOAT | 1.0-10–10 | — |
| lora_name_3 | COMBO | 1 options: None | |
| strength_3 | FLOAT | 1.0-10–10 | — |
| lora_name_4 | COMBO | 1 options: None | |
| strength_4 | FLOAT | 1.0-10–10 | — |
| vae_name | COMBO | 1 options: pixel_space | |
| vae_device | COMBO | 2 options: default, cpu | |
| vae_dtype | COMBO | 3 options: bfloat16, float16, float32 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |