Nodes/Frog Node Pack/🐸 Checkpoint Library Selector
ComfyUI Node

🐸 Checkpoint Library Selector

Keyword rules that route Library entries by which checkpoint is loaded

By RabbitThatIsPinkΒ·Created 3 months agoΒ·Updated 24 days agoΒ· 1
🐸 Checkpoint Library Selector
    • prompt_id
    • debug
    β—„model_nameβ–Ύβ–Ί
    β—„rules# keyword1, keyword2 : library_entry_id anima : β–Ί
    β—„default_idβ–Ί
    β—„model_name_overrideβ€”β–Ί

    Frog Checkpoint Library Selector is a routing table for your prompt library. It looks at which diffusion model is loaded in your workflow, matches it against a list of rules you write, and outputs the Library entry ID that should be used. Wire that ID into 🐸 Library's prompt_id_input and the gallery auto-selects the right entry for the checkpoint - no clicking, no per-model workflows, just a rule file.

    The README is upfront that this one is WIP, and it shows in the setup: the whole node is one multiline rules box. Each line is a rule in the form keyword1, keyword2 : library_entry_id. Matching is a case-insensitive substring test against the model filename stem, first matching rule wins, and lines starting with # are comments. The default template ships with an anima : line waiting for an ID, which tells you exactly what the author was doing with it: Anima-family checkpoints, one Library entry each, and this node deciding which one the current model should pull.

    The inputs that matter

    • model_name - a dropdown of your installed checkpoints, listing whichever is loaded. The node also reads the filename stem of whatever's in the dropdown, which is what rules match against.
    • rules - the multiline rule list. This is the entire logic of the node; spend your time here.
    • default_id - the Library entry ID returned when no rule matches. Leave it blank and no-entry-wins is the behavior; set it to a general-purpose quality prompt and you get a sane fallback.
    • model_name_override - optional STRING input that overrides the dropdown. This is the interoperability hook: feed it the model_name output from 🐸 Load: Model + CLIP + VAE + Name and the selector stays in sync with whatever checkpoint that loader picks, automatically.

    What comes out

    prompt_id - the resolved Library entry ID, wired to 🐸 Library β†’ prompt_id_input - and debug, a string showing which rule matched and the resolved ID. The debug output is the first thing to check when the wrong entry loads: it tells you the rule that fired, or that nothing did.

    Installing it

    Part of Frog Node Pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/RabbitThatIsPink/FrogNodePack
    

    or ComfyUI Manager β†’ "Frog Node Pack". Restart and hard-refresh. No extra dependencies.

    Where people trip

    This node is pure plumbing, so the failure modes are all logical. The biggest one: rules match substrings, so a rule of anima matches every Anima-family checkpoint - if you want per-version routing, make the keyword more specific (anima_beta57, for instance) or rely on rule order, since the first match wins. Second, the IDs you write in rules have to be real Library entry IDs, which are not the entry names - open the Library gallery, select an entry, and read its id output to see what actual IDs look like. And third, since it's WIP, expect the rule syntax to be subject to change; if a pack update breaks your rules file, that's the known-unstable zone the README warns about, not something you did.

    Category🐸 Node Pack/Utility

    Inputs (4)

    NameTypeDefaultDescription
    model_nameCOMBOSelect the diffusion model / checkpoint that is loaded in your workflow.
    rulesSTRING# keyword1, keyword2 : library_entry_id anima : One rule per line: keyword1, keyword2 : library_entry_id First matching rule wins. Matching is a case-insensitive substring of the model filename stem. Lines starting with # are comments.
    default_idSTRINGLibrary entry ID returned when no rule matches.
    model_name_overrideoptSTRINGIf wired, overrides the model_name dropdown. Useful if another node outputs the checkpoint filename as a string.

    Outputs (2)

    NameTypeDescription
    prompt_idSTRINGLibrary entry ID β€” wire to 🐸 Library β†’ prompt_id_input.
    debugSTRINGDebug: shows which rule matched and the resolved ID.