FSampler Select
Bolt the skip trick onto SamplerCustom and any guider
- model
- sampler
- sigmas
The name is literal. FSampler Select doesn't denoise anything - it selects a sampler and a sigma schedule for you and hands them to ComfyUI's SamplerCustom (KSamplerCustom) node, which does the actual sampling. If you've already rebuilt your workflow on the modular sampling system - where the sampler, the guider, and the sigma schedule are separate nodes you wire together - this is how you get FSampler's model-call skipping without tearing that graph apart. Same underlying trick as the pack's other nodes, different plumbing.
Why this node exists
The core FSampler nodes behave like a KSampler: model, conditioning, cfg, and latent go in, latent comes out, everything's one self-contained block. But the modular sampling ecosystem works differently - SamplerCustom takes a SAMPLER object, a SIGMAS schedule, and a guider (CFGGuider, DualCFGGuider, BasicGuider) as separate inputs, and it owns the model/conditioning/cfg/noise handling. FSampler Select is the adapter between those two worlds. It produces the same skip-aware sampling the rest of the pack does, but packages it as sampler + sigmas outputs instead of a finished image, so you keep full control of the guider and the rest of the graph. If you've ever wanted to run an aggressive skip schedule but keep a DualCFGGuider, this is the node that lets you.
How it works
Mechanically it's the same engine as FSampler Advanced, just with a narrower job. The node takes your steps, scheduler, and denoise and builds the sigma schedule - the model input exists precisely so it can compute model-aware sigmas, per the tooltip. Then it wraps your chosen sampler (the same 11-method list: Euler, DDIM, DPM++ 2M/2S, LMS, and the RES4LYF-family res_2m/res_2s/res_multistep solvers) in FSampler's skip-aware KSAMPLER via the same skip_mode / skip_indices / adaptive_mode machinery, and returns both pieces. The scheduler dropdown is the full 19-entry list, including the res4lyf custom schedulers (beta57, bong_tangent and friends) and the pack's own fibonacci schedules.
Wiring it up
The setup is two wires plus the standard SamplerCustom plumbing:
FSampler Select ──sampler──▶ SamplerCustom.sampler
──sigmas──▶ SamplerCustom.sigmas
SamplerCustom: model, positive, negative, cfg, noise_seed, latent as usual
- Add FSampler Select, pick your sampler, scheduler, steps, and skip settings.
- Add SamplerCustom and wire the outputs into its
samplerandsigmasslots. - Connect model, conditioning, cfg, seed, and latent to SamplerCustom as you normally would - not to FSampler Select, which doesn't take them.
That last point is the one beginners trip on. FSampler Select has no conditioning or seed inputs and no cfg; those all belong to SamplerCustom and its guider. The node's own denoise input handles partial-denoise workflows by stretching the full schedule and taking its tail, same as a KSampler with denoise < 1.
The settings that matter
Everything meaningful on the panel mirrors FSampler Advanced, so the tuning advice carries over unchanged:
- skip_mode -
none(baseline),h2/s2(the recommended safe start, ~24% fewer calls),h3/s4,h4/s4for more conservative,adaptivefor the aggressive 40–60% gate. - skip_indices - explicit manual control, e.g.
"h2, 5, 7, 9", which overrides skip_mode when non-empty. Good for low-step runs where cadence-based skipping wastes history. - sigma_aware and extrapolate_denoised - the v1.5.0 toggles that fix prediction drift on non-uniform schedulers (karras, bong_tangent, exponential) and on denoised extrapolation respectively. Both default off; flip sigma_aware first if your scheduler isn't
simple/normal.
add_noise and noise_type are here too - 0 is deterministic, and whitened is the res4lyf-style normalization vs gaussian for stock-KSampler noise. Default is fine for a first run.
Installing
Same pack as the rest of FSampler - no extra dependencies, no model files:
cd ComfyUI/custom_nodes
git clone https://github.com/obisin/comfyui-FSampler
# restart ComfyUI
ComfyUI Manager can also install it; search ComfyUI-FSampler. The pack bundles its own copies of the k-diffusion / official / res4lyf sampling code, so nothing else needs installing. It's GPL-3.0.
Common issues
The failure modes are the family's, not this node's. Adaptive mode is the aggressive one and real testers report it can produce glowy, "deep fried" output on some models - h2/s2 is the reliable 20–26% cut, and the README's own advice is to validate with skip_mode=none first, then step up. Low-step workflows (<10 steps) barely benefit because there's not enough history to extrapolate. One structural note: because this node's sigmas are precomputed for the steps you asked for, if you change denoise or steps on SamplerCustom's side rather than on this node's, the schedule goes out of sync - keep those settings on FSampler Select. And as with any custom sampler, a sampler+scheduler combo that produces nonsense without skipping will produce nonsense here too; change the combo, not the pack.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | Model (needed to compute sigma schedule). | |
| steps | INT | 251–150 | — |
| scheduler | COMBO | simple | 19 options: simple, normal, sgm_uniform, ddim_uniform, beta, linear_quadratic, +13 |
| sampler | COMBO | euler | Sampling method |
| denoise | FLOAT | 1.000–1 | — |
| skip_mode | COMBO | none | Skipping: hN/sK with N=history (2=linear,3=Richardson,4=cubic) and K=calls before skip. |
| skip_indices | STRING | Explicit skip indices (e.g. 'h2, 3, 4, 7'). Overrides skip_mode when non-empty. | |
| adaptive_mode | COMBO | none | Adaptive skip corrections: none=off; learning=EMA L stabilizer; grad_est=gradient-estimation correction; learn+grad_est=both. |
| smoothing_beta | FLOAT | 0.99900–0.9999 | EMA smoothing for learning mode. |
| protect_first_steps | INT | 20–20 | Initial steps never skipped (warmup). |
| protect_last_steps | INT | 21–100 | Final steps never skipped. |
| anchor_interval | INT | 40–100 | Force REAL call every Nth step (adaptive only). 0=disable. |
| max_consecutive_skips | INT | 41–100 | Max back-to-back skips (adaptive only). |
| add_noise | FLOAT | 0.000–1 | Per-step stochastic noise ratio. 0=deterministic. |
| noise_type | COMBO | whitened | Noise sampling method for add_noise. |
| verbose | BOOLEAN | false | Verbose debug logging. |
| no_grad | BOOLEAN | true | Run under torch.no_grad (Comfy parity). |
| official_comfy | BOOLEAN | true | Use official Comfy algorithm variants. |
| sigma_aware | BOOLEAN | false | Use actual sigma coordinates for extrapolation instead of assuming uniform step spacing. May improve prediction accuracy with non-uniform schedulers (karras, bong_tangent, exponential, etc.). |
| extrapolate_denoised | BOOLEAN | false | Extrapolate the model's denoised output instead of epsilon. Denoised converges smoothly toward the clean image, potentially improving skip predictions. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| sampler | SAMPLER | — |
| sigmas | SIGMAS | — |