Nodes/SP-Nodes/SP_FluxLoader
ComfyUI Node

SP_FluxLoader

A whole Flux pipeline in one node — model, clips, VAE, LoRA, prompt, latent

By bananasss00·Created 2 years ago·Updated a day ago· 23
SP_FluxLoader
    • sp_pipe
    • model
    • clip
    • vae
    • positive
    • negative
    • latent
    unet_name
    de_distilledfalse
    weight_dtype
    vae_name
    clip_name1
    clip_name2
    lora_name
    lora_strength1.00
    positive
    resolution1024 x 1024
    empty_latent_width512
    empty_latent_height512

    Build Flux the vanilla way and you're placing six or seven nodes before you ever reach a sampler: UNETLoader, two clip loaders, VAELoader, a LoraLoader, a CLIPTextEncode, an EmptySD3LatentImage. That's the whole stack, right there. SP_FluxLoader from bananasss00's SP-Nodes pack collapses it into one node that hands you a ready-to-sample pipe - model, clips, VAE, prompt, and empty latent all wired up behind a single widget panel.

    It's a "group node" (category SP-Nodes/Group Nodes), which is worth knowing because it changes how you think about it: at execution time ComfyUI's GraphBuilder expands the node into its internal sub-graph of stock nodes. You see one box; ComfyUI sees the usual seven. The same mechanism powers the rest of the pack's loaders, and it's exactly why the node pairs so cleanly with the pack's own SP_KSampler - both speak the custom SP_PIPE type, a dictionary that carries model/clip/vae/positive/negative/latent plus a hidden _model_type flag.

    The inputs that actually matter:

    • unet_name - picks from your models/diffusion_models and models/unet_gguf folders.
    • weight_dtype - fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2, nf4-float8_e4m3fn, nf4-float8_e5m2, or gguf. fp8 dtypes route to the stock UNETLoader; the nf4-float8 pair goes through the author's own SP_UnetLoaderBNB (bitsandbytes); gguf goes through UnetLoaderGGUF from ComfyUI-GGUF. GGUF is the classic low-VRAM path for Flux's 12B - Q8 is basically fp16 at half the size.
    • de_distilled - default off. This one's easy to miss and it matters. Plain Flux is guidance-distilled, meaning CFG is baked into the weights, so SP_KSampler reads the pipe's model type and swaps your cfg value into a FluxGuidance embed while pinning cfg at 1.0. Flip de_distilled on for a de-distilled Flux checkpoint (the ones that genuinely use CFG) and the sampler lets cfg through normally.
    • clip_name1 / clip_name2, lora_name + lora_strength, positive, and the resolution presets (31 of them, including width x height (custom), which falls back to empty_latent_width/height).

    Outputs are sp_pipe, model, clip, vae, positive, negative, latent. Note the negative: Flux doesn't use one, so it's just a duplicate of your positive conditioning - wire it to the negative input of a stock KSampler and nothing bad happens because at cfg 1 there's nothing to extrapolate from anyway.

    Installing: ComfyUI Manager → search SP-Nodes, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bananasss00/ComfyUI-SP-Nodes
    

    Then restart ComfyUI. The pack auto-installs nltk and pyyaml on first boot and pulls the punkt tokenizer once - harmless, just don't panic at the console.

    Where people get burned: even if you pick an fp8 unet, the clip path is always GGUF-based (DualCLIPLoaderGGUF / CLIPLoaderGGUF), so you want ComfyUI-GGUF installed and GGUF clip files (t5xxl + clip_l) in models/clip/gguf. The nf4 dtypes additionally need ComfyUI_bitsandbytes_NF4-Lora. Pick those dtypes without the packs and the node errors the moment it tries to expand. When you get to sampling, treat it like any Flux: Euler, normal/beta scheduler (never Karras), 20–30 steps, guidance around 3.5 fed into the cfg field - not CFG 7, this isn't SD 1.5 anymore.

    CategorySP-Nodes/Group Nodes

    Inputs (12)

    NameTypeDefaultDescription
    unet_nameCOMBO0 options:
    de_distilledBOOLEANfalse
    weight_dtypeCOMBO6 options: fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2, nf4-float8_e4m3fn, nf4-float8_e5m2, gguf
    vae_nameCOMBO1 options: pixel_space
    clip_name1COMBO0 options:
    clip_name2COMBO0 options:
    lora_nameCOMBO1 options: None
    lora_strengthFLOAT1.00-100–100
    positiveSTRING
    resolutionCOMBO1024 x 102431 options: width x height (custom), 512 x 512, 512 x 768, 576 x 1024, 768 x 512, 768 x 768, +25
    empty_latent_widthINT51264–16384
    empty_latent_heightINT51264–16384

    Outputs (7)

    NameTypeDescription
    sp_pipeSP_PIPE
    modelMODEL
    clipCLIP
    vaeVAE
    positiveCONDITIONING
    negativeCONDITIONING
    latentLATENT