Nodes/ComfyUI-Diffusers/StreamDiffusion Warmup
ComfyUI Node

StreamDiffusion Warmup

Lock in settings for the fastest possible sampler

By Limitex·Created 3 years ago·Updated 8 months ago· 186
StreamDiffusion Warmup
  • stream
  • WARMUP_STREAM
negative
steps50
cfg1.20
delta1.00
seed0
warmup1

This node exists to make StreamDiffusion Fast Sampler possible. It takes a stream and locks in everything about a generation except the positive prompt - negative prompt, steps, CFG, delta, seed, warmup count - bakes all of that into a WARMUP_STREAM, and hands that off downstream. Fast Sampler then only has to take a positive prompt and a count per call, which is exactly the kind of trimmed-down, minimal-per-frame interface you want when you're trying to squeeze out every bit of latency in a live loop.

Think of the split as: StreamDiffusion Sampler is the flexible, everything-changes-every-frame option; Warmup + Fast Sampler is the specialized, only-the-prompt-changes option, for when you know your negative prompt and sampling settings aren't going to move frame to frame and you want the fastest possible per-call path.

The inputs and outputs that matter

Required, no optionals:

  • stream (required) - from StreamDiffusion Create Stream.
  • negative (required, multiline) - note there's no positive prompt input here at all; that's deliberate, it's supplied later, per-call, to Fast Sampler.
  • steps (default 50) - nominal scheduler step count, same caveat as the regular sampler: the stream's t_index_list decides what's actually computed.
  • cfg (default 1.2) - low, matching the LCM-LoRA the stream depends on. Don't push this toward normal SD defaults.
  • delta (default 1, range 0-1) - StreamDiffusion's residual-blending parameter, leave at default unless you're deliberately tuning stream behavior.
  • seed (default 0).
  • warmup (default 1) - how many warmup passes run to stabilize the stream before real output starts.

One output: WARMUP_STREAM, and the only node that consumes it is StreamDiffusion Fast Sampler.

How to install it

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

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

You'll need the full StreamDiffusion setup behind this, same as any other node in this family:

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

The TensorRT step is the one that actually gets you toward real-time framerates; it's a heavier, more finicky install than the base pack requirements, and worth doing deliberately if you're chasing speed rather than just correctness.

Common issues & troubleshooting

"Missing node type: StreamDiffusionWarmup." Base fix for this whole pack: install ComfyUI-Diffusers via Manager or git clone, restart ComfyUI.

Confused about why there's no positive prompt input. That's not a mistake in the node - it's the whole design. Warmup locks in the negative prompt and every sampling parameter up front; the positive prompt gets supplied separately, per call, to StreamDiffusion Fast Sampler downstream. If you need the negative prompt to change frame to frame too, this pairing isn't the right one - use StreamDiffusion Create Stream → StreamDiffusion Sampler instead, which takes both prompts fresh every call.

Wired WARMUP_STREAM into the wrong sampler. WARMUP_STREAM only connects to StreamDiffusion Fast Sampler - it's a distinct type from the plain STREAM that StreamDiffusion Sampler expects, so mixing the two pairings up will just fail to connect rather than silently doing the wrong thing.

Output quality or stream stability seems off on the first few frames. That's what warmup is for - a low value may not give the stream enough iterations to settle before real output starts. If your first several frames look noticeably worse than the rest, try raising it.

CategoryDiffusers/StreamDiffusion

Inputs (7)

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

Outputs (1)

NameTypeDescription
WARMUP_STREAMWARMUP_STREAM