Nodes/SmartNode1000/SN1000 Lora Checklist
ComfyUI Node

SN1000 Lora Checklist

The checklist node that keeps prompt and LoRA together

By 1000Pro-1997·Created about a month ago·Updated 23 days ago· 0
SN1000 Lora Checklist
  • model
  • clip
  • MODEL
  • CLIP
  • prompt
items_data[]
delimiter,
prompt_enabledtrue
loras_enabledtrue
prompt
wildcard_seed0
prompt_in

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. A prompt_in from 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 your models/loras folder; 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 using wildcard_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 through prompt_in untouched. 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.

CategorySN1000

Inputs (9)

NameTypeDefaultDescription
items_dataSTRING[]Checklist items as JSON. Managed by the UI.
delimiterSTRING, Text placed between the prompts of checked items.
prompt_enabledBOOLEANtrueOff drops this node's prompt and passes through the incoming one. LoRAs still apply.
loras_enabledBOOLEANtrueOff skips every LoRA. Each item keeps its own on/off state.
promptSTRINGPrompt of the item whose settings are open. Edited by the UI.
wildcard_seedINT00–18446744073709550000Seed for picking wildcard values. The same seed gives the same result.
modeloptMODELConnect to apply LoRAs. Without it LoRAs are skipped.
clipoptCLIPConnect to apply LoRAs. Without it LoRAs are skipped.
prompt_inoptSTRINGPrompt from a previous node. Prepended when connected.

Outputs (3)

NameTypeDescription
MODELMODEL
CLIPCLIP
promptSTRING