LLS Simple Checkpoint Loader
One loader that knows how to load SD1.5, SDXL, and FLUX — and remembers which one it was
- model
- clip
- vae
- text_encoder
The boring truth about modern ComfyUI: "load a checkpoint" stopped being one step. SD1.5 and SDXL ship as a single .safetensors with the text encoder and VAE baked in. FLUX doesn't - you're loading a diffusion model, a separate CLIP/text encoder, and a VAE, often three files with two different weight formats. LLS Simple Checkpoint Loader wraps that whole mess so you can think in terms of "load this model" and let the node figure out the resource dispatch.
Its other job is the one that makes the rest of the LLS pack work. The loader writes lightweight metadata - model family, profile id, backend type - onto the MODEL/CLIP/VAE objects it hands out. Downstream nodes like LLS Simple KSampler and LLS Pro Image Edit Prepare read that metadata to route sampling and edit backends automatically. In other words, this isn't just a loader; it's the thing that tells the rest of the pack what it's dealing with.
What you get out
Four outputs: model, clip, vae, and text_encoder. Note the last two: text_encoder is the same CLIP object as clip, just aliased under a second name so both old workflows (that expect clip) and new FLUX-style graphs (that expect a separate text_encoder) can wire up without breakage.
The inputs that matter
ckpt_name- picked from your checkpoints folder. For FLUX, drop the diffusion model intoComfyUI/models/diffusion_models/.model_family-Autotries to sniff it, or you pick explicitly. Getting this right matters for the metadata, so if Auto misreads an unusual model, set it by hand.load_mode-simple(default) oradvanced. Advanced unlocks the rest.vae_source-auto/embedded/external/none. FLUX usually wants an external VAE (ae.safetensors).text_encoder_source-auto/embedded/external/manual, withexternal_text_encoder_1/2for the actual file names.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/Gin3601/LLS-node
# restart ComfyUI
Or ComfyUI Manager → search "LLS-node". No pip dependencies - it calls ComfyUI's own loaders under the hood. What it does need is the model files in the right folders, and FLUX in particular wants its separated text encoder and VAE on disk.
Gotchas
The ckpt_name dropdown shows "(no models found)" until there's actually a compatible file in the expected folder - a fresh install looks broken until you drop a model in. And because the pack is young, family inference is best-effort: for FLUX2 Klein or unusual merges, set model_family manually rather than trusting Auto. It's the difference between a loader that loads and a loader that loads with the right backend tags for the Pro edit chain downstream.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | 1 options: (no models found) | |
| model_family | COMBO | Auto | 9 options: Auto, SD1.5, SD15, SDXL, SDXL_TURBO, FLUX_SCHNELL, +3 |
| load_mode | COMBO | simple | 2 options: simple, advanced |
| vae_source | COMBO | auto | 4 options: auto, embedded, external, none |
| text_encoder_source | COMBO | auto | 4 options: auto, embedded, external, manual |
| external_vae_name | COMBO | (auto) | 2 options: (auto), pixel_space |
| external_text_encoder_1 | COMBO | (auto) | 2 options: (auto), (no text encoders found) |
| external_text_encoder_2 | COMBO | (auto) | 2 options: (auto), (no text encoders found) |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| text_encoder | CLIP | — |