RedNode Sampler Config (auto turbo)
Stops you re-typing steps and CFG every time you switch checkpoints
- model
- model
- steps
- cfg
- sampler_name
- scheduler
- denoise
- is_turbo
- profile
- detailer_steps
- start_at_step
Every model wants different sampler settings, and nothing eats more time than discovering you forgot to change CFG when you swapped in a turbo checkpoint. RedNode Sampler Config exists to automate exactly that: it looks at the loaded model's file name, decides whether it's a turbo distill or a full model, and outputs matching settings - steps, CFG, sampler, scheduler - ready to feed a KSampler. Switching checkpoints stops meaning re-typing numbers.
The mechanism is straightforward and honest: a regex over the loader's file name. Names containing turbo, hyper, lightning, lcm, distill, dmd or schnell pick the turbo profile (8 steps, CFG 1, euler, simple by default); everything else gets the full profile (20 steps, CFG 3). Those defaults match what the distillation world actually settled on - turbo-style models run at CFG 1 with a handful of steps precisely because they've been distilled to jump straight to the answer - and they're editable, so your favourite sampler pairing survives.
The outputs, and how they wire up
model- the model passed straight through, so the node can sit inline in front of your KSampler without breaking the chain.steps(INT),cfg(FLOAT),sampler_name,scheduler- feed the matching KSampler inputs.denoise- passed through to both profiles, and there's adenoise_ininput so a wired value (like the Workspace's denoise) overrides the widget. For i2i passes, that's how the sampler strength gets driven automatically.is_turbo(BOOLEAN) - handy for driving a RedNode Switch or Router off the model type.profile- the named profile in use, anddetailer_steps/start_at_stepfor the second-pass detailer timing.
The turbo/full pair only covers two kinds of model, and the node knows it - right-click to save and delete named profiles (Z-Turbo, XL, NAI, FLUX, whatever), and set profile to one to override every dial with that saved set. override (auto/turbo/full) forces a profile when a file is named misleadingly - a checkpoint called my_hyper_realistic that isn't actually turbo, say.
Installing it
git clone https://github.com/RedNodeAI/ComfyUI-RedNodeStudio.git ComfyUI/custom_nodes/ComfyUI-RedNodeStudio
Restart ComfyUI, or search RedNode Studio in ComfyUI Manager. No pip deps, no models - this is pure config, so it runs on any ComfyUI with Python 3.10+.
The traps
The filename regex is a heuristic, not a fact. A turbo LoRA applied to a full checkpoint, or a full model with a turbo-sounding name, will give you the wrong profile - that's what override is for, and it's the first thing to check when a "full" model suddenly renders at 8 steps with no guidance. And remember the CFG-1 family rule from the broader ecosystem: distilled models want a negative prompt slot even if it's empty - CFG 1 with no negative can come out grainy or washed on some paths. If your turbo output looks off, it's usually that, not the sampler. Given how cheap these mistakes are to make, the auto-detect does real work - as long as you remember it's guessing from a filename.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | the loaded model; its loader's file name decides the profile | |
| override | COMBO | auto | auto reads the loader's file name; turbo or full forces a profile when a file is named misleadingly |
| turbo_steps | INT | 81–200 | — |
| turbo_cfg | FLOAT | 1.00–30 | — |
| turbo_sampler | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| turbo_scheduler | COMBO | simple | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 |
| full_steps | INT | 201–200 | — |
| full_cfg | FLOAT | 3.00–30 | — |
| full_sampler | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| full_scheduler | COMBO | simple | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 |
| denoise | FLOAT | 1.000–1 | passed through to both profiles |
| turbo_detailer_steps | INT | 61–100 | steps for the second detailer pass when a turbo model is loaded |
| full_detailer_steps | INT | 121–100 | steps for the second detailer pass on a full model |
| profile | COMBO | auto | auto detects turbo against full from the loader's file name, exactly as before. A NAMED profile overrides every dial with the set saved under that name: right-click this node to save or delete profiles. |
| denoise_inopt | FLOAT | wire the Workspace's denoise output here; when connected it overrides the denoise widget, so an i2i pass drives the sampler strength automatically |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| steps | INT | — |
| cfg | FLOAT | — |
| sampler_name | 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 | — |
| denoise | FLOAT | — |
| is_turbo | BOOLEAN | — |
| profile | STRING | — |
| detailer_steps | INT | — |
| start_at_step | INT | — |