Nodes/LLS-node/LLS Universal Model Loader
ComfyUI Node

LLS Universal Model Loader

One loader that stops caring which model family you picked

By Gin3601·Created 3 months ago·Updated 3 months ago· 0
LLS Universal Model Loader
    • model
    • text_encoder
    • vae
    • model_info
    model_name
    model_familyAuto
    load_modesimple
    vae_sourceauto
    text_encoder_sourceauto
    text_encoder_1(auto)
    text_encoder_2(auto)
    vae_name(auto)

    If you've ever swapped a workflow from SD 1.5 to SDXL, you know the pain: the loader changes, the CLIP setup changes, sometimes the VAE handling changes. LLS Universal Model Loader is the LLS-node answer to that - one loader that speaks SD 1.5, SDXL, and FLUX, and exposes the same three outputs no matter which you load. The trick it pulls off: SDXL and FLUX need two text encoders, but the node resolves that internally and hands you a single text_encoder output, so the graph downstream never needs to know.

    It's the loader half of the pack's "universal" line, designed to feed LLS Universal Prompt Encode and LLS Universal Image Generator.

    How it works

    Pick a checkpoint from model_name, and the node loads it through ComfyUI's checkpoint machinery, tagging what it finds with family metadata. The clever bit is text_encoder_source and the paired text_encoder_1 / text_encoder_2 dropdowns: when a model needs dual encoders (SDXL's two CLIPs, or FLUX's CLIP+T5), the node assembles them into one combined CLIP object before anything else sees it. Downstream, you just have a CLIP - which is precisely why the downstream prompt encoder can be family-agnostic.

    The controls are layered so beginners don't drown:

    • model_family (default Auto) - what the loader assumes. Auto means "figure it out from the checkpoint," and that's the right default. You only pin it when a model genuinely misdetects.
    • load_mode - simple hides the encoder/VAE plumbing; advanced surfaces it for the cases where you want an external VAE or text encoder instead of the embedded one.
    • vae_source / text_encoder_source - auto, embedded, or external. Default auto uses what's baked into the checkpoint. Flip to external when you're doing the FLUX thing of supplying ae.safetensors and a separate T5/CLIP by hand.
    • vae_name - the external VAE to use if vae_source is external. Default (auto).

    Outputs

    model, text_encoder (that single CLIP), and vae go straight into your sampler/encoder chain. The fourth, model_info, is a JSON string with the resolved family, checkpoint name, and encoder details - feed it to LLS Universal Prompt Encode's model_info input to make the downstream family detection bulletproof instead of inferred. (You can also wire it to a text viewer just to confirm the loader got your model right.)

    Wiring it in

    The universal trio, minimal:

    LLS Universal Model Loader → LLS Universal Prompt Encode → LLS Universal Image Generator (or any KSampler)
    

    Installing

    ComfyUI Manager → search "LLS-node", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Gin3601/LLS-node
    

    Restart, look under LLS/Model Loader. The pack ships no requirements.txt; this node uses only ComfyUI's built-in model loading, so nothing extra to install.

    Gotchas

    • A bare (no models found) in the model_name dropdown means nothing is in ComfyUI/models/checkpoints/. Drop a .safetensors in there and refresh - this is the single most common "why is this empty" cause across every loader node in the pack.
    • If you're loading FLUX from a bare diffusers-style or GGUF layout, don't fight model_family in simple mode - switch load_mode to advanced, set encoder source to external, and point at your T5/CLIP. Auto handles the common cases; it can't conjure files you haven't placed.
    • text_encoder_1 / text_encoder_2 default to (auto). You basically never set these manually unless you know a model wants a specific pair of encoders. The (auto) placeholder is the safe state.
    CategoryLLS/Model Loader

    Inputs (8)

    NameTypeDefaultDescription
    model_nameCOMBO1 options: (no models found)
    model_familyCOMBOAuto9 options: Auto, SD1.5, SD15, SDXL, SDXL_TURBO, FLUX_SCHNELL, +3
    load_modeCOMBOsimple2 options: simple, advanced
    vae_sourceCOMBOauto3 options: auto, embedded, external
    text_encoder_sourceCOMBOauto3 options: auto, embedded, external
    text_encoder_1COMBO(auto)2 options: (auto), (no text encoders found)
    text_encoder_2COMBO(auto)2 options: (auto), (no text encoders found)
    vae_nameCOMBO(auto)2 options: (auto), pixel_space

    Outputs (4)

    NameTypeDescription
    modelMODEL
    text_encoderCLIP
    vaeVAE
    model_infoSTRING