Nodes/comfyui-checkpoint-automatic-config/Checkpoint Automatic Config
ComfyUI Node

Checkpoint Automatic Config

A checkpoint loader that remembers the right steps, CFG, and sampler for you

By mech-tools·Created 2 years ago·Updated 2 years ago· 3
Checkpoint Automatic Config
    • MODEL
    • CLIP
    • VAE
    • STEPS
    • CFG
    • SAMPLER
    • SCHEDULER
    ckpt_name
    automatic_configtrue
    steps_total5
    cfg2.0
    sampler_name
    scheduler_name

    The most reliable way to ruin a Lightning or Turbo checkpoint is to feed it your normal settings. CFG 7, 20 steps, DPM++ 2M Karras - that's how you get the oversaturated, artifacted mess that ends up in half the "why does my output look burnt" threads. This node is a small fix for exactly that failure mode: it's the standard CheckpointLoaderSimple with a table of "right settings" bolted on, so the loader and the sampler recipe travel as one unit.

    What it does

    Pick a checkpoint and it loads it exactly like the built-in loader - same MODEL, CLIP, VAE outputs - but it also hands you STEPS, CFG, SAMPLER, and SCHEDULER on separate ports. Wire those straight into a KSampler and you never set steps, CFG, sampler, and scheduler by hand again. When automatic_config is on (it is by default), the values don't come from the widget you typed into - they come from a YAML file the pack ships, keyed by checkpoint filename.

    How it works

    The node is a subclass of ComfyUI's built-in CheckpointLoaderSimple, so it inherits the loader and just adds plumbing around it. At startup it reads models_config.yaml from its own folder. When you run, it looks your ckpt_name up in that table; if found, it validates the entry and overrides whatever you typed in steps_total, cfg, sampler_name, and scheduler_name, printing the applied values to the console. If the checkpoint isn't in the table and auto-config is on, it refuses to run with an "unknown checkpoint" error.

    The shipped table covers 13 SDXL checkpoints, most of them Lightning or distilled merges: Juggernaut XL Lightning, DreamShaper XL Lightning, RealVisXL v4 Lightning, TurboVisionXL, and friends. They're set to 5-8 steps, CFG 1-2, on dpmpp_sde or euler/euler_ancestral with karras or sgm_uniform - the low-CFG, few-steps playbook that distilled models require. The specific sampler pairs are the author's reading of each model card, not universal law; the sane rule is still to take the pair your model card recommends first.

    The inputs and outputs that matter

    • ckpt_name - the checkpoint to load.
    • automatic_config - the whole feature. Flip it off and the node degrades to a plain loader that uses your typed values.
    • steps_total, cfg, sampler_name, scheduler_name - your fallbacks, and what auto-config overrides.

    Outputs: MODEL, CLIP, VAE (identical to stock), plus STEPS, CFG, SAMPLER, SCHEDULER. The last four are what you connect to a KSampler's steps, cfg, sampler_name, and scheduler inputs.

    Installing it

    It's published to the ComfyUI registry, so the easy route is ComfyUI Manager → search "Checkpoint Automatic Config" and install. Or the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/mech-tools/comfyui-checkpoint-automatic-config
    

    Restart ComfyUI after either. No pip dependencies beyond PyYAML (ComfyUI already has it) and it downloads no models - it only references checkpoints you're expected to have in models/checkpoints already.

    Common issues

    The "unknown checkpoint" error is the one you'll hit first: auto-config is on and your model isn't in the table. Fix it by editing models_config.yaml (in custom_nodes/comfyui-checkpoint-automatic-config/) or by flipping automatic_config off. Two footguns when you edit that file by hand: cfg must be written with a decimal point - cfg: 2.0, not cfg: 2, or validation throws "invalid cfg format" - and steps_total must be a whole number. The file is read at import, so restart ComfyUI after editing. And yes, the config silently overrides your widgets: type 30 steps, get the table's 6. That's the point, not a bug.

    One honest warning: this is a small, GPL-licensed pack, last touched in September 2025, with a README that's one sentence ("noded" typo included). If you live on one or two Lightning SDXL models, it genuinely removes a recurring footgun. If you use none of the 13 listed checkpoints, you're really just adopting a YAML template - which is fine, but know that going in.

    CategoryCheckpoint Config Loader

    Inputs (6)

    NameTypeDefaultDescription
    ckpt_nameCOMBOThe name of the checkpoint (model) to load.
    automatic_configBOOLEANtrue
    steps_totalINT51–16384
    cfgFLOAT2.00–100
    sampler_nameCOMBO34 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +28
    scheduler_nameCOMBO9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3

    Outputs (7)

    NameTypeDescription
    MODELMODELThe model used for denoising latents.
    CLIPCLIPThe CLIP model used for encoding text prompts.
    VAEVAEThe VAE model used for encoding and decoding images to and from latent space.
    STEPSINT
    CFGFLOAT
    SAMPLEReuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,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_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,ddim,uni_pc,uni_pc_bh2
    SCHEDULERnormal,karras,exponential,sgm_uniform,simple,ddim_uniform,beta,linear_quadratic,kl_optimal