Nodes/ComfyUI-988/Simple Config 988
ComfyUI Node

Simple Config 988

One place to hold your sampler, scheduler and steps

By kajan988·Created 3 months ago·Updated about a month ago· 1
Simple Config 988
    • steps
    • sampler
    • scheduler
    steps24
    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 own comfy.samplers list, so it stays in sync with your ComfyUI version (euler, dpmpp_2m, dpmpp_2m_sde, lcm, unipc, the whole current roster - including the _cfg_pp and _sde variants).
    • 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/steps widgets 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.

    Category🦇988/Utility

    Inputs (3)

    NameTypeDefaultDescription
    stepsINT241–99
    samplerCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
    schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3

    Outputs (3)

    NameTypeDescription
    stepsINTNumber of sampling steps
    samplereuler,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_bh2Sampler name string
    schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimalScheduler name string