Anima Wildcard LoRA
Wildcards that can also drag LoRAs along for the ride
- lora_stack
- text
- seed
- LORA_STACK
The same wildcard node, plus a LoRA pickup line
Anima Wildcard expands __name__ tokens and {a|b|c} choices into real prompt text. This is that node - same inputs, same four modes, same seeded determinism - with one genuinely useful addition: it also recognizes <lora:...> tags in the prompt, strips them out of the text, and hands them to you as a proper LORA_STACK you can wire straight into a LoRA loader. No regex wrangling, no "my LoRA name ended up as literal text in my prompt" surprise.
It exists because on ANIMA (Circlestone's 2B anime model, which the whole EasyUse Anima pack orbits) LoRA stacking is the main way people bend the base aesthetic toward a specific character or style. If your wildcard files select both scenery and a character LoRA, this node lets one pass do both jobs.
How it works
It runs the identical wildcard engine as the base node, then post-processes the expanded output. Any <lora:name:strength> or <lora:name:strength:clip> tag (the single-bracket A1111 form) - and the double-bracket <<lora:...>> form ComfyUI-Lora-Manager uses - is pulled out of the text. If no clip strength is given, the model strength is used for both. The tag disappears from the prompt, and the node resolves it against your models/loras folder into a stack entry.
The output LORA_STACK is your optional input stack (if you fed one in) followed by whatever the prompt referenced, in prompt order. The base node's lora_stack input is optional and just gets prepended - handy when you have a "always on" style LoRA plus prompt-driven ones.
Inputs and outputs that matter
Same set as the base node: text, mode, seed, and populated_text with the same General / Fixed / Sequential / Reproduce behavior, plus one optional lora_stack input for your always-on LoRAs. Outputs are text (the expanded prompt, LoRA tags removed), seed, and LORA_STACK (the merged, ordered stack).
The workflow shape is: text → this node → text into CLIP Text Encode and LORA_STACK into a LoraLoader. Or feed LORA_STACK into the AiO Generator if you're running the pack's all-in-one flow.
Installing it
Same pack, same install as the base node - you get both at once. ComfyUI Manager (search "ComfyUI EasyUse Anima") or:
cd ComfyUI/custom_nodes
git clone https://github.com/n0va39/ComfyUI-EasyUseAnima
pip install -r ComfyUI-EasyUseAnima/requirements.txt
Restart, and the default wildcard folder ComfyUI/user/__easyuse_anima/wildcards/ is created for you. Register extra wildcard folders in Settings → EasyUse Anima → Wildcard. The only real dependency to think about: LoRA tag names are resolved against whatever's actually in your models/loras folder, so a typo in a <lora:...> tag leaves you with a missing-LoRA error down the line rather than silently nothing.
Gotchas
- Order matters - extracted LoRAs append after your input stack, in prompt order. If a wildcard references three LoRAs, that's three stack entries.
- Naming - the node handles A1111's
<lora:name:1.0>and LoraManager's<<lora:name:1.0>>, but it needs the name to match the file inmodels/loras. LoraManager's whole point is keeping those names tidy; if your LoRA filenames arev1.2_merge_final_fixed.safetensorsnoise, fix the filenames or you'll be chasing resolution failures. - Same wildcard gotchas as the base node - missing wildcard files show up in the node's status, and huge seeds can exceed browser integer precision.
It's a thin wrapper, honestly - but it's the wrapper that turns prompt-side LoRA tags into something a ComfyUI graph can actually consume, which is the part people usually end up hand-rolling. Nice to have it built in.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Source prompt expanded by General and Sequential modes. Syntax: __name__; {a|b|c}; weighted N::item; {n$$...} or {min-max$$separator$$...}; N#__name__; and nested combinations. Wildcard names ignore case and support * glob collections. Only lines whose first non-space character is # are removed as comments. | |
| populated_text | STRING | Expanded-result cache used like Impact Pack's populated_text. General and Sequential replace it from text; Fixed and Reproduce ignore text and process this value with the same wildcard engine, including file wildcards. | |
| mode | COMBO | 일반 | General (일반): expand text with deterministic seed-based choices and cache the result in populated_text. Fixed (고정): ignore text and process populated_text with the same wildcard engine. Sequential (순차): expand text with seed modulo each option count. Reproduce (재현): process populated_text once, then return the live and saved mode to General like Impact Pack. |
| seed | INT | 00–18446744073709550000 | Seed for deterministic weighted random selection. The same text and seed produce the same result. Browser/public editing and next-seed range: 0..9007199254740991. The Python backend continues accepting uint64 values for legacy workflow validation, but values above the public maximum are best-effort in the browser because JavaScript may already have lost integer precision. ComfyUI's native seed control owns any post-queue randomize, increment, or decrement behavior. |
| lora_stackopt | LORA_STACK | Optional LoRA stack. Wildcard-expanded prompt LoRAs are appended in prompt order. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| text | STRING | Expanded prompt text. |
| seed | INT | Seed used for this expansion. |
| LORA_STACK | LORA_STACK | Input LoRA stack followed by LoRAs extracted after wildcard expansion. |