SN1000 Lora Checklist
The checklist node that keeps prompt and LoRA together
- model
- clip
- MODEL
- CLIP
- prompt
A LoRA is never just a file. It comes with a trigger word, a strength that actually works, and a prompt fragment that makes it sing - and ComfyUI stores exactly none of that. You keep it in your head, or in a text file next to the monitor. SN1000 Lora Checklist (class SN1000Checklist, from the SmartNode1000 pack) is the fix: a multi-select checklist where every item is its own prompt + LoRA pair, so ticking a box drops both in at once.
It's your per-workflow scratch space. Where its sibling SN1000 Lora Theme saves presets to shared JSON files, the checklist stores everything inside the node itself - the item list travels in the workflow file, so two checklists in one graph can hold completely different things. Make one for crying/smiling variants, one for which character appears, and flip them like switches.
How it works
At runtime the node reads items_data - a JSON string the UI manages for you. That's the source of truth; the visible prompt field is just the editing box for whichever item's settings are open. It then does three things:
- Composes the prompt: the prompts of all checked items get joined with the
delimiter(default", "), in order. Aprompt_infrom a previous node is prepended if connected. - Applies the LoRAs: each checked item's LoRA stack is loaded with ComfyUI's own
load_lora_for_models, same strength to model and clip. LoRAs are matched by filename against yourmodels/lorasfolder; a file that isn't there is skipped and logged to the console rather than killing the run. - Expands wildcards:
__file__and{a|b|c}syntax resolves usingwildcard_seed, so the same seed gives the same picks.
One behavior worth knowing: if the same LoRA appears in two checked items, it's applied only once (the first occurrence). Applying it twice would multiply the strength and fight itself - the dedupe is a feature, not a bug.
The inputs that matter
Only two toggles really run this node:
prompt_enabled- off drops the node's prompt and passes throughprompt_inuntouched. LoRAs still apply.loras_enabled- off skips every LoRA while each item keeps its own on/off state.
model and clip are optional. Connect them to apply LoRAs; leave them unconnected and the node becomes a pure prompt composer. That per-item on/off plus the two master toggles is what makes A/B testing a single click.
Outputs
Three sockets: MODEL, CLIP, and prompt (a STRING). Wire prompt into your CLIP text encoder, and model/clip down the normal sampler path.
Install
Same pack for all three SN1000 nodes. Via ComfyUI Manager, search SmartNode1000 and install. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/1000Pro-1997/SmartNode1000.git
Restart ComfyUI. No extra dependencies - nothing to pip install, no model downloads.
Where people get tripped up
- LoRAs silently skipped. If you checked items but didn't connect
model/clip, the LoRAs just don't apply - there's no red error, just a[FLM]line in the console. Connect both and rerun. - The checklist travels with the workflow. That's the design, but share a workflow file and the whole checklist comes along - including things you'd rather keep local.
- Strengths are clamped to -10..10 and item strengths are remembered per item, so a value that worked gets saved with the checklist.
Reach for it when you're tired of editing prompt text to try one style versus another - check the box, get the LoRA, done.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| items_data | STRING | [] | Checklist items as JSON. Managed by the UI. |
| delimiter | STRING | , | Text placed between the prompts of checked items. |
| prompt_enabled | BOOLEAN | true | Off drops this node's prompt and passes through the incoming one. LoRAs still apply. |
| loras_enabled | BOOLEAN | true | Off skips every LoRA. Each item keeps its own on/off state. |
| prompt | STRING | Prompt of the item whose settings are open. Edited by the UI. | |
| wildcard_seed | INT | 00–18446744073709550000 | Seed for picking wildcard values. The same seed gives the same result. |
| modelopt | MODEL | Connect to apply LoRAs. Without it LoRAs are skipped. | |
| clipopt | CLIP | Connect to apply LoRAs. Without it LoRAs are skipped. | |
| prompt_inopt | STRING | Prompt from a previous node. Prepended when connected. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| prompt | STRING | — |