Nodes/ComfyUI_LC123_nodes/LC Sampler Configure
ComfyUI Node

LC Sampler Configure

One node that owns every number your sampler argues about

By lonecatone23·Created 2 months ago·Updated about 15 hours ago· 19
LC Sampler Configure
    • total_steps
    • cfg_1
    • denoise
    • step_swap
    • cfg_2
    • sampler_name
    • scheduler
    • detailer_steps
    total_steps40
    step_swap30
    detailer_steps0
    denoise1.00
    _gap1
    cfg_18.0
    cfg_21.0
    _gap2
    sampler_nameeuler
    schedulernormal

    When you run a dual-pass workflow - the kind where the first half of denoising happens with one CFG and the second half with another - the numbers get scattered across half a dozen nodes. Steps here, swap point there, a CFG on this sampler and a different one on that. LC Sampler Configure collects all of them in one node and spits them back out as sockets, so your graph has a single place where "how should this sample" is answered.

    It's a config node, not a sampler. It doesn't denoise anything; it emits the values. You wire its outputs into the nodes that actually do the work - typically LC Split Sigmas (or LC Split Sigma Scheduler) plus a KSampler/SamplerCustomAdvanced stack. Think of it as the cockpit, with the split-sigma nodes as the engine.

    How the dual-pass setup fits together

    The idea is a two-stage schedule: a high-sigma first pass at cfg_1 runs up to step_swap, then a second pass at cfg_2 finishes the low-sigma tail. The step_swap tooltip in the pack puts it plainly: "step index where the first pass hands off to the second (SplitSigmas step)." detailer_steps reserves steps for a detailer/refiner stage (0 = unused). This is the LC123-native way of doing what people hand-build with KSamplerAdvanced plus a couple of split nodes.

    The inputs that matter

    • total_steps - the full schedule length (default 40).
    • step_swap - the handoff index (default 30).
    • denoise - strength used when building the schedule (1.0 = full).
    • cfg_1 / cfg_2 - guidance for the first and second pass. Know your model before you set these: SD 1.5/SDXL happy at 5–9, guidance-distilled 2026 models (Klein, Z-Image Turbo, ERNIE Turbo) want ~1 (see the KB's CFG-scale panel). Setting CFG 7 on a distilled model double-applies guidance and burns the image.
    • sampler_name (44 choices) and scheduler (9 choices) - same dropdowns as core KSampler. Euler + a conservative scheduler is the flow-matching default; DPM++ 2M Karras is still the SDXL-family default.

    All eight values come back out as sockets (total_steps, cfg_1, denoise, step_swap, cfg_2, sampler_name, scheduler, detailer_steps). Those _gap1 / _gap2 fields in the widget list are just layout spacers - ignore them.

    Install

    It's in the LC123 pack - Manager (search "LC123") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
    

    Restart. No extra pip packages; the pack runs on ComfyUI's own torch/numpy. On cloud-hosted ComfyUI (RunningHub etc.) LC123 isn't preinstalled, so request the pack or run local.

    One honest caveat

    Dual-pass sampling is a niche. For a plain single-pass graph on a distilled model, the Simple variant (LC Sampler Configure Simple) is the one you actually want - it drops the step_swap/cfg_2 machinery and just gives you steps, denoise, one CFG, sampler, scheduler. Reach for this one when you genuinely want different guidance on each half of the schedule, not because the extra dials look impressive.

    CategoryLC123/sampling

    Inputs (10)

    NameTypeDefaultDescription
    total_stepsINT401–10000Total sampling steps for the full schedule.
    step_swapINT300–10000Step index where the first pass hands off to the second (SplitSigmas step).
    detailer_stepsINT00–10000Steps reserved for a detailer / refiner stage (0 = unused).
    denoiseFLOAT1.000–1Denoise strength used when building the sigma schedule (1.0 = full).
    _gap1STRINGLayout spacer
    cfg_1FLOAT8.00–100CFG for the first (high-sigma) pass.
    cfg_2FLOAT1.00–100CFG for the second (low-sigma) pass.
    _gap2STRINGLayout spacer
    sampler_nameCOMBOeulerSampler algorithm.
    schedulerCOMBOnormalNoise schedule.

    Outputs (8)

    NameTypeDescription
    total_stepsINT
    cfg_1FLOAT
    denoiseFLOAT
    step_swapINT
    cfg_2FLOAT
    sampler_nameeuler,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
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal
    detailer_stepsINT