Sampler Loader JK๐
Pick a sampler and scheduler once, wire it everywhere
- sampler_name
- Sampler
- schedular_name
- Schedular
Sampler and scheduler settings are the most re-typed values in ComfyUI. You pick dpmpp_2m and karras in the KSampler, then three weeks later you're rebuilding a workflow and can't remember what you used. Sampler Loader JK is a tiny quality-of-life node: it gives you one clean dropdown for the sampler, one for the scheduler, and hands both to the graph as outputs you can wire into any sampler node. Change it in one place, and every connected KSampler follows.
What it gives you
- sampler - dropdown of 44 sampling algorithms, straight from ComfyUI's own list: euler, euler_ancestral, dpmpp_2m, dpmpp_2m_sde, dpmpp_3m_sde, lcm, uni_pc, ddim, sa_solver, and friends.
- scheduler - dropdown of 9 scheduling algorithms: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal.
The four outputs (and why there are four)
Here's the slightly odd part that trips people up: the node outputs both a name and the value, for each of sampler and scheduler:
- sampler_name (STRING) and Sampler (the actual enum value)
- schedular_name (STRING) and Schedular (the actual enum value) - yes, "schedular," the typo is the author's, and it's in the node's return names.
Why two each? Because some downstream nodes want the human-readable name string, while the core KSampler wants the actual enum value. Having both means this node works with both kinds of consumers without you having to convert. Wire Sampler and Schedular into a KSampler's inputs and you're done - the name outputs are there for anything that needs to display or log the choice.
Why you'd bother
Two real reasons. First, consistency across a big workflow: with several samplers (a base pass, a refine, an upscale detailer), one loader node means they all agree, and switching models' recommended settings is a single dropdown edit instead of hunting through the graph. Second, experimenting: the whole troubleshooting playbook for weird output is "try a different sampler and scheduler," and having it in one spot makes A/B tests fast.
The honest caveat
It's a convenience wrapper, not a magic bullet - it doesn't validate that your sampler/scheduler combo makes sense for the model (that's your job, and honestly ComfyUI's too). And if you only ever use one KSampler, just set the dropdowns directly and skip this node. It earns its place in multi-sampler workflows and in Jake's group nodes, where the sampler choice is deliberately surfaced as a single control.
Install
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
pip install -r requirements.txt
No models, no deps beyond the pack's basics. Restart and it's under the pack's Misc section, ready to make your sampler choices boring and repeatable.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| sampler | COMBO | Sampling algorithm selection | |
| scheduler | COMBO | Scheduling algorithm selection |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| sampler_name | STRING | โ |
| 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 | โ |
| schedular_name | STRING | โ |
| Schedular | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | โ |