Nodes/ComfyUI-Flow-Control/Flow - Checkpoint Preset Loader
ComfyUI Node

Flow - Checkpoint Preset Loader

A checkpoint loader that remembers how you tuned each model

By krich-cto·Created 2 years ago·Updated 2 years ago· 1
Flow - Checkpoint Preset Loader
    • model
    • clip
    • vae
    • gen_info
    filterAll
    ckpt_name
    vae_name
    base
    hash
    steps20
    cfg8.0
    clip_skip1
    sampler_name
    scheduler
    url

    Every checkpoint has a "correct" sampler setup that you re-enter by hand every single time you switch models. This loader is the fix: pick a checkpoint and it loads not just the weights but the saved sampling recipe - steps, CFG, clip skip, sampler, scheduler, even which VAE - from a per-checkpoint preset stored on disk. Swap from Pony to SD15 and the sampler settings follow the model, not your muscle memory.

    It's the checkpoint half of ComfyUI-Flow-Control's gen_info pipe: it emits the model, clip and VAE like a stock loader, plus a gen_info dict that carries the checkpoint name, hash, base and sampling settings forward to the Flow text encoder, sampler and save node.

    How it works

    The loader reads db/checkpoints.json (bundled with the pack) and looks up the selected ckpt_name. If a preset exists, its vae_name, base, hash, steps, cfg, clip_skip, sampler_name, scheduler and url populate the node's fields. You can hand-tune and hit Save Preset (a button the frontend adds to the node) to write the current values back for that checkpoint. If there's no preset, it falls back to defaults and writes a skeleton entry so the node keeps state.

    Loading itself is stock load_checkpoint_guess_config, with two extras: a vae_name dropdown that includes embedded plus your VAEs and the fast TAESD approximate decoders, and clip_skip applied by slicing the CLIP's layers (clip.clip_layer(-clip_skip)). The filter dropdown (All / Pony / SDXL / SD15) narrows which checkpoints appear in ckpt_name.

    The preset database is normally populated by the pack's FlowModelManager, which hashes your checkpoints, asks CivitAI what they are, and files them into folders - run that once and this loader gets its smarts for free.

    The inputs that matter

    • ckpt_name - the checkpoint. Everything else is arguably a preset.
    • steps, cfg, clip_skip, sampler_name, scheduler - the recipe. These get written into gen_info and are what FlowKSampler obeys, so this is where you tune sampling now.
    • filter - narrows the list when you have hundreds of checkpoints.
    • clip_skip - remember the clip-skip convention: anime-family models (Pony, Illustrious, NoobAI descendants) want 2, most SDXL wants 1 or 2, and it does nothing on Flux.

    Outputs: model, clip, vae, and gen_info. The gen_info is the point - wire it to FlowClipTextEncode and FlowKSampler.

    Install

    Part of ComfyUI-Flow-Control, one install covers the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/krich-cto/ComfyUI-Flow-Control
    

    Restart ComfyUI (or Manager → "ComfyUI-Flow-Control"). No downloads; it loads whatever checkpoints and VAEs you already have.

    Gotchas

    The bundled db/checkpoints.json only contains presets for the author's own models - yours start blank. The auto-fetch that would hash a new checkpoint and query CivitAI is commented out in this version, so a fresh checkpoint gets base="" and hash="" until you save a preset or run FlowModelManager. That means the base-based features (like the LoRA base check) stay dormant for new models until the db knows about them. Also note clip_skip is baked in at load time - it's not a sampler-side trick, so changing it re-clones the CLIP.

    CategoryFlow/inputs

    Inputs (11)

    NameTypeDefaultDescription
    filterCOMBOAll4 options: All, Pony, SDXL, SD15
    ckpt_nameCOMBO0 options:
    vae_nameCOMBO1 options: embedded
    baseCOMBO4 options: , Pony, SDXL, SD15
    hashSTRING
    stepsINT201–10000
    cfgFLOAT8.00–100
    clip_skipINT11–24
    sampler_nameCOMBO34 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +28
    schedulerCOMBO9 options: normal, karras, exponential, sgm_uniform, simple, ddim_uniform, +3
    urlSTRING

    Outputs (4)

    NameTypeDescription
    modelMODEL
    clipCLIP
    vaeVAE
    gen_infoGENINFO