ZML_强力lora加载器
Browse folders, hover-preview, stack a dozen
- model
- clip
- MODEL
- CLIP
- lora名称列表
- 预览_图
- 触发词
- 自定义文本
ZML_强力lora加载器 is the pack's flagship, and the README is upfront about where the idea came from: it borrows the dynamic multi-LoRA panel from rgthree's Power Lora Loader and the hover-preview / folder conventions from pysss's LoRA loader. The result is a LoRA stack you manage visually - add and remove LoRAs in the node, drag them to reorder, toggle each on and off, set per-LoRA weights, and it applies them all down one MODEL/CLIP pair.
The mechanism is standard LoRA stacking done with nicer ergonomics: each enabled entry resolves to a real .safetensors path in your loras folder, and comfy.sd.load_lora_for_models applies them in order with the weight you set, left-to-right. What's not standard is the data around the stack. The pack's long-standing "zml" folder convention is the core: put a folder named zml inside your lora directory, drop a preview image, a .txt of trigger words, and a .log description in it (same basename as the LoRA), and the node gives you hover previews, auto-trigger-words, and notes per LoRA. The author built a metadata-parsing tool to auto-generate that folder when you download a LoRA, which is the slickest part of the whole ecosystem.
The outputs that matter
- MODEL / CLIP - the stacked model, on to your sampler. Both inputs are optional now, so you can use this purely as a catalog (preview images, trigger words) without a loaded model.
- lora名称列表 (STRING) - every enabled LoRA's name and weight, as a list. This is the killer feature: feed it into the pack's name-based LoRA loader and you can "hand off" the whole stack to a second sampler without re-adding LoRAs by hand. Model-replace workflows with two samplers stop meaning two manual stacks.
- 预览_图 (IMAGE list) - all the preview images, hover-able in the UI and usable as data.
- 触发词 (STRING) - the concatenated trigger words from the txt files. The author's noted workflow: embed LoRA name + trigger + artist string in a saved image's text block, then reload from the image without ever exposing the stack in a shared workflow.
What you set
- model / clip - optional inputs. Connect at least one to actually apply weights; leave both empty and it still catalogs.
- The node's own panel - weights per LoRA, enable toggles, custom names and text (stored in the workflow itself), drag to reorder, folder tree, search box, and a batch-add page. Color theming and a compact mode exist for the masochists.
Where people get burned
The biggest gotcha is a fixed bug: on older versions, if you moved a LoRA after selecting it, the node silently did nothing. Since the 2025.10.13 update it raises an error naming the LoRA the backend can't find - which is annoying but correct, because a silently skipped LoRA is how you waste an hour wondering why a style vanished. So: if it errors, the file moved, re-select it. Second, the workflow-stored custom text and names survive reloads but the visual layout has a known cosmetic quirk after a page refresh - the node shows its default style until you click anything; it's cosmetic, nothing is lost. Third, it's a Chinese-first UI from a one-person 160+-node pack - install the README's translation patch, and file real bugs on the GitHub issues page.
Install
ComfyUI Manager → search ComfyUI-ZML-Image, or:
cd ComfyUI/custom_nodes
git clone https://github.com/zml-w/ComfyUI-ZML-Image
restart. No model downloads - the LoRAs are yours. The pack's requirements.txt is mostly the base torch/numpy/Pillow stack; nothing LoRA-specific beyond what ComfyUI already ships. If you're already on rgthree, this isn't a replacement you need - but the lora-name handoff and the zml preview-folder system are the reasons people keep both.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| modelopt | MODEL | — | |
| clipopt | CLIP | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| lora名称列表 | STRING | — |
| 预览_图 | IMAGE | — |
| 触发词 | STRING | — |
| 自定义文本 | STRING | — |