A powerful multi-LoRA management node for ComfyUI with optional LTX2 layer-specific strength control, drag-and-drop reordering, and rgthree LoRA info integration.
Renamed from Power LTX LoRA Loader Extra. If you have existing workflows using the old node, see Migration below.
- Multi-LoRA Support: Load and apply multiple LoRAs simultaneously with individual strength controls
- Two Modes:
- Standard mode: Single strength value per LoRA, applied uniformly via ComfyUI's built-in loader
- LTX mode: Per-layer strength control for LTX2 video/audio models (enable via the LTX checkbox)
- LTX Layer Controls (when LTX mode is enabled):
- STR (Strength Model): Overall model strength
- Vid (Video): Video attention layers
- V2A (Video-to-Audio): Cross-modal attention (video to audio)
- Aud (Audio): Audio-specific layers
- A2V (Audio-to-Video): Cross-modal attention (audio to video)
- Other: Remaining network components
- Intuitive UI: Drag-and-drop row reordering, toggle enable/disable, click-to-edit or drag-to-slide values
- Drag-and-Drop File Import: Drop LoRA files onto the node to quickly add them — matches by filename against your existing LoRA library
- Missing LoRA Detection: LoRAs that no longer exist on disk are shown with red strikethrough text on session load, so you can spot moved or deleted files at a glance
- rgthree LoRA Info Integration: Right-click any LoRA name to open the rgthree LoRA info dialog (requires rgthree-comfy). LoRAs with fetched info display a circled info badge next to their name (green for Civitai data, gray for local info). Fetching new info from Civitai in the dialog updates the badge immediately on close
- Optional Model/CLIP Input: Use as a standalone LoRA manager even without model or CLIP connected
- JSON Output: Export a rich JSON structure of all selected LoRAs for external processing
- Raw Config Editor: Click the cog button to copy/paste the entire LoRA configuration as JSON
- Sidecar Metadata Support: Automatically loads metadata from
.jsonsidecar files alongside LoRA weights - MultiLoRA Cycle (companion node): Automatically iterate through LoRAs at multiple strengths for batch testing — ideal for evaluating training checkpoints
- Parse JSON (companion node): Convert the
lora_dataJSON output into a Python object for use with scripting nodes like rgthree's Power Puter
-
Clone or download this repository into your ComfyUI
custom_nodesdirectory:cd ComfyUI/custom_nodes git clone https://github.com/phazei/ComfyUI-MultiLoraLoader.git -
Restart ComfyUI or reload the browser page.
-
The node will appear in the node menu under Loaders > Multi LoRA Loader. You can also search for "power lora loader", "lora stack", or "multi lora".
- Add a Multi LoRA Loader node
- Connect model and/or CLIP inputs (both optional)
- Click + Add LoRA to add rows
- Click the LoRA name field to open a menu of available LoRAs
- Adjust strength values by:
- Dragging left/right for fine control
- Single clicking to type an exact value
- Toggle the dot on/off to enable/disable individual LoRAs
- Drag rows by the grip handle to reorder
- Click the X to delete a row
- Enable the LTX checkbox to show per-layer strength columns
| Element | Action | Purpose |
|---|---|---|
| LTX (Checkbox) | Click | Toggle LTX per-layer mode on/off |
| Cog | Click | Open raw JSON editor for copy/paste/sharing |
| Grip | Drag vertically | Reorder LoRA rows |
| Dot (Toggle) | Click | Enable/disable the LoRA |
| LoRA Name | Left-click | Open LoRA selection menu |
| LoRA Name | Right-click | Show LoRA Info (requires rgthree-comfy) |
| Info badge | — | Indicates fetched LoRA info (green = Civitai, gray = local) |
| — | LoRA file not found on disk (hover for tooltip) | |
| STR / Vid / V2A / Aud / A2V / Other | Drag or click | Adjust strengths |
| X (Trash) | Click | Delete the row |
| + Add LoRA | Click | Add a new empty row |
| Drop zone | Drop files | Drop LoRA files to add by filename match (files must already be in your loras directory) |
Note on drag-and-drop: No files are copied — this is a shortcut for selecting LoRAs from the menu. Dropped files are matched by filename (case-insensitive) against LoRAs already in your ComfyUI
models/lorasdirectory. If a file isn't found, an alert lists the unmatched filenames.
Inputs (all optional):
- model: Model to apply LoRAs to
- clip: CLIP to apply LoRAs to (standard mode only)
- load_options: Connect a MultiLoRA Cycle node here for automated iteration
Outputs:
- model: The input model with all active LoRAs applied
- clip: The input CLIP with LoRAs applied (standard mode only; LTX mode passes CLIP through unchanged)
- lora_data: JSON string containing metadata for all selected LoRAs (enabled and disabled)
This node integrates with rgthree-comfy for LoRA metadata viewing:
- Right-click any LoRA name and select Show LoRA Info to open rgthree's info dialog with Civitai data, trained words, sample images, and editable notes
- LoRAs that have fetched info display a small circled info badge next to their name:
- Green badge: Civitai data has been fetched
- Gray badge: Local info file exists
- No badge: No info available yet (use the dialog to fetch it)
Info is cached after first fetch, so toggling, reordering, or adding LoRAs won't cause badge flicker. Closing the info dialog after fetching new data from Civitai automatically refreshes the badge.
If rgthree-comfy is not installed, the info features are simply not shown.
The lora_data output includes all LoRAs with selected weights:
[
{
"name": "my_lora.safetensors",
"path": "/path/to/my_lora.safetensors",
"enabled": true,
"strength_model": 1.0,
"video": 0.8,
"video_to_audio": 1.0,
"audio": 0.5,
"audio_to_video": 1.0,
"other": 1.0,
"metadata": {...}
}
]The easiest way to share or batch-edit your LoRA configuration:
- Click the cog button in the header of the node
- Copy the compact JSON from the dialog
- Edit it in your text editor
- Paste the edited JSON back and press Enter
- Invalid JSON is ignored and the config stays unchanged
Example config:
[{"on":true,"lora":"style_lora.safetensors","str":1.0,"vid":0.8,"v2a":1.0,"aud":0.5,"a2v":1.0,"other":1.0},{"on":false,"lora":"face_detail.safetensors","str":0.7,"vid":1.0,"v2a":1.0,"aud":1.0,"a2v":1.0,"other":1.0}]You can also hand-edit workflows in the saved JSON file:
- Open the workflow JSON file
- Locate your node's
properties.lora_datafield - Edit the LoRA list directly
- Save and reload in ComfyUI
Automatically iterates through LoRAs in your Multi LoRA Loader at multiple strength values across queue runs. Designed for batch-testing LoRA training checkpoints — load all your checkpoints into the loader, set a list of strengths to test, and let it cycle through every combination.
- Add LoRAs to your Multi LoRA Loader (via the UI, cog button, or drag-and-drop)
- Add a MultiLoRA Cycle node (found under Loaders)
- Connect its
load_optionsoutput to the loader'sload_optionsinput - Set your test strengths as a comma-separated list (e.g.
0.5,0.75,1.0,1.25) - Set
modetoincrement - Enable auto-queue in ComfyUI and hit Queue
The cycle node walks through every LoRA at every strength, one per queue run. The loader's UI updates in real time to show which LoRA is active and at what strength.
| Widget | Type | Description |
|---|---|---|
| strengths | STRING | Comma-separated strength values to test (e.g. 0.5,0.75,1.0). Negative and zero values are valid. |
| lora_index | INT | Current LoRA position (1-based). Auto-incremented when all strengths for the current LoRA are exhausted. |
| strength_index | INT | Current strength position (1-based). Auto-incremented each queue run. |
| mode | COMBO | increment auto-advances each run; fixed stays on the current indices. |
| loop | BOOLEAN | When all combinations are exhausted, wrap back to the start instead of stopping. |
The node shows a status line at the bottom:
my_training-000800 (3/7) | STR: 0.75 (2/4)
This tells you: LoRA 3 of 7 is active, at strength value 2 of 4 (0.75). When all combinations are done and loop is off, it shows Done (7 LoRAs x 4 strengths).
- Each queue run increments
strength_index - When
strength_indexexceeds the number of strengths, it resets to 1 andlora_indexadvances - When
lora_indexexceeds the number of LoRAs: wraps to 1 ifloopis on, or stops (all LoRAs disabled) if off - The first queue run after setting up uses the current indices as-is (no increment on the first run)
- Stop auto-queue at any time — the indices stay where they are
- Manually adjust
lora_indexorstrength_indexto jump to any position - The display updates immediately when you change the indices
When output files are generated, the cycle node's mode is automatically saved as fixed in the workflow metadata. This means loading a workflow from an output file won't accidentally start auto-cycling — you'll see the exact LoRA and strength that produced that output.
Converts a JSON string into a native Python object (list, dict, number, etc.). Connect it to the Multi LoRA Loader's lora_data output to feed structured LoRA data to nodes that accept any-type inputs.
| Port | Type | Description |
|---|---|---|
| json_string (input) | STRING | A JSON-encoded string (e.g. the lora_data output) |
| data (output) | * (any) | The parsed Python object |
This node pairs well with rgthree-comfy's Power Puter node, which lets you write inline Python expressions in your workflow. Connect the Parse JSON output to a Power Puter input to extract and format LoRA information.
Example: Generate a text overlay showing active LoRA names and strengths:
'\n'.join([l['name'].split('\\')[-1].rsplit('.', 1)[0] + ': ' + str(l['strength_model']) for l in a if l['enabled']]) if a else 'No active loras'This produces output like:
my_training-000800: 0.75
style_lora: 1.0
This node was previously called Power LTX LoRA Loader Extra. If you load an old workflow:
- The old node will appear with a "Node Renamed" notice and your LoRA data visible in a text box
- Copy the JSON data from the text box
- Add a new Multi LoRA Loader node
- Click the cog button on the new node and paste the data in
- Enable the LTX checkbox if your workflow used LTX layer-specific strengths
- Delete the old deprecated node
- The LoRA file was not found in your
models/lorasdirectory - It may have been moved, renamed, or deleted
- Hover over the name for a "LoRA file not found" tooltip
- The LoRA will be skipped during execution but its configuration is preserved
- Ensure the LoRA file is in your ComfyUI
models/lorasdirectory - Refresh the page or restart ComfyUI
- Disabled LoRAs (toggle off) are kept in your configuration but not applied
- Your full configuration including disabled LoRAs is preserved in the workflow
- Drag the node's resize handle to make it narrower
- The node enforces a minimum width of 500px
- Requires rgthree-comfy to be installed
- If rgthree is not available, the info features are silently disabled
Apache 2.0. See LICENSE file.
Built on the Power Lora Loader concept by rgthree, extended with multi-LoRA management, LTX2 layer-specific strength control, and rgthree info dialog integration.
Contributions, bug reports, and feature requests are welcome! Please open an issue or submit a pull request at github.com/phazei/ComfyUI-MultiLoraLoader.


