Nodes/Akatz-Loop-Nodes/Sampler Selector | akatz-loops
ComfyUI Node

Sampler Selector | akatz-loops

A sampler as a wire, with a text-override escape hatch

By akatz-ai·Created about a year ago·Updated 8 months ago· 23
Sampler Selector | akatz-loops
    • sampler
    sampler_name
    override_string
    use_overridefalse

    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 euler to uni_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.

    CategoryAkatz Loop Nodes/Utility

    Inputs (3)

    NameTypeDefaultDescription
    sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
    override_stringoptSTRING
    use_overrideoptBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    samplereuler,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