KSampler Config (rgthree)
KSampler Config (rgthree)
- STEPS
- REFINER_STEP
- CFG
- SAMPLER
- SCHEDULER
KSampler Config is a settings hub. It holds your sampler parameters - steps, cfg, sampler, scheduler, plus a refiner step - in one node and hands them out as separate wires, so you can set them once and feed the same values into every KSampler in your workflow. If you run a base-plus-refiner setup, or several samplers that should share settings, this is the node that stops you from editing the same numbers in four places and getting them out of sync.
Why you'd reach for it
Here's the annoyance it solves. A multi-stage workflow often has two or three KSamplers, and you want them on the same sampler and scheduler, with a shared step budget split between a base pass and a refiner pass. Do that with each sampler's built-in widgets and you're maintaining the same values in multiple spots - change the sampler once and you have to remember every place it lives. Miss one and your refiner is quietly running a different sampler than your base.
KSampler Config centralizes that. One node is the source of truth; the wires fan out. It pairs naturally with rgthree's Context Big, which carries these exact fields (steps, cfg, sampler, scheduler) down its bundle so they travel through your whole graph on one line.
Inputs and outputs
The inputs are the settings themselves:
- steps_total - your overall step budget (default 30).
- refiner_step - the step at which a refiner takes over (default 24). The idea is a base sampler runs the early steps and a refiner finishes from here; you split one budget across two passes.
- cfg - classifier-free guidance strength (default 8). How hard the model sticks to your prompt.
- sampler_name - the sampling algorithm, chosen from ComfyUI's full list (euler, the dpmpp family, res_multistep, uni_pc, and dozens more).
- scheduler - the noise schedule: simple, karras, exponential, beta, sgm_uniform, and so on.
The outputs mirror them as individual wires - STEPS, REFINER_STEP, CFG, SAMPLER, and SCHEDULER - each typed to match what a KSampler wants. Wire STEPS and CFG into the sampler's number inputs, and SAMPLER/SCHEDULER into its sampler and scheduler slots. The nice part is that SAMPLER and SCHEDULER come out as proper typed selections, not loose strings, so they drop straight into a stock KSampler without conversion.
Installing it
KSampler Config is part of rgthree-comfy. Install through ComfyUI Manager (search rgthree's ComfyUI Nodes) or clone the repo:
cd ComfyUI/custom_nodes
git clone https://github.com/rgthree/rgthree-comfy.git
Restart ComfyUI afterward. There are no models to download and no heavy Python dependencies - the whole pack is graph and UI code.
Common issues
The concept to get right is the base/refiner step split. steps_total is the whole budget and refiner_step is the handoff point - if you're not actually running a two-sampler base+refiner setup, refiner_step is just an extra integer you can ignore or wire wherever you need it. Don't overthink it on a single-sampler workflow.
Second, this node is a config source, not a sampler - it doesn't generate anything on its own. You still need actual KSampler nodes downstream consuming these wires. If nothing's happening, check that you've wired the outputs into a real sampler.
Third, sampler and scheduler choice is a rabbit hole with real quality consequences, but it's not this node's job to pick for you - it just distributes whatever you set. If your results look off, that's a sampler/scheduler tuning question, not a KSampler Config bug.
And the pack-wide caveat: if the node renders wrong, check whether ComfyUI's Nodes 2.0 frontend is on. The Vue rewrite broke several rgthree nodes, and the standing workaround is to keep it disabled.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| steps_total | INT | 301–16384 | — |
| refiner_step | INT | 241–16384 | — |
| cfg | FLOAT | 8.00–100 | — |
| sampler_name | 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 (5)
| Name | Type | Description |
|---|---|---|
| STEPS | INT | — |
| REFINER_STEP | INT | — |
| CFG | FLOAT | — |
| 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 | — |
| SCHEDULER | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |