Nodes/jan-prompt-presets/Sampler Selector
ComfyUI Node

Sampler Selector

A dropdown that plugs straight into KSampler

By kursopiko·Created 6 months ago·Updated 6 months ago· 0
Sampler Selector
    • sampler_name
    samplereuler

    ComfyUI's KSampler takes its sampler_name as a plain text field. Type dpmpp_2m, hit go. That's fine until you have a graph with several samplers and you want to change them all without opening each node - or you want the sampler choice to be a value that flows through the workflow like every other value. That's the gap Sampler Selector fills: a dropdown whose output is a typed sampler name, so ComfyUI treats the wire as valid input anywhere a sampler belongs.

    How it works

    Nothing clever, which is the point. The node pulls its options straight from comfy.samplers.KSampler.SAMPLERS - the same list core ComfyUI uses internally - and returns whatever you picked, unchanged. Because its output type is that full list rather than a generic string, it plugs into KSampler's sampler_name, FaceDetailer, SamplerCustom, and any other node that accepts the same set. No type warnings, no converters.

    The nice side effect: the dropdown stays in sync with the ecosystem, not just the core. The 44 choices here include the cfg_pp family (euler_cfg_pp, dpmpp_2m_cfg_pp, res_multistep_ancestral_cfg_pp...) that don't ship in vanilla ComfyUI - they're registered by other installed packs. Install one of those and the new samplers show up here automatically, no updating this node involved.

    The inputs that matter

    There's exactly one: sampler, defaulting to euler, with those 44 choices. A few worth knowing by name - euler_ancestral and dpmpp_2m are the old workhorses, lcm is the one you want with distilled/Lightning-style checkpoints, and uni_pc/ddim are the deterministic options. The single output, sampler_name, is what you wire into the sampler slot. That's the whole node.

    Honestly? For one KSampler you don't need this - type the name and move on. It earns its keep when the same sampler feeds several nodes, or when you're handing a workflow to someone else and you want the choice sitting visibly on the canvas instead of buried in a text box.

    Installing it

    This ships in jan-prompt-presets (https://github.com/kursopiko/jan-prompt-presets), a small bundle of prompt and sampler utilities by JAN (@kursopiko). Easiest route: ComfyUI Manager → Install Custom Nodes → search jan-prompt-presets → Install → restart ComfyUI.

    Manual, if you prefer:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kursopiko/jan-prompt-presets
    

    Then restart ComfyUI. There's no requirements.txt and nothing to download - the whole pack is a handful of small Python files, which is refreshing in an ecosystem where half the install friction is dependency conflicts. All nodes land under the prompt/presets category.

    Troubleshooting

    • "Nothing happens." It's a passthrough - it doesn't generate, and it won't pick a "best" sampler for you. If output looks wrong, the sampler isn't the problem; steps, CFG and scheduler are.
    • Node won't appear. Either the pack isn't installed or you skipped the restart. And remember it lives under prompt/presets, not under its display name alone.
    • A sampler you expected is missing. That sampler isn't registered in your ComfyUI right now - usually it comes from a pack you haven't installed yet.
    Categoryprompt/presets

    Inputs (1)

    NameTypeDefaultDescription
    samplerCOMBOeulerSelect a sampler to use with KSampler, FaceDetailer, etc.

    Outputs (1)

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