SamplerDPMPP_2S_Ancestral
The fast, never-settling sampler that dominated the SD 1.5 era
- SAMPLER
Back when SD 1.5 was the whole world, "DPM++ 2S a" - this sampler - was the other half of the great sampler debate, the fast, sparkly counterweight to the reliable DPM++ 2M. It's the 2nd-order single-step variant of the DPM++ family, and the "ancestral" tag is doing the real work: it's a non-converging sampler that injects fresh noise at every step, which is why it never quite settles and why adding steps changes the image rather than merely refining it.
Where 2M builds a memory of past steps to make better predictions, 2S is single-step - it predicts from the current state alone, which makes each step cheaper. That was its historical appeal: fast, with the extra detail and "sparkle" that ancestral samplers are known for, at a step count where 2M was still finding its footing.
How it works
Two knobs, both doing the same conceptual job from slightly different angles:
eta(FLOAT, 0–100, default 1.0) - stochastic strength. At 0 it becomes essentially deterministic.s_noise(FLOAT, 0–100, default 1.0) - a multiplier on the injected noise.
Higher eta/s_noise → more per-step randomness → more texture and variety, less repeatability. Because it re-noises at every step, it's in the "ancestral" family alongside Euler a - never converging, same seed never quite reproducing, and different in character from every step-cleaner in this list.
The inputs and output
Just eta, s_noise, and a SAMPLER output. That's the whole interface - no solver-type menu, no noise_device. It's the simplest node in the DPMPP family, and one of the simplest samplers ComfyUI ships.
When to reach for it
The classic use is anime and illustration styles on SD 1.5/SDXL finetunes, where the "extra texture" and looser feel are desired, typically at 20–35 steps. It was the community's go-to low-step exploratory sampler for years: cheap enough to sweep seeds, textured enough to judge composition. On flow-matching models it's less of a natural fit - the conservative-Euler-family advice applies - though it's not the active failure that Karras scheduling is.
Common issues
- Reproducibility. Same seed ≠ same image, always, by design. If a workflow "should" reproduce and doesn't, check you're not on an ancestral sampler. This is the single most common confusion with this node.
- Adding steps expecting refinement. With a converging sampler, more steps = same image, sharper. With 2S a, more steps = a different image. Different tool, different contract.
- It's not a quality ceiling. It's a speed-and-character pick. When you need the best per-step fidelity, the multistep variants (2M, 3M) win at higher step counts.
It's a classic, and it earns its place in the sampler shelf - just remember the "ancestral" contract before you blame the seed.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| eta | FLOAT | 1.000–100 | — |
| s_noise | FLOAT | 1.000–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |