πΈ Checkpoint Library Selector
Keyword rules that route Library entries by which checkpoint is loaded
- prompt_id
- debug
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_nameoutput 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | Select the diffusion model / checkpoint that is loaded in your workflow. | |
| rules | STRING | # 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_id | STRING | Library entry ID returned when no rule matches. | |
| model_name_overrideopt | STRING | If wired, overrides the model_name dropdown. Useful if another node outputs the checkpoint filename as a string. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt_id | STRING | Library entry ID β wire to πΈ Library β prompt_id_input. |
| debug | STRING | Debug: shows which rule matched and the resolved ID. |