Nodes/SP-Nodes/SP_KSamplerSelect
ComfyUI Node

SP_KSamplerSelect

One dropdown for sampler and scheduler, wired everywhere at once

By bananasss00·Created 2 years ago·Updated 6 days ago· 20
SP_KSamplerSelect
    • sampler_name
    • scheduler
    sampler_name
    scheduler

    Simple problem, simple node: if you've got several samplers in a workflow - a base pass, a hi-res pass, maybe a detailer - and you want them all using the same sampler/scheduler combo, you either set each one individually and remember to keep them in sync by hand, or you pick once and wire that choice everywhere. SP_KSamplerSelect is for the second approach. It's two dropdowns and two outputs, nothing more, and its entire job is being the single source of truth for "what sampler and scheduler am I using in this workflow."

    How it works

    sampler_name gives you all 44 of ComfyUI's built-in samplers - Euler, the DPM++ family, UniPC, and everything in between - and scheduler gives you the 9 standard noise schedules (simple, karras, exponential, beta, and the rest). As background: the sampler is the algorithm deciding how noise gets removed at each step, and the scheduler decides how much gets removed at each step - "DPM++ 2M Karras" is literally the DPM++ 2M sampler paired with a Karras schedule, and that pairing convention is exactly what this node lets you set once and reuse.

    Worth knowing before you lean on it as a universal default: the safe "DPM++ 2M + Karras" pairing is specifically an SD 1.5/SDXL-era recommendation. Flow-matching models (Flux and newer) tend to do worse with Karras - for Flux specifically, Normal or Beta schedules are the safer choice, never Karras. This node doesn't know or care which model family you're running; it just outputs whatever you pick, so the responsibility for picking something appropriate to your checkpoint is still on you.

    Inputs and outputs that matter

    • sampler_name - any of the 44 stock ComfyUI samplers.
    • scheduler - any of the 9 stock schedulers.
    • Outputs: sampler_name and scheduler, as combo values you can wire into the matching inputs on multiple KSampler-style nodes at once.

    How to install it

    Through ComfyUI Manager: search "SP-Nodes," install, restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bananasss00/ComfyUI-SP-Nodes
    

    Restart ComfyUI once it's cloned. No models, no external dependency - this node is pure configuration plumbing.

    Common issues & troubleshooting

    Downstream KSampler ignores what I picked here. Check the wire actually lands on that node's sampler_name/scheduler inputs and hasn't been left on its own local dropdown selection instead - a KSampler with its own value still set will just use that if the input isn't actually connected, in workflows where the node exposes both a widget and a socket.

    Results look worse than expected on a newer model. If you're running Flux or another flow-matching model, don't default to Karras out of SD 1.5/SDXL habit - try Normal or Beta first, and skip Karras/Exponential entirely on that family.

    Not sure which combo to start with. DPM++ 2M + Karras is still the safe, boring default for SD 1.5 and SDXL. For anything newer, check what the model's own documentation or template workflow recommends before assuming the old default carries over.

    CategorySP-Nodes

    Inputs (2)

    NameTypeDefaultDescription
    sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
    schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3

    Outputs (2)

    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
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal