Nodes/SP-Nodes/SP_SDLoader
ComfyUI Node

SP_SDLoader

SP_SDLoader — the classic checkpoint loader that needs zero extra packs

By bananasss00·Created 2 years ago·Updated a day ago· 23
SP_SDLoader
    • sp_pipe
    • model
    • clip
    • vae
    • positive
    • negative
    • latent
    ckpt_name
    vae_name
    lora_name
    lora_strength1.00
    positive
    negative
    stop_at_clip_layer-1
    resolution1024 x 1024
    empty_latent_width512
    empty_latent_height512

    Here's the thing that makes SP_SDLoader the odd one out in this pack: every other loader in SP-Nodes drags along dependencies - ComfyUI-GGUF here, a bitsandbytes pack there. This one uses only stock ComfyUI nodes. It loads an SD 1.5/SDXL checkpoint, optional LoRA, encodes your prompt, and hands you a ready-to-sample pipe, and it does it with nothing but what ships in ComfyUI itself. If you're on a plain SD checkpoint and you want the pack's "one node instead of six" convenience without installing anything else, this is the one.

    It's a group node like its siblings - at execution time ComfyUI's GraphBuilder expands it into CheckpointLoaderSimple, an optional VAELoader and LoraLoader, a CLIPSetLastLayer, two CLIPTextEncode, and an EmptyLatentImage - so the single widget panel is really a stock SD rig with a bow on it. Outputs are sp_pipe, model, clip, vae, positive, negative, latent, feeding the pack's SP_KSampler through the SP_PIPE type or any ordinary sampler.

    Inputs you'll actually set:

    • ckpt_name - from models/checkpoints, so SD 1.5 and SDXL merge files both work. This is the one input that's a checkpoint, not a separate unet.
    • vae_name - Baked or an external VAE from models/vae. Baked is the pragmatic default: it uses whatever VAE is fused into the checkpoint, which is fine for the vast majority of SD 1.5/SDXL merges.
    • lora_name + lora_strength - optional, applied at strength to both model and clip.
    • stop_at_clip_layer - the old clip-skip dial, default -1 (no skip). Some SD 1.5 checkpoints were trained expecting -2; SDXL should stay at -1 because clip skip does nothing for it. If you don't know why you're changing it, leave it.
    • positive / negative, plus the resolution presets (31 of them; width x height (custom) falls through to empty_latent_width/height).

    A note for people coming from the newer models: this node is for the old family, where negative prompts and CFG 4–7 genuinely do what you expect - the guidance-distillation rules that make CFG 1 and no-negative the modern default don't apply here. That's exactly why this loader still makes sense: SD 1.5 and SDXL fine-tunes (Illustrious, NoobAI, Pony, WAI) are a huge chunk of what people actually run, and they behave like the docs tell you.

    Install is the pack-wide recipe:

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

    or ComfyUI Manager → SP-Nodes, then restart. On first launch the pack auto-installs nltk and pyyaml and downloads the punkt tokenizer - harmless background noise. Because SP_SDLoader stays on CheckpointLoaderSimple, it's also the most forgiving SP loader to start with if you're just trying the pack's group-node workflow: install the pack, drop in SP_SDLoader + SP_KSampler, and you've got a working SD rig with no missing-node surprises.

    CategorySP-Nodes/Group Nodes

    Inputs (10)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    vae_nameCOMBO2 options: Baked, pixel_space
    lora_nameCOMBO1 options: None
    lora_strengthFLOAT1.00-100–100
    positiveSTRING
    negativeSTRING
    stop_at_clip_layerINT-1-24–-1
    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