Nodes/ComfyUI-ppm/SamplerSEEDS2Scheduled
ComfyUI Node

SamplerSEEDS2Scheduled

One node that stands in for three stock ComfyUI samplers

By pamparamm·Created 2 years ago·Updated 8 days ago· 267
SamplerSEEDS2Scheduled
  • model
  • SAMPLER
solver_type
eta1.00
sde_start_percent0.200
sde_end_percent1.000
s_noise1.00
r0.50

If you've ever stared at ComfyUI's sampler dropdown and wondered what seeds_2, exp_heun_2_x0, and exp_heun_2_x0_sde actually are, here's the honest version: they're all the same solver family, exposed at different settings. SamplerSEEDS2Scheduled collapses all three into one node and then adds something none of them have - a noise window you choose. It's from pamparamm's ComfyUI-ppm pack, a grab-bag of modified and fixed samplers from an author who's been doing this since the CFG++-on-Flux days.

The sampler itself is SEEDS-2 - Stochastic Explicit Exponential Derivative-free Solvers, stage 2, from the NeurIPS 2023 paper (arXiv 2305.14267). It's a high-order exponential solver for variance-preserving models, so it's most at home on the classic SDXL/NoobAI/Illustrious family (and v-prediction checkpoints especially), not on flow-matching models like Flux. Stock ComfyUI already includes it in the dropdown; the node's description spells out the cheat sheet for reproducing the familiar names:

  • seeds_2 - just the defaults.
  • exp_heun_2_x0 - solver_type=phi_2, r=1.0, eta=0.0.
  • exp_heun_2_x0_sde - solver_type=phi_2, r=1.0, eta=1.0, s_noise=1.0.

The "Scheduled" part is what stock SEEDS-2 doesn't have. Borrowing sa_solver's scheduling machinery, the node splits the denoising run into a deterministic stretch and a stochastic one: between sde_start_percent (default 0.2) and sde_end_percent (default 1.0) it injects fresh noise, and outside that window it runs as a clean ODE. Composition stays reproducible in the early steps; the detail phase gets the texture. That's the same trick its sibling SamplerER_SDEScheduled uses, and it's the reason these exist at all.

Inputs that matter:

  • solver_type - phi_1 or phi_2. Phi-2 is the higher-order two-stage variant; if you're matching exp_heun_2_*, that's the one.
  • r - "Relative step size for the intermediate stage (c2 node)," default 0.5. This is the internal half-step position for the second model call; set it to 1.0 to reproduce the exp_heun presets.
  • eta - stochastic strength. 0.0 makes it deterministic (the ODE exp_heun_2_x0 recipe); 1.0 restores the noise.
  • s_noise - the "SDE noise multiplier," i.e. how loud the injected noise is.
  • sde_start_percent / sde_end_percent - the noise window, in fraction-of-denoising terms. Raise the start to keep more of the run deterministic.

It takes one model input and returns a single SAMPLER output, which plugs into the sampler port of KSampler or SamplerCustom. Scheduler stays a separate dropdown.

Installing it

Via ComfyUI Manager, search for ComfyUI-ppm and install. Or:

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

Restart ComfyUI afterward. There's no requirements.txt to fight with and no models to download - the pack only depends on what ComfyUI already ships. Example workflows for SDXL NoobAI live in ComfyUI's Browse Templates → Custom Nodes → ComfyUI-ppm menu if you want to see it wired into a real graph.

Common issues

  • "It's not in the KSampler dropdown." Right - this is a SAMPLER-output node, not a dropdown entry. Drag it onto the canvas and wire its output into KSampler's sampler input.
  • Output looks identical to stock seeds_2. That's expected if you haven't changed the defaults. The value only shows up when you actually schedule the noise window or replicate the exp_heun presets - stock seeds_2 has no window control at all.
  • Errors after a ComfyUI update. The pack README's standing advice covers this: delete the node and re-add it before suspecting a real breakage.

It's a niche node for people who think in noise schedules rather than sampler names. But if you already liked exp_heun_2_x0_sde and wished you could stop its noise from wrecking the early composition, this is exactly the one you'd reach for.

Categorymodel/sampling/samplers

Inputs (7)

NameTypeDefaultDescription
modelMODEL
solver_typeCOMBO2 options: phi_1, phi_2
etaFLOAT1.000–100Stochastic strength
sde_start_percentFLOAT0.2000–1
sde_end_percentFLOAT1.0000–1
s_noiseFLOAT1.000–100SDE noise multiplier
rFLOAT0.500.01–1Relative step size for the intermediate stage (c2 node)

Outputs (1)

NameTypeDescription
SAMPLERSAMPLER