ComfyUI-node-Lilly
install
Go to ./custom_nodes and clone git repo:
cd ./custom_nodes
git clone https://github.com/kuriot/ComfyUI_node_Lilly.git
or https://github.com/lilly1987/ComfyUI_node_Lilly/archive/refs/heads/main.zip install this like
wildcards
ex - wildcard
form :
a{b|{c|}|{d|e|}|f|}g____ myto :
aeg quality_my, breasts, { |character_dress|dress_my}, shoulder, {high heels,| } {choker,| } {lora:__lora_lst__:__rora_num__,| } NSFW, NSFW_my, { |style_my,}
ex : {3$$a1|{b2|c3|}|d4|{-$$|f|g}|{-2$$h||i}|{1-$$j|k|}}/{$$l|m|}/{0$$n|}
{1|2|3} -> 1 or 2 or 3
{2$$a|b|c} -> a,b or b,c or c,a or bb or ....
{9$$a|b|c} -> {3$$a|b|c} auto fix max count
{1-2$$a|b|c} -> 1~2 random choise
{-2$$a|b|c} -> {0-2$$a|b|c} 0-2
{1-$$a|b|c} -> {0-3$$a|b|c} 1-max
{-$$a|b|c} -> {0-3$$a|b|c} 0-max
ex - wildcard text file use
~/a/b.txt
1
~/b.txt
2
b to 1 or 2
/b to 2
/a/b to 1
?b to 2
* to 1 or 2
filename pattern matching
* is matches everything
? is matches any single character
[seq] is matches any character in seq
[!seq] is matches any character not in seq
run sample
python wildcards.py
python sample
import wildcards as w
# 가져올 파일 목록. get wildcards file
w.card_path=os.path.dirname(__file__)+"\\wildcards\\**\\*.txt"
# 실행 run
print(w.run("a{__b__|{c|}|{__d__|e|}|f|}g____ __my__"))
txt file (supports .txt files in different encodings.)
from
# 주석 comment
a,b
{b|c|__anotherfile__}
__anotherfile__
result
a,b
b
c
__anotherfile__
reload card
call wildcards.card_load() or wildcards.run("{9$$-$$a|b|c}",True)
for ComfyUI
CLIPTextEncodeWildcards
CLIPTextEncodeWildcards : no seed
CLIPTextEncodeWildcards : seed
SimpleSampler+modelVAE
include wildcards
SimpleSampler
include wildcards
SimpleSamplerVAE
include wildcards
VAELoaderText , LoraLoaderText , CheckpointLoaderSimpleText
support file name Wildcard(?*)
random_sampler_node.py
VAELoaderDecode.py
Description
```
ex : {3$$a1|{b2|c3|}|d4|{-$$|f|g}|{-2$$h||i}|{1-$$j|k|}}/{$$l|m|}/{0$$n|}
{1|2|3} -> 1 or 2 or 3
{2$$a|b|c} -> a,b or b,c or c,a or bb or ....
{9$$a|b|c} -> {3$$a|b|c} auto fix max count
{1-2$$a|b|c} -> 1~2 random choise
{-2$$a|b|c} -> {0-2$$a|b|c} 0-2
{1-$$a|b|c} -> {0-3$$a|b|c} 1-max
{-$$a|b|c} -> {0-3$$a|b|c} 0-max
```
FAQ
Comments (3)
Having some trouble with the wildcards, ComfyUI doesn't attempt to re-read the prompt across multiple generations, so it gets "stuck" on one entry in the wildcards list.
Same here. It seems one has to make a minor change (e.g. append/remove a space) to put the node into a "dirty" state so it es re-evaluated instead of using the previous (cached) state.
I provided a quick pull request on github that could fix this issue, unless there are better options to do this that I don't know of (just started working with ComfyUI yesterday): https://github.com/lilly1987/ComfyUI_node_Lilly/pull/3
I'm currently playing with my modified version and at first glance it looks quite good. I added a seed to the node so that one can choose between "new seed every gen" which, if enabled, will result in a new random prompt being generated for every invocation plus prompts can be reproduced by using the same seed (stored in PNG metadata alongside the wildcard prompt) which should work unless the wildcard text files were modified.










