Nodes/ComfyUI-Diffusers/StreamDiffusion Sampler
ComfyUI Node

StreamDiffusion Sampler

Generate per-frame from a live stream

By Limitex·Created 3 years ago·Updated 8 months ago· 186
StreamDiffusion Sampler
  • stream
  • image
  • IMAGE
positive
negative
steps50
cfg1.20
delta1.00
seed0
num1
warmup1

This is the node you actually loop for real-time generation - plug it into a stream from StreamDiffusion Create Stream, hand it a prompt, and it produces one image per call, fast enough (with the pack's LCM-LoRA + few-step setup underneath) to run continuously against a live source. Feed it an image and it works like a live img2img pass - screen capture in, stylized output out, the kind of "any part of the screen becomes a live generation" demo the pack's StreamDiffusion integration was built to show off. Leave the image input empty and it runs closer to a fast repeated txt2img.

To actually get continuous generation in ComfyUI, you need Auto Queue turned on in Extra options - that's what keeps re-triggering the graph run after run instead of you clicking Queue Prompt manually for every frame. The README calls this out explicitly for the real-time workflow; without it, this node behaves like any other sampler that fires once per manual queue.

The inputs and outputs that matter

  • stream (required) - from StreamDiffusion Create Stream.
  • positive / negative (required, multiline strings) - plain text, not pre-encoded embeddings. StreamDiffusion nodes handle their own encoding internally, which is why this differs from Diffusers Sampler's embeds-based inputs.
  • steps (default 50) - this is the scheduler's nominal step count, not how many actually get computed per frame; the stream's t_index_list (set back in StreamDiffusion Create Stream) decides the real number.
  • cfg (default 1.2) - deliberately low, matching the CFG 1-2 range LCM-family adapters expect. Don't push this toward a normal SD default of 7-8; it fights the LCM-LoRA the stream depends on.
  • delta (default 1, range 0-1) - a StreamDiffusion-specific blending parameter that controls how much the current step's virtual residual noise carries forward; leave it at default unless you're deliberately tuning stream behavior.
  • seed (default 0).
  • num (default 1) - how many images to generate per call.
  • warmup (default 1) - how many warmup iterations run before output, relevant to stream stability on the first calls.

Optional: image - feed this for img2img-style live transformation; omit it for a closer-to-txt2img loop.

One output: IMAGE.

How to install it

ComfyUI Manager → Install Custom Nodes → search ComfyUI-Diffusers, or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Limitex/ComfyUI-Diffusers.git
cd ComfyUI-Diffusers
pip install -r requirements.txt

This node needs the full StreamDiffusion setup behind it, not just the base pack - clone the engine and (recommended) build the TensorRT path:

git clone https://github.com/cumulo-autumn/StreamDiffusion.git
python -m streamdiffusion.tools.install-tensorrt

Then, for actual live generation, enable Auto Queue in ComfyUI's Extra options panel.

Common issues & troubleshooting

Generation only fires once instead of running continuously. You almost certainly forgot to enable Auto Queue - this node doesn't loop itself, ComfyUI's queue does, and Auto Queue is what keeps re-submitting the graph. It's the single most-missed step for anyone trying to reproduce the pack's real-time demos.

"Missing node type: StreamDiffusionSampler." Standard fix: install ComfyUI-Diffusers via Manager or git clone, restart. Missing-node errors on StreamDiffusion* nodes trace back to this one repo.

Output looks blurry, generic, or low-detail. Expected behavior at this end of the speed/quality tradeoff, not a bug - the pack's whole real-time path leans on LCM-style few-step generation, and the knowledge base on distillation techniques is direct about it: this family is built for rapid iteration and live preview, not final polished output. If you need higher fidelity, this isn't the right sampler for that particular output.

CFG left at a normal value and results look worse than expected. cfg defaults to 1.2 here for a reason - it's paired with an LCM-LoRA loaded upstream, and those expect very low guidance. Cranking cfg toward a typical SD 1.5/SDXL value (7-8) usually degrades output rather than improving prompt adherence, because the adapter wasn't trained for that regime.

Community support is thin if you get stuck. Worth setting expectations: StreamDiffusion's moment in the ComfyUI community was early 2024, and interest has dropped off substantially since - this is a real but fairly niche, lightly-maintained corner of the ecosystem in 2026, not something with a large active thread history to search when something breaks.

CategoryDiffusers/StreamDiffusion

Inputs (10)

NameTypeDefaultDescription
streamSTREAM
positiveSTRING
negativeSTRING
stepsINT501–10000
cfgFLOAT1.200–100
deltaFLOAT1.000–1
seedINT00–18446744073709550000
numINT11–10000
warmupINT10–10000
imageoptIMAGE

Outputs (1)

NameTypeDescription
IMAGEIMAGE