SamplerSEEDS2
One solver, three samplers in a trench coat
- SAMPLER
SamplerSEEDS2 is a second-order exponential SDE solver, and it's the rare node whose own description is the best explainer. It can represent three named samplers depending on how you set it: seeds_2 (the defaults), exp_heun_2_x0, and exp_heun_2_x0_sde. SEEDS stands for Stochastic Explicit Exponential Derivative-free Solvers - it's the family behind the "exponential Heun" samplers, aimed at getting high-quality output in relatively few steps on DDPM-style (SD 1.5/SDXL) models. If you've been meaning to try the fancy solver class that everyone keeps mentioning, this is the built-in door into it.
How it works
Regular samplers integrate the denoising ODE with polynomial approximations (Euler is a first-order one, DPM++ is fancier polynomial fitting). SEEDS instead treats the noise decay as exponential - which it literally is in log-SNR space - and integrates it with exponential integrators (the ei_h_phi functions in the source). That's a mathematically more honest way to step down a noise schedule, and it's why these solvers get good results at fewer steps.
The node's parameters:
- solver_type (
phi_1/phi_2) - the order of the exponential integrator.phi_2is the higher-order one and what you'll want for quality;phi_1is the simpler fallback. - eta (default 1.0, tooltip "Stochastic strength") - how much stochastic noise to inject. 0 makes it deterministic.
- s_noise (default 1.0, "SDE noise multiplier") - scales that injected noise.
- r (default 0.5, "Relative step size for the intermediate stage (c2 node)") - where the solver places an intermediate denoise within each step. It does two model passes per step, and
rdecides how far in the intermediate one sits.
The three presets it can reproduce, straight from the node's description:
| Sampler | solver_type | r | eta | s_noise | |---|---|---|---|---| | seeds_2 (default) | phi_1 | 0.5 | 1.0 | 1.0 | | exp_heun_2_x0 | phi_2 | 1.0 | 0.0 | - | | exp_heun_2_x0_sde | phi_2 | 1.0 | 1.0 | 1.0 |
Output is a single SAMPLER for SamplerCustomAdvanced.
Why you'd reach for it
You're chasing quality at modest step counts on an SD-family model and you've already gone through the usual suspects. exp_heun_2_x0 (set solver_type=phi_2, r=1.0, eta=0) is the deterministic one that gets compared favorably to DPM++ class samplers. It also does two model evaluations per step, so it's more expensive than the step count alone suggests - that's not a bug, that's the cost of the second-order method.
Where people get burned
- It's a solver, not a drop-in default. On flow-matching models (Flux, Z-Image) most of the exponential-in-log-SNR cleverness doesn't transfer the same way; the sampler knowledge base keeps Euler-family on those. Treat SEEDS as an SDXL/SD 1.5 tool.
phi_2costs double. Two forward passes per step. If you were expecting 20 steps to feel like 20 steps, it won't.- Don't set
etaands_noiseblind. The defaults are tuned for the SDE variant; for the deterministicexp_heun_2_x0behavior both need to be 0.
Ships with ComfyUI core - search "sde" or "exp heun" and it'll show up. It's a niche tool, but it's the good kind of niche: a real solver family with a real paper behind it, available with zero setup.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| solver_type | COMBO | 2 options: phi_1, phi_2 | |
| eta | FLOAT | 1.000–100 | Stochastic strength |
| s_noise | FLOAT | 1.000–100 | SDE noise multiplier |
| r | FLOAT | 0.500.01–1 | Relative step size for the intermediate stage (c2 node) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |