Simple Config 988
One place to hold your sampler, scheduler and steps
- steps
- sampler
- scheduler
If you've ever had a workflow with three samplers - a base pass, a hires-fix pass, a face-detail pass - you know the annoyance: the same sampler, scheduler and steps typed into three separate KSampler widgets, and every tweak means editing them in three places. Simple Config 988 is the "one source of truth" fix: pick your steps, sampler and scheduler once, and it emits all three as proper typed outputs you can wire into every sampler that needs them.
This is the plumbing pattern the KB's node-plumbing essay describes as the core of the layer - break a repeated value out of its widget, turn it into a socket, and fan it out. In that world, KSampler's own sampler_name, scheduler, and steps inputs are exactly the things people convert-to-input constantly; this node is a ready-made source for all three at once.
How it works
Three inputs, three outputs, no logic. You pick:
steps(default 24, 1–99) - the step count.sampler- a dropdown of 44 samplers drawn straight from ComfyUI's owncomfy.samplerslist, so it stays in sync with your ComfyUI version (euler, dpmpp_2m, dpmpp_2m_sde, lcm, unipc, the whole current roster - including the_cfg_ppand_sdevariants).scheduler- the 9 schedulers from the same source: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal.
The outputs are the same three values back out as typed sockets: steps (INT), sampler (the sampler string type), scheduler (the scheduler string type). Because they use ComfyUI's own type strings, they plug directly into a KSampler whose inputs have been converted to sockets - no string-to-enum mismatch games.
When to reach for it
Any graph with more than one sampler that must agree. The classic: a two-pass setup where the base pass and the hires pass should use the same sampler/scheduler (just different steps or denoise), or an A/B setup where you want to swap the whole sampling strategy from one dropdown. It also tidies graphs where sampler settings live far from where they're consumed.
Gotchas
- It's not a KSampler. It holds names; the actual sampling still happens in your KSampler (or SamplerCustom) nodes. The wiring step - convert the sampler's
sampler_name/scheduler/stepswidgets to inputs - is on you; this node just makes those inputs cheap to share. - Because it reads ComfyUI's sampler list at load time, the options track your ComfyUI version. If you've updated ComfyUI and see a mismatch with a workflow someone shared, that's the version drift showing up here.
- It doesn't validate that your chosen sampler/scheduler combination is sane - e.g. karras scheduler with an LCM sampler is a "works but maybe not what you want" situation. That's a sampling-choices question, not a node bug; the KB's concepts doc is the place to argue about which pair to pick.
Install
Part of ComfyUI-988: Manager (search "ComfyUI-988") or:
cd ComfyUI/custom_nodes
git clone https://github.com/kajan988/ComfyUI-988
cd ComfyUI-988
pip install -r requirements.txt
Then restart. Zero dependencies beyond the pack's minimal requirements - it's a thin wrapper around ComfyUI's own sampler lists.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 241–99 | — |
| sampler | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| steps | INT | Number of sampling steps |
| 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 | Sampler name string |
| scheduler | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | Scheduler name string |