Nodes/AAA Metadata System/Checkpoint Info Setter v074
ComfyUI Node

Checkpoint Info Setter v074

Tag your model zoo so the tester can read your mind

By EricRollei·Created 10 months ago·Updated 8 months ago· 13
Checkpoint Info Setter v074
    • status
    checkpoint_path
    architectureUnknown
    has_embedded_vaetrue
    has_embedded_cliptrue
    clip_typeauto
    categoryunknown
    preferred_vaeNone
    preferred_clip1None
    preferred_clip2None
    preferred_clip3None
    preferred_clip4None
    clip_devicedefault
    t5_bit_depthauto
    notes
    samplereuler_ancestral
    schedulernormal
    steps30
    cfg7.0
    clip_skip1
    width1024
    height1024

    If your models/checkpoints folder looks like a hard drive that had a party, Checkpoint Info Setter v074 is how you clean it up - and, more usefully, how you teach the rest of this pack what each model actually is. It's a metadata writer for a single checkpoint file: you tell it the architecture, the CLIP structure, the category, your preferred VAE and sampler settings, and it remembers all of it. Then CheckpointTester_v074, CheckpointParamsLoader_v074, and the viewer nodes act on that memory.

    The mental model is a library card for every model you own. Without it, the tester has to guess an architecture from filenames and heuristics; with it, loading the right model with the right CLIP and the right sampling defaults becomes a lookup instead of a gamble. It only writes info - it doesn't load or generate anything - so think of it as the cataloging step in a three-node workflow (set, test, view).

    How it works

    The node hashes the checkpoint file, keys a record into the pack's JSON database (checkpoint_tester_db.json in the pack's nodes folder), and stores whatever you set: architecture, whether a VAE or CLIP is embedded, clip type, category, notes, preferred VAE/CLIPs, device, and T5 bit depth. It also stores the optional generation params - sampler, scheduler, steps, cfg, clip_skip, width, height - so the params loader can hand those back later. Everything's keyed by file hash, so moving the file updates the record instead of creating a duplicate. The safetensors angle matters here: since checkpoint files are just JSON-header-plus-tensors, hashing is cheap and reliable.

    Inputs and outputs that matter

    • checkpoint_path - required string, the absolute path to the .safetensors (or .ckpt - though you really should be on safetensors, the pickle format is a security footgun).
    • architecture - the big dropdown (Unknown, SD1.5, SD2.1, SDXL, SD3/SD3.5, Flux 1D/1S, Playground, Illustrious, Pony, and more). This is the single most important field you set.
    • has_embedded_vae / has_embedded_clip - honesty pays here; telling it wrong makes the tester load the wrong combo.
    • clip_type - auto is a fine default; set it explicitly if you know your model needs a specific combiner (some newer architectures do).
    • category - art, realistic, anime, photographic, etc. Mostly used as a filter in the tester.
    • preferred_vae, preferred_clip1clip4, clip_device, t5_bit_depth - the preferences the tester will honor.
    • notes - free text. Future-you will thank you.

    Optional block: sampler, scheduler, steps, cfg, clip_skip, width, height - your per-model generation defaults.

    Output: a single status string confirming the save.

    Installing it

    Part of AAA Metadata System by Eric Hiss (GitHub: EricRollei). Via ComfyUI Manager (search "AAA Metadata System") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/EricRollei/AAA_Metadata_System.git
    cd AAA_Metadata_System
    pip install -r requirements.txt
    

    Restart ComfyUI. No extra models or downloads - this is pure bookkeeping. One licensing note since you're building a library: the pack is CC BY-NC 4.0 for non-commercial use, with a separate paid license for commercial work, so if you're cataloging models for a business, check the license before you build a workflow on it.

    Common issues

    The most common stumble is the path again - it must exist or you get a "file not found" status rather than a helpful error. If the VAE/CLIP dropdowns show only "None", that's ComfyUI's model lists being empty or the files living in folders this pack isn't scanning; add them to the standard ComfyUI folders. And because the record lives in a JSON file the pack manages, back it up if your library is precious - a corrupted DB is recoverable but annoying. If you have a whole folder to tag at once, use CheckpointBatchInfoSetter_v074 instead of doing this one file at a time.

    Categoryloaders/checkpoint tester

    Inputs (21)

    NameTypeDefaultDescription
    checkpoint_pathSTRINGPath to the checkpoint file
    architectureCOMBOUnknownModel architecture
    has_embedded_vaeBOOLEANtrueWhether the checkpoint has an embedded VAE
    has_embedded_clipBOOLEANtrueWhether the checkpoint has an embedded CLIP
    clip_typeCOMBOautoCLIP structure type or specific combiner
    categoryCOMBOunknownModel category
    preferred_vaeCOMBONonePreferred VAE
    preferred_clip1COMBONonePreferred primary CLIP
    preferred_clip2COMBONonePreferred secondary CLIP
    preferred_clip3COMBONonePreferred tertiary CLIP
    preferred_clip4COMBONonePreferred quaternary CLIP
    clip_deviceCOMBOdefaultPreferred device for CLIPs
    t5_bit_depthCOMBOautoPreferred T5 bit depth
    notesSTRINGAdditional notes
    sampleroptCOMBOeuler_ancestral44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
    scheduleroptCOMBOnormal9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
    stepsoptINT301–1000
    cfgoptFLOAT7.00–100
    clip_skipoptINT11–12
    widthoptINT102464–8192
    heightoptINT102464–8192

    Outputs (1)

    NameTypeDescription
    statusSTRING