Load LoRA Model Index (NH)
Index into a wall of LoRAs without a wall of nodes
- model
- model
- filename
- index
Load LoRA Model Index (NH) (class NH_LoraModelIndex) is the model-only half of the NH LoRA-index pair. Where NH_LoraClipIndex patches both the diffusion model and the CLIP, this one patches just the MODEL with one LoRA from a menu of up to 64 - for when you're applying a LoRA that doesn't need its CLIP half touched, or you're deliberately separating the two. Same switching-loader idea, one less input to feed.
How it works
List your LoRAs in the lora_1 … lora_64 dropdowns (lora_count decides how many slots are active), then choose via select_mode:
- index -
index(1-based) picks the slot to apply. - boolean -
enable_Ntoggles; the first enabled slot wins, and if none are enabled it returns a blocked (LoRA-free) model so the workflow doesn't crash.
strength_model is the blend strength. Outputs are model, filename, and index. Note the output list: no clip, because this node only touches the model - if you need both halves patched together, use NH_LoraClipIndex. The dropdowns read straight from models/loras, same as the core loader.
Where you'd actually use it
When a LoRA was trained model-side only, or when you're doing a Model-only LoRA stack and want the CLIP handled elsewhere - a common pattern with certain style/architecture LoRAs that shouldn't affect text encoding. It's also the right pick when your downstream only needs a MODEL input and feeding a patched CLIP would add confusion. Like its sibling, it shines for A/B runs: one graph, drive index from a slider or seed, and flip between LoRAs per run.
Installing
ComfyUI Manager → search NH-Nodes → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/jetthuangai/NH-Nodes.git
cd NH-Nodes
pip install -r requirements.txt
Restart and refresh the browser page. It reads whatever's in models/loras - nothing downloads.
Gotchas
The 1-based index trips people up again - slot lora_1 is index 1, not 0. New LoRAs in models/loras need a browser refresh to show up in the dropdowns. And boolean mode applies only the first enabled slot; no stacking. One genuine limitation versus the core loader: there's a single strength_model shared across all slots, so you can't store per-LoRA strengths in one node - if your LoRAs need different strengths, that's still separate loaders or a slider feeding the strength input.
Inputs (133)
| Name | Type | Default | Description |
|---|---|---|---|
| select_mode | COMBO | index | 2 options: index, boolean |
| model | MODEL | — | |
| index | INT | 11–64 | — |
| lora_count | INT | 51–64 | — |
| strength_model | FLOAT | 1.00-100–100 | — |
| lora_1opt | COMBO | 1 options: | |
| enable_1opt | BOOLEAN | false | — |
| lora_2opt | COMBO | 1 options: | |
| enable_2opt | BOOLEAN | false | — |
| lora_3opt | COMBO | 1 options: | |
| enable_3opt | BOOLEAN | false | — |
| lora_4opt | COMBO | 1 options: | |
| enable_4opt | BOOLEAN | false | — |
| lora_5opt | COMBO | 1 options: | |
| enable_5opt | BOOLEAN | false | — |
| lora_6opt | COMBO | 1 options: | |
| enable_6opt | BOOLEAN | false | — |
| lora_7opt | COMBO | 1 options: | |
| enable_7opt | BOOLEAN | false | — |
| lora_8opt | COMBO | 1 options: | |
| enable_8opt | BOOLEAN | false | — |
| lora_9opt | COMBO | 1 options: | |
| enable_9opt | BOOLEAN | false | — |
| lora_10opt | COMBO | 1 options: | |
| enable_10opt | BOOLEAN | false | — |
| lora_11opt | COMBO | 1 options: | |
| enable_11opt | BOOLEAN | false | — |
| lora_12opt | COMBO | 1 options: | |
| enable_12opt | BOOLEAN | false | — |
| lora_13opt | COMBO | 1 options: | |
| enable_13opt | BOOLEAN | false | — |
| lora_14opt | COMBO | 1 options: | |
| enable_14opt | BOOLEAN | false | — |
| lora_15opt | COMBO | 1 options: | |
| enable_15opt | BOOLEAN | false | — |
| lora_16opt | COMBO | 1 options: | |
| enable_16opt | BOOLEAN | false | — |
| lora_17opt | COMBO | 1 options: | |
| enable_17opt | BOOLEAN | false | — |
| lora_18opt | COMBO | 1 options: | |
| enable_18opt | BOOLEAN | false | — |
| lora_19opt | COMBO | 1 options: | |
| enable_19opt | BOOLEAN | false | — |
| lora_20opt | COMBO | 1 options: | |
| enable_20opt | BOOLEAN | false | — |
| lora_21opt | COMBO | 1 options: | |
| enable_21opt | BOOLEAN | false | — |
| lora_22opt | COMBO | 1 options: | |
| enable_22opt | BOOLEAN | false | — |
| lora_23opt | COMBO | 1 options: | |
| enable_23opt | BOOLEAN | false | — |
| lora_24opt | COMBO | 1 options: | |
| enable_24opt | BOOLEAN | false | — |
| lora_25opt | COMBO | 1 options: | |
| enable_25opt | BOOLEAN | false | — |
| lora_26opt | COMBO | 1 options: | |
| enable_26opt | BOOLEAN | false | — |
| lora_27opt | COMBO | 1 options: | |
| enable_27opt | BOOLEAN | false | — |
| lora_28opt | COMBO | 1 options: | |
| enable_28opt | BOOLEAN | false | — |
| lora_29opt | COMBO | 1 options: | |
| enable_29opt | BOOLEAN | false | — |
| lora_30opt | COMBO | 1 options: | |
| enable_30opt | BOOLEAN | false | — |
| lora_31opt | COMBO | 1 options: | |
| enable_31opt | BOOLEAN | false | — |
| lora_32opt | COMBO | 1 options: | |
| enable_32opt | BOOLEAN | false | — |
| lora_33opt | COMBO | 1 options: | |
| enable_33opt | BOOLEAN | false | — |
| lora_34opt | COMBO | 1 options: | |
| enable_34opt | BOOLEAN | false | — |
| lora_35opt | COMBO | 1 options: | |
| enable_35opt | BOOLEAN | false | — |
| lora_36opt | COMBO | 1 options: | |
| enable_36opt | BOOLEAN | false | — |
| lora_37opt | COMBO | 1 options: | |
| enable_37opt | BOOLEAN | false | — |
| lora_38opt | COMBO | 1 options: | |
| enable_38opt | BOOLEAN | false | — |
| lora_39opt | COMBO | 1 options: | |
| enable_39opt | BOOLEAN | false | — |
| lora_40opt | COMBO | 1 options: | |
| enable_40opt | BOOLEAN | false | — |
| lora_41opt | COMBO | 1 options: | |
| enable_41opt | BOOLEAN | false | — |
| lora_42opt | COMBO | 1 options: | |
| enable_42opt | BOOLEAN | false | — |
| lora_43opt | COMBO | 1 options: | |
| enable_43opt | BOOLEAN | false | — |
| lora_44opt | COMBO | 1 options: | |
| enable_44opt | BOOLEAN | false | — |
| lora_45opt | COMBO | 1 options: | |
| enable_45opt | BOOLEAN | false | — |
| lora_46opt | COMBO | 1 options: | |
| enable_46opt | BOOLEAN | false | — |
| lora_47opt | COMBO | 1 options: | |
| enable_47opt | BOOLEAN | false | — |
| lora_48opt | COMBO | 1 options: | |
| enable_48opt | BOOLEAN | false | — |
| lora_49opt | COMBO | 1 options: | |
| enable_49opt | BOOLEAN | false | — |
| lora_50opt | COMBO | 1 options: | |
| enable_50opt | BOOLEAN | false | — |
| lora_51opt | COMBO | 1 options: | |
| enable_51opt | BOOLEAN | false | — |
| lora_52opt | COMBO | 1 options: | |
| enable_52opt | BOOLEAN | false | — |
| lora_53opt | COMBO | 1 options: | |
| enable_53opt | BOOLEAN | false | — |
| lora_54opt | COMBO | 1 options: | |
| enable_54opt | BOOLEAN | false | — |
| lora_55opt | COMBO | 1 options: | |
| enable_55opt | BOOLEAN | false | — |
| lora_56opt | COMBO | 1 options: | |
| enable_56opt | BOOLEAN | false | — |
| lora_57opt | COMBO | 1 options: | |
| enable_57opt | BOOLEAN | false | — |
| lora_58opt | COMBO | 1 options: | |
| enable_58opt | BOOLEAN | false | — |
| lora_59opt | COMBO | 1 options: | |
| enable_59opt | BOOLEAN | false | — |
| lora_60opt | COMBO | 1 options: | |
| enable_60opt | BOOLEAN | false | — |
| lora_61opt | COMBO | 1 options: | |
| enable_61opt | BOOLEAN | false | — |
| lora_62opt | COMBO | 1 options: | |
| enable_62opt | BOOLEAN | false | — |
| lora_63opt | COMBO | 1 options: | |
| enable_63opt | BOOLEAN | false | — |
| lora_64opt | COMBO | 1 options: | |
| enable_64opt | BOOLEAN | false | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| filename | STRING | — |
| index | INT | — |