| # ComfyUI-Lora-Auto-Trigger-Words | |
| This project is a fork of https://github.com/Extraltodeus/LoadLoraWithTags | |
| The aim of these custom nodes is to get an _easy_ access to the tags used to trigger a lora. | |
| This project is compatible with Stacked Loras from https://github.com/LucianoCirino/efficiency-nodes-comfyui/releases | |
| I talk about **lora**, but works with **lycoris** too. | |
| ## Install | |
| Some of this project nodes depends on https://github.com/pythongosssss/ComfyUI-Custom-Scripts : | |
| - LoraLoaderAdvanced | |
| - LoraLoaderStackedAdvanced | |
| They get their vanilla equivalents. | |
| Overall, Custom-Scripts is recommended to be able to know the content of the tag lists with the node `showText` | |
| ## Features | |
| ### Main nodes | |
| #### Vanilla vs Advanced | |
| Vanilla refers to nodes that have no lora preview from the menu, nor the lora list. But the features provided are the same. | |
|  | |
| #### Nodes | |
| - LoraLoader (Vanilla or Advanced) | |
| - LoraLoaderStacked (Vanilla or Avanced). The stacked lora input is optional. | |
| Allow to load a lora, either the normal way, or the efficiency-nodes way. | |
| These loaders have two custom outputs: | |
| - civitai_tags_list: a python list of the tags related to this lora on civitai | |
| - meta_tags_list: a python list of the tags used for training the lora embeded in it (if any) | |
| This outputs needs to be filtered by two othere nodes: | |
| - TagsFormater: Helper to show the available tag and their indexes | |
| - tagsSelector: allow to filter tags and apply a weight to it. | |
| - TagSelector contains four parameters. First the selector (see Filtering next) | |
| - The weight `(tag:weight)` | |
| - The boolean `ensure_comma`. To properly append comma if a prefix or suffix is added. | |
| - The boolean `append_loraname_if_empty` which will add the name of the lora in the list of outputs if they are empty. | |
| #### Filtering | |
| The format is simple. It's the same as python list index, but can select multiple index or ranges of indexes separated by comas. | |
| `Ex: 0, 3, 5:8, -8:` | |
| - Select a specific list of indexes: `0, 2, 3, 15`... | |
| - Select range of indexes: `2:5, 10:15`... | |
| - Select a range from the begining to a specific index: `:5` | |
| - Select a range from a specific index to the end: `5:` | |
| - You can use negative indexes. Like `-1` to select the last tag | |
| - By default `:` selects everything | |
| #### Example of normal workflow | |
|  | |
| #### Example of Stacked workflow | |
|  | |
| #### Chaining Selectors and Stacked | |
| Tags selectors can be chained to select differents tags with differents weights `(tags1:0.8), tag2, (tag3:1.1)`. | |
| Lora Stack can also be chained together to load multiple loras into an efficient loaders. | |
|  | |
| ### Side nodes I made and kept here | |
| - FusionText: takes two text input and join them together | |
| - Randomizer: takes two couples text+lorastack and return randomly one them | |
| - TextInputBasic: just a text input with two additional input for text chaining | |