ComfyUI Node
BSAI LoRA Stack
BSAI LoRA Stack: chain-load up to 12 LoRAs in a single node, aligned with the official ComfyUI LoRA stack semantics (Load LoRA (Model) + Load LoRA (Text Encoder)). Each slot is independent (enable + model + load mode (standard/viggle) + strength + clip_strength). Connect a CLIP to also apply standard-mode LoRAs to the text encoder. The viggle mode embeds the official runtime-injection semantics (diffusion model only); the node-level master_enable switch skips everything; outputs MODEL + CLIP.
BSAI LoRA Stack
- model
- clip
- MODEL
- CLIP
◄master_enabletrue►
◄lora_count3►
◄lora1_enabletrue►
◄lora1_nameNone►
◄lora1_modestandard►
◄lora1_strength1.00►
◄lora2_enabletrue►
◄lora2_nameNone►
◄lora2_modestandard►
◄lora2_strength1.00►
◄lora3_enabletrue►
◄lora3_nameNone►
◄lora3_modestandard►
◄lora3_strength1.00►
◄lora4_enablefalse►
◄lora4_nameNone►
◄lora4_modestandard►
◄lora4_strength1.00►
◄lora5_enablefalse►
◄lora5_nameNone►
◄lora5_modestandard►
◄lora5_strength1.00►
◄lora6_enablefalse►
◄lora6_nameNone►
◄lora6_modestandard►
◄lora6_strength1.00►
◄lora7_enablefalse►
◄lora7_nameNone►
◄lora7_modestandard►
◄lora7_strength1.00►
◄lora8_enablefalse►
◄lora8_nameNone►
◄lora8_modestandard►
◄lora8_strength1.00►
◄lora9_enablefalse►
◄lora9_nameNone►
◄lora9_modestandard►
◄lora9_strength1.00►
◄lora10_enablefalse►
◄lora10_nameNone►
◄lora10_modestandard►
◄lora10_strength1.00►
◄lora11_enablefalse►
◄lora11_nameNone►
◄lora11_modestandard►
◄lora11_strength1.00►
◄lora12_enablefalse►
◄lora12_nameNone►
◄lora12_modestandard►
◄lora12_strength1.00►
◄lora1_clip_strength1.00►
◄lora2_clip_strength1.00►
◄lora3_clip_strength1.00►
◄lora4_clip_strength1.00►
◄lora5_clip_strength1.00►
◄lora6_clip_strength1.00►
◄lora7_clip_strength1.00►
◄lora8_clip_strength1.00►
◄lora9_clip_strength1.00►
◄lora10_clip_strength1.00►
◄lora11_clip_strength1.00►
◄lora12_clip_strength1.00►
Categoryloaders/BSAI
Inputs (64)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| master_enable | BOOLEAN | true | Master switch: when off, all LoRAs are skipped and the input model is passed through unchanged (equivalent to bypassing the whole node). |
| lora_count | INT | 31–12 | Number of active LoRA slots (1~12): default 3; raise to 4 when you need a 4th LoRA. Only the first N rows are shown; the rest are hidden automatically. |
| clipopt | CLIP | Optional CLIP text encoder. When connected, standard-mode LoRAs are also applied to it with each slot's clip_strength (mirrors the official Load LoRA (Text Encoder) stack). viggle-mode LoRAs are diffusion-model only and pass the CLIP through unchanged. | |
| lora1_enableopt | BOOLEAN | true | Enable switch for LoRA slot 1 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora1_nameopt | COMBO | None | LoRA model for slot 1 (dropdown from the loras folder; refreshes with the directory). |
| lora1_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora1_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 1 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora2_enableopt | BOOLEAN | true | Enable switch for LoRA slot 2 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora2_nameopt | COMBO | None | LoRA model for slot 2 (dropdown from the loras folder; refreshes with the directory). |
| lora2_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora2_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 2 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora3_enableopt | BOOLEAN | true | Enable switch for LoRA slot 3 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora3_nameopt | COMBO | None | LoRA model for slot 3 (dropdown from the loras folder; refreshes with the directory). |
| lora3_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora3_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 3 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora4_enableopt | BOOLEAN | false | Enable switch for LoRA slot 4 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora4_nameopt | COMBO | None | LoRA model for slot 4 (dropdown from the loras folder; refreshes with the directory). |
| lora4_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora4_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 4 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora5_enableopt | BOOLEAN | false | Enable switch for LoRA slot 5 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora5_nameopt | COMBO | None | LoRA model for slot 5 (dropdown from the loras folder; refreshes with the directory). |
| lora5_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora5_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 5 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora6_enableopt | BOOLEAN | false | Enable switch for LoRA slot 6 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora6_nameopt | COMBO | None | LoRA model for slot 6 (dropdown from the loras folder; refreshes with the directory). |
| lora6_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora6_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 6 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora7_enableopt | BOOLEAN | false | Enable switch for LoRA slot 7 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora7_nameopt | COMBO | None | LoRA model for slot 7 (dropdown from the loras folder; refreshes with the directory). |
| lora7_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora7_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 7 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora8_enableopt | BOOLEAN | false | Enable switch for LoRA slot 8 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora8_nameopt | COMBO | None | LoRA model for slot 8 (dropdown from the loras folder; refreshes with the directory). |
| lora8_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora8_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 8 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora9_enableopt | BOOLEAN | false | Enable switch for LoRA slot 9 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora9_nameopt | COMBO | None | LoRA model for slot 9 (dropdown from the loras folder; refreshes with the directory). |
| lora9_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora9_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 9 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora10_enableopt | BOOLEAN | false | Enable switch for LoRA slot 10 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora10_nameopt | COMBO | None | LoRA model for slot 10 (dropdown from the loras folder; refreshes with the directory). |
| lora10_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora10_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 10 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora11_enableopt | BOOLEAN | false | Enable switch for LoRA slot 11 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora11_nameopt | COMBO | None | LoRA model for slot 11 (dropdown from the loras folder; refreshes with the directory). |
| lora11_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora11_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 11 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora12_enableopt | BOOLEAN | false | Enable switch for LoRA slot 12 (first 3 slots on by default; turn on a slot to add more LoRAs). |
| lora12_nameopt | COMBO | None | LoRA model for slot 12 (dropdown from the loras folder; refreshes with the directory). |
| lora12_modeopt | COMBO | standard | standard = weight merge (LoraLoaderModelOnly semantics, for ordinary LoRAs); viggle = official runtime injection y=Wx+BAx (weights are not merged; lossless for Viggle/distilled LoRAs under bf16/int8). |
| lora12_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 12 on the diffusion model (0 is treated as skipped; negative reverses the effect). |
| lora1_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 1 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora2_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 2 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora3_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 3 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora4_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 4 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora5_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 5 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora6_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 6 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora7_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 7 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora8_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 8 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora9_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 9 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora10_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 10 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora11_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 11 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
| lora12_clip_strengthopt | FLOAT | 1.00-4–4 | Weight for LoRA slot 12 on the CLIP text encoder (standard mode only; ignored when clip is not connected or mode=viggle). |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |