Nodes/Tenser Tensor/TT FLUX Models Loader (Advanced)
ComfyUI Node

TT FLUX Models Loader (Advanced)

The Flux loader that swaps a five-node tangle for one box

By tenser-tensor·Created 7 months ago·Updated 5 months ago· 0
TT FLUX Models Loader (Advanced)
    • MODEL
    • CLIP
    • VAE
    unet_name
    unet_dtype
    apply_samplingtrue
    base_sampling_shift0.50
    max_sampling_shift1.15
    sampling_width1024
    sampling_height1024
    clip_l
    t5xxl
    clip_device
    lora_name_1
    strength_11.0
    lora_name_2
    strength_21.0
    lora_name_3
    strength_31.0
    lora_name_4
    strength_41.0
    vae_name
    vae_device
    vae_dtype

    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_14 with strength_14) 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 .gguf by default. This pack registers the diffusion_models_gguf and text_encoders_gguf folders automatically, so drop quantized weights there - they're picked up from unet_name, clip_l, and t5xxl just 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_device to 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.

    CategoryTenserTensor/Loaders/FLUX

    Inputs (21)

    NameTypeDefaultDescription
    unet_nameCOMBO0 options:
    unet_dtypeCOMBO4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2
    apply_samplingBOOLEANtrue
    base_sampling_shiftFLOAT0.500–100
    max_sampling_shiftFLOAT1.150–100
    sampling_widthINT102416–16384
    sampling_heightINT102416–16384
    clip_lCOMBO0 options:
    t5xxlCOMBO0 options:
    clip_deviceCOMBO2 options: default, cpu
    lora_name_1COMBO1 options: None
    strength_1FLOAT1.0-10–10
    lora_name_2COMBO1 options: None
    strength_2FLOAT1.0-10–10
    lora_name_3COMBO1 options: None
    strength_3FLOAT1.0-10–10
    lora_name_4COMBO1 options: None
    strength_4FLOAT1.0-10–10
    vae_nameCOMBO1 options: pixel_space
    vae_deviceCOMBO2 options: default, cpu
    vae_dtypeCOMBO3 options: bfloat16, float16, float32

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE