Dual Prompts - PromptDrafter + Loaded Loras
Save the LoRA stack with the prompt
- positive_prompt
- negative_prompt
- loaded_loras
- lora_stack
- positive_raw
- negative_raw
The most annoying thing about a good SDXL or Pony prompt is that it never travels alone - the same combination of positive, negative, and a specific set of LoRAs is what actually produced the look you like. Dual Prompts - PromptDrafter + Loaded Loras is the pack's answer to that: it takes the Dual Prompt node's save/load system and binds the LoRA string to it, so you save and restore the whole recipe as one unit instead of reconstructing it from memory.
Mechanically it's the Dual Prompt node with a lora_string field bolted on, plus a parsing step. The node reads <lora:name:0.8> entries out of that field and turns them into a lora_stack output - a LORA_STACK typed value, each entry a tuple of the LoRA's full relative path plus model and CLIP strengths. It resolves bare filenames to real paths by searching ComfyUI's registered lora folders, which was an actual fix in v1.3.1; before that, the stack carried just the bare filename and downstream LoRA-applying nodes couldn't find the file.
The integration that makes it interesting
Where this node earns its keep is its handshake with ComfyUI-Lora-Manager. The workflow: connect a LoRA Manager node's loaded_loras output into this node's lora_string input, turn on push_lora_on_load, and the JS frontend syncs state bidirectionally - loading a saved prompt+LoRA combination pushes the saved LoRAs upstream into the LoRA Manager node, and edits you make there flow back so you can re-save the whole bundle. It's genuinely useful for keeping a character's look intact across sessions. Caveat: you need LoRA Manager installed for any of that to happen; without it, lora_string is just a text field and lora_stack is a value most nodes won't know what to do with.
Inputs and outputs worth knowing
positive_prompt,negative_prompt- the usual green/red pair, wildcard support included.lora_string-<lora:name:strength>entries, typed or wired from LoRA Manager.push_lora_on_load- the bidirectional sync toggle described above. Off by default.- Outputs:
positive_prompt/negative_prompt(wire to CLIP encodes),loaded_loras(the raw string, for logging or reference),lora_stack(the parsed LORA_STACK), andpositive_raw/negative_raw(wildcards applied, prefix/suffix skipped).
Install and troubleshooting
ComfyUI Manager (search "PromptDrafter") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Carasibana/ComfyUI-PromptDrafter
Restart. No extra dependencies beyond ComfyUI, though the LoRA Manager integration obviously wants that second pack installed. Two things to watch: if the console prints a WARNING: Could not find LoRA ... line, the filename in your lora_string doesn't match anything in your loras folder - the stack still gets populated with the bare name so the graph doesn't crash, but downstream may silently skip it. And if you're searching the add-node menu for DualLoraPromptDrafter and can't find it, that's the pre-v1.3.3 key; the current name is DualLora_PromptDrafter, with the old one kept only to load legacy workflows.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| positive_prompt | STRING | — | |
| negative_prompt | STRING | — | |
| lora_string | STRING | — | |
| push_lora_on_load | BOOLEAN | false | — |
| positive_prefixopt | STRING | — | |
| positive_suffixopt | STRING | — | |
| negative_prefixopt | STRING | — | |
| negative_suffixopt | STRING | — | |
| prompt_nameopt | STRING | — | |
| load_promptopt | COMBO | 1 options: |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |
| loaded_loras | STRING | — |
| lora_stack | LORA_STACK | — |
| positive_raw | STRING | — |
| negative_raw | STRING | — |