Nodes/Cozy Utils/Cozy Sampler Options
ComfyUI Node

Cozy Sampler Options

The sampler node that does literally nothing — and that's the point

By cozymantis·Created 2 years ago·Updated about a year ago· 5
Cozy Sampler Options
    • sampler_name
    • scheduler_name
    • steps
    • cfg
    • denoise
    sampler_name
    scheduler
    steps20
    cfg7.0
    denoise1.00

    Cozy Sampler Options doesn't sample anything. Read the source and the whole thing is five inputs going straight to five outputs - a pass-through. It won't make your images better, it won't pick the "right" sampler, and it needs no model downloads or API keys. So why would you install it? Because it fixes a genuinely annoying thing about big ComfyUI graphs: the five settings every KSampler asks for are scattered widgets, and when you're tuning, you have to hunt them down across every sampler node in the workflow. This node gathers sampler, scheduler, steps, CFG, and denoise into one place, so you change a setting once and feed it to as many KSamplers as you like.

    It's the same "carry a bundle down one wire" idea behind rgthree's Context nodes and the Efficiency Nodes samplers, just narrower: nothing but KSampler settings, nothing else in the pack yet (this repo currently ships exactly one node). The pack is from the CozyMantis squad, the people behind the paid SAL-VTON clothes-swap workflows - this is the free utility they released alongside the commercial stuff.

    How it works

    The mechanism is the interesting part, because it's not just hardcoded dropdowns. The node imports comfy.samplers.KSampler.SAMPLERS and SCHEDULERS straight from your running ComfyUI, so the 44 samplers and 9 schedulers you see are the live list for your build - including the newer _cfg_pp and res4lyf-style entries, seeds_2, sa_solver, and friends. No stale strings, no typos smuggled into a saved workflow. Whatever you pick on the widget is simply echoed out. The run() function returns exactly the values it was given.

    That means every sampler/scheduler rule you already know still applies. The node doesn't make Karras magically work on a flow-matching model like Flux or Z-Image - Karras is still the classic safe default for SD 1.5/SDXL checkpoints and still a known failure on rectified-flow ones. All it does is let you reach the dropdown once instead of five times.

    The inputs and outputs that matter

    Five inputs in, five outputs out, same names. For a beginner, only these need explaining:

    • sampler_name - the dropdown of 44 samplers, euler through uni_pc_bh2. This is the one you'll actually shop around in.
    • scheduler - 9 choices: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, normal, linear_quadratic, kl_optimal.
    • steps (INT, default 20) - matches KSampler's 1–10000 range.
    • cfg (FLOAT, default 7.0) - remember that 7 is the SD 1.5/SDXL default; distilled and guidance-distilled models run near 1.
    • denoise (FLOAT, default 1.0) - only matters when you're re-sampling an existing image rather than generating from empty latent.

    The outputs - sampler_name, scheduler_name, steps, cfg, denoise - wire straight into the matching KSampler inputs. Note what the node does not carry: model, prompt, conditioning, latent, and seed stay on the KSampler. This node is a settings bundle, not a whole sampler replacement.

    How to install it

    Easiest path is ComfyUI Manager - search "Cozy Utils" (the registry display name is "Cozy Utils Nodes") and hit install, then restart ComfyUI. Or the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/cozymantis/cozy-utils-comfyui-nodes
    

    Restart ComfyUI. There's no requirements.txt and no models to fetch - the only import is ComfyUI's own comfy.samplers, so install is painless. It's also on the Comfy Registry via the pack's pyproject.toml, which is how Manager finds it.

    Where people get burned

    The trap is expectations. This is a workflow-organization node, and if you drop it in expecting a quality change you'll be disappointed - the output image will be byte-identical to just typing the settings into the KSampler. Its entire job is making a large workflow maintainable, and that pays off precisely in the workflows where you're changing sampler settings a dozen times while debugging. Also: because the dropdowns come from your running ComfyUI, a workflow that references a sampler your older build doesn't have won't be fixed by this node - upgrade ComfyUI for that. Otherwise, there's honestly not much to go wrong with a five-line pass-through; if it's missing after install, restart, and if Manager can't find it, the git clone above always works.

    CategoryCozyMantis

    Inputs (5)

    NameTypeDefaultDescription
    sampler_nameCOMBO44 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
    stepsINT201–10000
    cfgFLOAT7.00–100
    denoiseFLOAT1.000–1

    Outputs (5)

    NameTypeDescription
    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
    scheduler_namesimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal
    stepsINT
    cfgFLOAT
    denoiseFLOAT