Nodes/ComfyUI_StreamDiffusion/StreamDiffusion_Loader
ComfyUI Node

StreamDiffusion_Loader

This \"model loader\" isn't handing you a ComfyUI model — it's handing you a stream

By jesenzhang·Created 3 years ago·Updated about a year ago· 155
StreamDiffusion_Loader
  • lora_stack
  • MODEL
ckpt_name
vae_name
lcm_lora
acceleration
use_tiny_vaetrue
use_lcm_loratrue

StreamDiffusion_Loader is the front half of a two-node pack that brings the StreamDiffusion real-time generation pipeline into ComfyUI. StreamDiffusion was the late-2023 academic project that turned diffusion from a "click and wait" thing into a "move your webcam and watch it paint" thing - VJs and TouchDesigner folks went wild for it. This pack is a community port of that pipeline, and the Loader is where it starts: it packs a checkpoint, a VAE, and an LCM LoRA into a single object that the paired StreamDiffusion_Sampler can chew on frame after frame.

Here's the thing that trips everyone up on first contact: the output is labeled MODEL, but it is not a ComfyUI model. This node calls into the diffusers library directly and hands you a StreamDiffusionWrapper - a real-time inference pipeline, not the kind of object a normal KSampler knows how to talk to. Wire it into a stock sampler and you'll get a runtime error, not a picture. The only thing that accepts this output is StreamDiffusion_Sampler. Don't fight it; that's the intended workflow, and it's the whole pack.

What you actually configure:

  • ckpt_name - defaults to "Baked ckpt", which is code for "download KBlueLeaf/kohaku-v2.1 from HuggingFace on first run." That's an SD 1.5 anime model, and it's a multi-gigabyte surprise download if you didn't expect it. Or pick any local SD 1.5 checkpoint from your checkpoints folder - the pipeline is built on StableDiffusionPipeline and an LCM scheduler, so SDXL and Flux won't work. 512x512 is hardcoded on this side.
  • vae_name - "Baked VAE" uses the checkpoint's own VAE; otherwise pick a standalone one from your vae folder.
  • lcm_lora - pick an LCM LoRA from your loras folder. With use_lcm_lora on (the default), the pipeline runs at the low CFG / few-steps regime that latent-consistency models were made for - the sampler's default CFG of 1.2 is a big clue.
  • use_tiny_vae (default on) - swaps in AutoencoderTiny (madebyollin/taesd) so the VAE decode stops being the bottleneck. This is a big part of why the pipeline feels fast; keep it unless you hate the slight quality cost.
  • acceleration - none / xfomers / sfast / tensorrt. The latter two pull in StableFast and TensorRT at runtime, which is extra setup most people never do. Start with none; xformers if you already have it.

There's also an optional lora_stack input, wired to the LoRA Stacker from Efficiency Nodes if you want to chain multiple LoRAs. The README explicitly suggests that pairing.

Installing: ComfyUI Manager (search "StreamDiffusion"), or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/jesenzhang/ComfyUI_StreamDiffusion
# restart ComfyUI

There's no requirements.txt - the repo vendors its own copy of the streamdiffusion library and leans on the diffusers/transformers/torchvision your ComfyUI already has. That cuts both ways: easy install, but a newer diffusers can silently break the vendored old pipeline code. The repo has been quiet since roughly March 2025, so treat it as a niche tool, not a maintained project. If your ComfyUI's diffusers is current and the pipeline errors at load, the fastest escape hatch is pinning diffusers back a version or two.

Set this node, drop the output into StreamDiffusion_Sampler, and you're one node away from live-ish frames.

CategoryStreamDiffusion/Loader

Inputs (7)

NameTypeDefaultDescription
ckpt_nameCOMBO1 options: Baked ckpt
vae_nameCOMBO1 options: Baked VAE
lcm_loraCOMBO1 options: None
accelerationCOMBO4 options: none, xfomers, sfast, tensorrt
use_tiny_vaeBOOLEANtrue
use_lcm_loraBOOLEANtrue
lora_stackoptLORA_STACK

Outputs (1)

NameTypeDescription
MODELMODEL