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 11 months ago·Updated 10 months ago· 14
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_clip1–clip4, 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—