Legacy2_ClownSampler
The sampler you build, from an older workflow
- guides
- options
- automation
- sampler
First thing to clear up, because it trips everyone: the node ComfyUI shows you as Legacy2_ClownSampler is an older version of ClownSampler that RES4LYF kept around. The pack's rule is right there in the readme - when the author ships a new generation, the previous one stays available with "Legacy" (or "Legacy2") glued to the front. So if you landed here from a year-old workflow, this is the node that workflow wants, and it'll still run. If you're building something fresh, you probably want the current ClownSampler_Beta instead. Same idea, cleaner interface.
The idea itself is the part worth understanding. ClownSampler doesn't sample anything. Drop it in expecting a KSampler and you'll find no model input, no steps, no CFG, and no image coming out. That's by design. ClownSampler is a sampler definition - it packages a solver and hands it off to a node that actually runs it. Its only output is a SAMPLER, and its whole job is to feed something that has a SAMPLER input, like ComfyUI's own SamplerCustom / SamplerCustomAdvanced.
Why the pack exists
RES4LYF (by ClownsharkBatwing) is the pack that quietly became where sampler tuning happens in 2026 for flow-matching models - Flux, Z-Image, Chroma, Wan, Qwen and friends. Those architectures denoise along a near-straight path, which is exactly what breaks the old Karras-based defaults and exactly what the pack's high-order solvers were built for. Across the first half of 2026 it out-mentions "DPM++ 2M Karras" in community discussion by roughly four to one. Most people meet that capability through the all-in-one ClownsharKSampler; ClownSampler splits the sampler picker back out for people who'd rather wire their sampling graph by hand.
The inputs and outputs that matter
Because it only builds a sampler, the widget list is short and specific:
- sampler_name - the solver, default
res_2m. This is the one real decision.res_2mis the everyday pick: one model call per step (Euler speed) and it works on almost everything. Solvers ending ins(res_2s,res_3s) take substeps for more accuracy at a genuine speed cost - a3ssampler is roughly three times an Euler step. Them(multistep) ones recycle previous steps instead, so they stay at Euler speed. - eta (default 0.5) controls how much noise the SDE-mode solvers re-inject after each step, and noise_type_sde / noise_mode_sde shape that injection. Leave them alone until you're deliberately chasing texture; the defaults are sane.
- implicit_sampler_name and implicit_steps turn on implicit refinement substeps. Useful on something like SD3.5 Medium for cleaning up artifacts, expensive everywhere. Leave
implicit_stepsat 0 unless you know you want it.
The optional guides input accepts RES4LYF's composition/style guide setup so the guiding travels with the sampler you build; s_noise and d_noise are fine-grained noise scalars most people never touch. The single output is sampler (SAMPLER) - run one wire from it into the sampler input of your custom-sampler node. Note what's absent: no scheduler, no steps, no model. Those live on the node you plug this into, which is the entire point of splitting the sampler out.
Installing it
Easiest path is ComfyUI Manager: open the Manager, search custom nodes for RES4LYF, install, restart. Manual is barely harder - from your ComfyUI folder:
cd custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
Run that pip install from inside your ComfyUI venv (or the portable Python), then restart ComfyUI and hard-refresh the browser (F5, not just "r"). There are no model downloads - this is solvers and utilities, not a checkpoint.
Common issues
The big one: if a workflow references res_2m, beta57, or bongmath and won't load, the pack isn't installed - those are RES4LYF names, not stock ComfyUI. Second: the nested sampler menu the readme shows off needs rgthree-comfy installed with "Auto Nest Subdirectories" enabled in its settings; without it the categories look flat. And if you're honestly not sure why you're on the Legacy2 node, it's because your workflow was built before the current generation shipped - it works fine, just don't expect it to match newer tutorials one-to-one.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| noise_type_sde | COMBO | gaussian | 22 options: none, brownian, gaussian, gaussian_backwards, laplacian, perlin, +16 |
| noise_mode_sde | COMBO | hard | How noise scales with the sigma schedule. Hard is the most aggressive, the others start strong and drop rapidly. |
| eta | FLOAT | 0.50-100–100 | Calculated noise amount to be added, then removed, after each step. |
| s_noise | FLOAT | 1.00-10000–10000 | — |
| d_noise | FLOAT | 1.00-10000–10000 | — |
| noise_seed_sde | INT | -1-1–18446744073709550000 | — |
| sampler_name | COMBO | res_2m | 53 options: none, res_2m, res_3m, res_2s, res_3s, res_3s_alt, +47 |
| implicit_sampler_name | COMBO | explicit_diagonal | 28 options: none, explicit_diagonal, explicit_full, irk_exp_diag_2s, gauss-legendre_2s, gauss-legendre_3s, +22 |
| implicit_steps | INT | 00–10000 | — |
| guidesopt | GUIDES | — | |
| optionsopt | OPTIONS | — | |
| automationopt | AUTOMATION | — | |
| extra_optionsopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sampler | SAMPLER | — |