Sampler Selector | akatz-loops
A sampler as a wire, with a text-override escape hatch
- sampler
SamplerSelector | akatz-loops is a tiny utility that turns "which sampler am I using?" into a wire. You pick a sampler from a dropdown, it hands you the sampler name as a typed output, and you feed that into a KSampler (or this pack's Prepare Latent Denoise) whose sampler widget has been converted to an input. Nothing exotic - but it's the clean way to drive one sampler choice from a single place across a whole workflow, which matters once you're doing loops or parameter farming.
Inputs and outputs
- sampler_name - the dropdown of all valid stock samplers (44 of them, from
eulertouni_pc_bh2). This is the normal path. - override_string (STRING) - an escape hatch: if you enable it, this text is emitted instead of the dropdown value.
- use_override (BOOLEAN, default false) - flips the node into override mode.
- output -
sampler, the chosen name.
The override is the interesting part. The dropdown is locked to ComfyUI's stock list, but the ecosystem has moved past it - sampler tables from packs like RES4LYF (res_2m, bong_tangent) and the _cfg_pp variants you see in the list exist because sampler landscape keeps growing. When you want to drive a sampler name that isn't in the dropdown (or is, but you want it as dynamic text), flip use_override on and type it. It's the node's "I know what I'm doing" mode, and it saves you from rebuilding the combo list every time the community ships a new sampler.
When you'd use it
Honestly, for a single KSampler this is overkill - the built-in dropdown is right there. It earns its place when a sampler choice has to be shared: one selector feeding several samplers, or a selector feeding a custom sampling path like Prepare Latent Denoise, or a loop that varies the sampler per iteration. One dropdown, one source of truth, no hunting through widgets.
Installing it
Part of the Akatz-Loop-Nodes pack (repo ComfyUI-Execution-Inversion):
cd ComfyUI/custom_nodes
git clone https://github.com/akatz-ai/ComfyUI-Execution-Inversion
# restart ComfyUI
Or ComfyUI Manager → "Akatz-Loop-Nodes". opencv-python is the only dependency; no model files.
Gotchas
The override doesn't validate - type a nonsense sampler name and you'll get a runtime sampler error, not a helpful message. And when use_override is on, the dropdown is ignored entirely, so it's easy to forget you left it in override mode and then wonder why the workflow uses bong_tangent when the dropdown says euler. Check use_override before you blame the sampler.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| override_stringopt | STRING | — | |
| use_overrideopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sampler | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |