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

Checkpoint Batch Info Setter v074

Tag fifty checkpoints with one run

By EricRollei·Created 10 months ago·Updated 8 months ago· 13
Checkpoint Batch Info Setter v074
    • status
    dir_path
    recursivetrue
    file_pattern*.safetensors
    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

    Tagging checkpoints one at a time with the single info setter is fine until you have a folder of fifty. Checkpoint Batch Info Setter v074 is the "do it for all of them" version: give it a directory, a file pattern, and the same info fields, and it stamps every matching checkpoint with that metadata in one run. It's the on-ramp for getting a whole model library catalogued before the tester and viewer nodes become useful.

    It's part of the AAA Metadata System pack's checkpoint tester family, and it's exactly as simple as it sounds. Under the hood it literally runs the single setter's logic against each file matched by the glob. No new concepts to learn - it's the batch version of CheckpointInfoSetter_v074, which makes it a great first step when you've just installed the pack and want a populated database fast.

    How it works

    You give it dir_path, and it globs for files matching file_pattern (default *.safetensors), walking subdirectories if recursive is on. For each file it hashes it, creates or updates its record in the pack's JSON checkpoint database, and writes the architecture, CLIP/VAE info, category, notes, preferences, and generation params you set. It returns a status line telling you how many files it attempted and how many succeeded.

    The important mental model: it applies the same info to every file in the match. That's the feature and the trap. Batch-setting is right when a folder is genuinely uniform - say, a directory of Illustrious-based anime checkpoints where the architecture, category, and sampler preferences are all the same. It's wrong when you point it at a mixed folder and stamp everything "SDXL" including the Flux files.

    Inputs and outputs that matter

    • dir_path - where the checkpoints live (required, string).
    • recursive - scan subfolders (default true).
    • file_pattern - the glob, default *.safetensors. If your folder mixes .safetensors and .ckpt, widen it - though you'd be better served ditching the pickles entirely.
    • The rest are the single setter's fields applied uniformly: architecture, has_embedded_vae, has_embedded_clip, clip_type, category, the preferred VAE/CLIPs, clip_device, t5_bit_depth, notes, and the optional generation params (sampler, scheduler, steps, cfg, clip_skip, width, height).

    Output: a single status string with the tally.

    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 downloads beyond the pack.

    Common issues

    The dominant failure mode is stamping wrong info on a whole folder, and it's a you-problem, not a node-problem: batch-set is only as good as your folder's uniformity. If you point it at a mixed library, you'll corrupt the catalog for the non-matching files, and there's no undo button - the fix is re-setting each one. Also watch the pattern: *.safetensors won't touch .gguf or .ckpt files in the same folder, which may be what you want or a silent miss. If a run reports fewer successes than files, it's usually a file that's locked or unreadable; the status line will tell you the counts. And as with the single setter, back up checkpoint_tester_db.json if the library is precious - the whole pack's model knowledge lives in that one file.

    Categoryloaders/checkpoint tester

    Inputs (23)

    NameTypeDefaultDescription
    dir_pathSTRINGDirectory containing checkpoints
    recursiveBOOLEANtrueScan subdirectories recursively
    file_patternSTRING*.safetensorsPattern to match filenames
    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