fix/concept-list-pick-repeat
The pick window stepped by max_count, so when max_count shared a divisor with the list size, the window start could only ever land on n/gcd step positions: e.g. 12 items with max_count 4 produced only 3 distinct sets, repeating every 3 seeds (and re-rolling the same set 1/3 of the time with randomized seeds). Choose the step per list size: coprime with n so every start position is visited before any repeat, and kept in [max_count, n - max_count] so consecutive seeds still never overlap. When max_count exceeds half the list size the goals conflict; coverage wins and overlap margin is kept maximal. Verified optimal over all list sizes up to 40 and all count ranges.
ComfyUI-bby-nodes
A custom node pack for ComfyUI.
Installation
Clone into your ComfyUI custom_nodes directory:
cd custom_nodes
git clone https://github.com/Eonizer/ComfyUI-bby-nodes
Restart ComfyUI.
Nodes
TagFilterNode
Filters a comma/newline-separated list of tags against a reference tag list.
Outputs:
filtered_tags— tags that matched the reference listmissing_tags— tags from the reference list not found in the input
Options:
- Match mode:
exactorpartial - Case sensitivity toggle
- Underscore-stripping
Concept Picker
Code picks the concepts, the LLM only writes the prompt.
- Concept List — one per category (subject, setting, style…); chain them together via the
conceptssocket. Picks betweenmin_countandmax_countitems (the seed picks the count) from a newline-separated list (#lines are comments).- Seed control:
fixed= same pick every run,randomize= new pick every run,increment= walks the whole list with no repeats. pin— type a value to force it, ignoring the list.file— load the list from a.txtfile in the pack'slists/folder (subfolders allowed) instead of theitemsbox. PressRin ComfyUI to refresh the dropdown after adding files; editing a selected file re-runs the node.file_path— or type a path to a.txtlist anywhere the ComfyUI machine can read, e.g.D:\lists\subjects.txtor a network share\\server\share\subjects.txt(surrounding quotes,~and%VARS%are fine; relative paths start inlists/). Overridesfile.
- Seed control:
- Concept Prompt Builder — turns the chain into
user_prompt+system_promptstrings for any LLM node (e.g. "OpenAI API - Chat Completion").extra_detailslimits how many details the model may add;{extra}in the system prompt is replaced with that rule. - Aspect Ratio From Text — reads an
[AR:2:3]tag from the LLM reply and outputs the nearest "Resolution (CRT)" dropdown value, the reply with the tag removed, and width/height for the given megapixels.
Languages
HTML
46.1%
Python
37.9%
JavaScript
16%