Nodes/ComfyUI kpsss34 Custom Node/Load and Sample SD3.5s
ComfyUI Node

Load and Sample SD3.5s

One node that does everything, because it can't do anything else

By kpsss34·Created about a year ago·Updated about a year ago· 9
Load and Sample SD3.5s
    • IMAGE
    model_name
    positive_prompt
    negative_promptbad hands, bad finger, worst quality, low quality, jpeg artifacts, cartoon, painting, doll, ugly, disfigured, deformed, mutated, extra limbs, extra fingers, missing fingers, long neck, bad anatomy, bad proportions, unrealistic face, cloned face, blurred, watermark, text
    seed0
    steps35
    cfg5.5
    width768
    height1024
    clear_cachefalse

    The name isn't hiding anything. "Load and Sample SD3.5s" is a loader, a triple text encoder, a sampler, and a VAE decoder crammed into a single box. Pick a checkpoint, type a prompt, hit run, and out pops an IMAGE - no KSampler, no CLIP encode, no LatentDecode strung between them. That sounds like laziness until you learn why it has to be this way: the model it's built for isn't a normal ComfyUI checkpoint.

    This is kpsss34's own workaround for their own model. kpsss34 is a solo hobbyist who took Stability's SD3.5, slimmed it down (most dramatically by cutting the T5-XXL text encoder down by over 99% with a distilled, projected replacement), and repacked the whole thing into a single SD35sPreview1_Custom-nodes.safetensors that standard loaders can't read. So they wrote a custom diffusers pipeline and wrapped it in one node. It's a tightly scoped tool for one model, written by the person who made that model - remember that before you expect it to behave like the rest of your graph.

    How it works

    Run it and the node reads the checkpoint's safetensors metadata, unpacks a VAE, the transformer, two CLIP text encoders, the slim T5, and the tokenizers from the one file, then assembles them into a diffusers StableDiffusion3SPipeline. First load unpacks everything into RAM, which is why it takes a minute or two and the README tells you not to panic. The pipeline then does a proper SD3.5-style prompt pass through all three encoders and samples with the FlowMatchEuler scheduler - this is a rectified-flow model, so your SDXL sampler habits and guidance instincts don't transfer. One IMAGE tensor comes out the other side, ready for a Save Image node, an upscaler, or anything downstream that eats plain images.

    The node caches the built pipeline per model file, so your second generation is fast. That cache is also the whole reason clear_cache exists.

    The inputs that matter

    Mostly the same knobs as anywhere else, with two quirks:

    • model_name - the one that matters most. It lists every .safetensors in ComfyUI/models/checkpoints, but only kpsss34's repack will actually run.
    • positive_prompt / negative_prompt - standard, with a long blocklist negative built in. It's a fine starting point; replace it once you know what you want.
    • seed, steps, cfg, width, height - defaults are 35 steps, CFG 5.5, 768×1024. That's about right for a flow model; CFG wants to live in the 4–6 range, and 1024px is where the author recommends working.
    • clear_cache - tick it on a run after you're done with a model to drop the cached pipeline and free the VRAM.

    Installing it

    Easiest path is ComfyUI Manager: search the pack title "ComfyUI kpsss34 Custom Node", install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kpsss34/ComfyUI-kpsss34
    

    Then the actual model, which is the part people forget:

    # Download SD35sPreview1_Custom-nodes.safetensors into ComfyUI/models/checkpoints
    # from https://huggingface.co/kpsss34/Stable-Diffusion-3.5-Small-Preview1
    

    Note the pinned diffusers==0.34.0 in the pack's requirements. The pipeline imports a lot of diffusers internals, so that pin is a hard dependency, not a suggestion - and it can collide with other custom nodes that want a newer diffusers. If imports start failing after an update, that's your first suspect.

    Common issues & gotchas

    The big one is that it needs roughly 7–9GB of VRAM, and the dropdown shows you every checkpoint you own while only one of them works. Pick a normal SDXL or Flux file and it dies on missing metadata - the node literally can't unpack what isn't a kpsss34 repack. clear_cache is also your out-of-memory escape hatch: the pipeline lingers in memory after each run, so when you're swapping models or squeezing VRAM, tick it once and the whole thing gets evicted.

    Don't come looking for LoRA support either. The repo ships a Dreambooth LoRA training script, but it's diffusers-only, and the author is upfront that LoRAs aren't wired into the ComfyUI side yet and the model itself is a "work in progress." Treat it as what it is: a niche look at an SD3.5 variant most of the ecosystem walked away from, worth a play if you like SD3.5's character and want it light and fast - not a production pipeline.

    Categoryloaders/sd35s

    Inputs (9)

    NameTypeDefaultDescription
    model_nameCOMBO0 options:
    positive_promptSTRING
    negative_promptSTRINGbad hands, bad finger, worst quality, low quality, jpeg artifacts, cartoon, painting, doll, ugly, disfigured, deformed, mutated, extra limbs, extra fingers, missing fingers, long neck, bad anatomy, bad proportions, unrealistic face, cloned face, blurred, watermark, text
    seedINT00–18446744073709550000
    stepsINT351–100
    cfgFLOAT5.50–20
    widthINT768256–4096
    heightINT1024256–4096
    clear_cacheBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE