Sampler Selector | Deforum
Pick your sampler from a socket, not a dropdown
- sampler
Most sampler dropdowns on a KSampler are frozen at workflow-save time - if you want to change samplers mid-run, or drive the sampler choice from a schedule, you're stuck. Sampler Selector | Deforum exists to make the sampler a value that flows through wires instead of a widget you edit. It's a tiny node with one job: take a sampler name and pass it out as a properly-typed output that a sampler node will accept.
The primary input is sampler_name, a dropdown listing all 44 samplers your ComfyUI build supports - euler, euler_ancestral, dpmpp_2m, dpmpp_sde, lcm, uni_pc, and friends. Whatever you pick is echoed out of the single sampler output. That alone is useful as a live menu: because the choices are pulled from ComfyUI's actual KSampler.SAMPLERS at load time, the list always matches what your installation can run, which is more than some hardcoded dropdowns can claim. Wire the output into a sampler node's sampler input and you can reach over and swap samplers from one place instead of hunting through every sampler in the graph.
The interesting part is the two optional inputs: override_string and use_override. Flip use_override on and the node ignores the dropdown entirely, emitting whatever string you feed into override_string instead. Now the sampler choice is fully programmable: a Value Schedule | Deforum can output sampler names per frame (via a String to Combo | Deforum to get the typing right), or a string input can choose between samplers on the fly. In animation terms, this is how you'd run an LCM sampler for the fast early frames and a higher-quality sampler for the rest - the selector becomes a routing valve instead of a manual setting. It's the same idea as the Prepare Latent Denoise | Deforum sampler_name input, but as a standalone, reusable object.
Realistically, most people will use this node for one of two things: keeping the sampler choice visible and centralized in a busy workflow, or making it dynamic. If you're doing the dynamic thing, remember the override path is a raw string - it must exactly match a sampler name your ComfyUI supports, or the downstream sampler will reject it. The dropdown path is safe by construction; the override path is on you.
Installation is the pack, since all these nodes ship together in deforum-comfy-nodes: ComfyUI Manager → search "ComfyUI-Deforum" or deforum-comfy-nodes → install and restart, or git clone https://github.com/deforum-art/deforum-comfy-nodes into ComfyUI/custom_nodes and restart. No models, no extra Python dependencies; the repo relocated from XmYx/deforum-comfy-nodes to the deforum-art org, so old workflow JSONs may reference the earlier URL. There's a matching Scheduler Selector | Deforum for schedulers - if you want the whole sampling config to be wireable, grab both.
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 | — |