LoRALoader_Text
The LoRA loader for 'one workflow, fifty characters' — swap LoRAs by editing a string
- model
- clip
- MODEL
- CLIP
LoRALoader_Text is core LoraLoader with lora_name turned into a text box instead of a dropdown. Of the four nodes in ComfyUI_Textarea_Loaders, this is the flagship - the README's motivating example is literally about LoRAs: "there are many characters in different loras respectively. If you want to generate different characters' pictures, you have to select corresponding lora, and then edit the prompt." The grind is real if you've ever done it: workflow, LoRA dropdown, prompt, queue, repeat, for twenty characters.
This node makes the LoRA choice a plain string, which means something else can change it. The author's intended pairing is his companion Chrome extension (ComfyUI-Prompt-Formatter-Extension), which edits these text widgets and queues prompts for you - the "massive loras and prompt" batch job. If you drive ComfyUI from scripts or its API, the same logic applies: the LoRA becomes data your automation writes, not a menu you navigate.
Honest counterpoint, same as the rest of the pack: if you're sitting at the keyboard clicking, the dropdown on the stock node is better. It lists what's installed and protects you from typos. Use this when the value is coming from outside.
How it works
Under the hood it's a faithful copy of core LoraLoader, including the caching. The class keeps the last LoRA it loaded in memory per node instance; if you feed it the same filename again it skips re-reading the file from disk, and if you switch names it discards the old one and loads the new. For a swap-heavy batch workflow that's the right behavior - each distinct LoRA is read once instead of every queue. The actual application goes through comfy.sd.load_lora_for_models, the same path the stock node uses, so any LoRA that works in core ComfyUI works here.
The inputs that matter
modelandclip- wire these from your checkpoint, exactly like the stock loader.lora_name- the filename, extension included, matching the file inmodels/loras(or any folder registered as a loras path). No autocomplete, no fuzzy matching;get_full_pathchecks the literal string.strength_modelandstrength_clip- floats, default 1.0, range −100 to 100. Two things worth knowing: if both are 0 the node returns the inputs untouched (a built-in bypass), and negative strengths are legal - setstrength_modelto −1 and you're subtracting a LoRA, which is a genuinely handy trick for un-applying an effect.
Outputs are MODEL and CLIP, wired onward exactly as with the stock node - MODEL into the sampler, CLIP into the text encoder.
How to install
The pack is dependency-free - no requirements.txt, no model downloads, just ComfyUI's own internals plus Pillow/numpy/torch already present.
- Via ComfyUI Manager: search "ComfyUI_Textarea_Loaders", install, restart.
- Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Sieyalixnet/ComfyUI_Textarea_Loaders
Restart and it appears under TextFormatter > BasicNodes.
Common issues
- "LoRA file not found" errors: a typo or a missing
.safetensorsextension. The text field won't catch your mistakes the way a dropdown would. - The cache can lie about disk state: since the node holds the last LoRA it loaded in memory, if you replace a
.safetensorson disk, an existing node instance may keep serving the old one until it loads a different name (or ComfyUI restarts). Rename-the-file-but-keep-the-name cases are exactly where this bites. - Same trap as the whole pack: if nothing external is writing that text field, the dropdown is the better tool. This node earns its keep only when the LoRA name is a value your automation controls.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| lora_name | STRING | — | |
| strength_model | FLOAT | 1.00-100–100 | — |
| strength_clip | FLOAT | 1.00-100–100 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |