Legacy2_ClownsharKSampler
The all-in-one flow-matching sampler
- model
- positive
- negative
- sigmas
- latent_image
- guides
- options
- automation
- output
- denoised
- sde_noise
This is the heart of RES4LYF - the all-in-one node the whole pack is built around. It fuses the sampler picker (the "Clown" half) with the thing that actually runs it (the "Shark" half), so you get model, conditioning, scheduler, steps, CFG and 50-plus solvers on one node instead of a spaghetti of custom-sampler parts. If someone told you to "just swap your KSampler for the RES4LYF one," this is usually the node they meant.
One caveat before you wire it up: ComfyUI shows this as Legacy2_ClownsharKSampler. RES4LYF keeps previous generations around with "Legacy" prepended, so this is a still-working older version and the current equivalent is ClownsharKSampler_Beta. Old workflows want this one; new builds want the Beta.
Why you'd reach for it
RES4LYF was written specifically to support rectified-flow and probability-flow models. That matters because Flux, Z-Image, Chroma, Wan and the rest denoise along a near-straight trajectory, and the aggressive Karras-style schedules everyone leaned on for years actively distort them rather than help. RES4LYF's high-order solvers - the res_ family especially - target that regime, and the payoff is real: the readme's own comparison hits Uni-PC quality in about 20 steps where the older sampler needs far more and never quite catches up. The community verdict lines up. It's mainstream now, not a power-user curiosity.
How it works, and the inputs that matter
You feed it a model and a latent_image (the only two truly mandatory inputs; connect nothing to positive/negative and it generates null conditioning). Then the decisions that count:
- sampler_name (default
res_2m) - your solver.res_2mis the do-everything default at Euler speed;res_2s/res_3sadd substeps for more accuracy and more time. - scheduler (default
beta57) - the sigma schedule.beta57is RES4LYF's most-borrowed component, the beta schedule tuned to alpha 0.5 / beta 0.7, and a great first thing to try on any flow-matching model. - cfg (default 3) and steps (default 30) - behave like KSampler. On guidance-distilled Flux you'll usually set CFG to 1.0; on de-distilled models CFG 3 with plain CLIP conditioning is genuinely nice.
- sampler_mode -
standardfor normal generation,unsample/resamplefor the pack's noise-inversion img2img (both disable ComfyUI's own noise addition, which is the point).
eta governs SDE noise injection, denoise/denoise_alt handle partial denoising, and implicit_steps turns on implicit refinement (leave at 0 unless you want to triple your render time chasing coherence on something like SD3.5 Medium). The optional sigmas input overrides the built-in scheduler entirely if you feed it from a scheduler node. Outputs are output (your finished latent → VAE Decode), denoised, and sde_noise for advanced inversion chains.
Installing it
Via ComfyUI Manager: search custom nodes for RES4LYF, install, restart. Or manually from your ComfyUI folder:
cd custom_nodes
git clone https://github.com/ClownsharkBatwing/RES4LYF/
cd RES4LYF
pip install -r requirements.txt
Run pip install inside your ComfyUI venv (or the embedded Python on portable), restart, and hard-refresh with F5. No model downloads - the pack is samplers and utilities.
Common issues
RES4LYF's honest weakness is documentation. It hands you 50-plus solvers with little guidance on which suits what, and the recurring community ask is literally "someone needs to explain this." Don't drown in the menu - res_2m + beta57 at 20-30 steps is the settings the author himself recommends, and it's a fine starting point on nearly any flow-matching model. Two real traps: the bong_tangent scheduler applies its own sigma shift and ignores the workflow's, so if shift seems to do nothing, check your scheduler before blaming anything. And if the workflow won't load at all, the pack isn't installed - res_2m and beta57 aren't stock names.
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| noise_type_init | COMBO | gaussian | 22 options: none, brownian, gaussian, gaussian_backwards, laplacian, perlin, +16 |
| 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. |
| noise_seed | INT | 0-1–18446744073709550000 | — |
| sampler_mode | COMBO | 3 options: standard, unsample, resample | |
| 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 |
| scheduler | COMBO | beta57 | 11 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +5 |
| steps | INT | 301–10000 | — |
| implicit_steps | INT | 00–10000 | — |
| denoise | FLOAT | 1.00-10000–10000 | — |
| denoise_alt | FLOAT | 1.00-10000–10000 | — |
| cfg | FLOAT | 3.00-100–100 | — |
| extra_options | STRING | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — | |
| sigmasopt | SIGMAS | — | |
| latent_imageopt | LATENT | — | |
| guidesopt | GUIDES | — | |
| optionsopt | OPTIONS | — | |
| automationopt | AUTOMATION | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| output | LATENT | — |
| denoised | LATENT | — |
| sde_noise | LATENT | — |