SDXL Power Prompt - Positive (rgthree)
SDXL Power Prompt - Positive (rgthree)
- opt_model
- opt_clip
- CONDITIONING
- MODEL
- CLIP
- TEXT_G
- TEXT_L
This is the SDXL sibling of rgthree's Power Prompt: a prompt node built for SDXL's two-text-encoder setup, with the same conveniences - embedding and LoRA dropdowns, inline <lora:...> loading, and on-node CLIP encoding. SDXL is fussier to prompt than SD1.5 because it takes two text inputs and a set of size parameters, and this node bundles all of that plumbing into one box so you write your prompt and get properly-formed SDXL conditioning out.
Why you'd reach for it
SDXL's conditioning has moving parts that SD1.5 doesn't. It uses two text encoders - the "g" and "l" streams - and it wants width/height/target/crop parameters to steer composition. Wiring that up with stock nodes means a couple of CLIP encodes and careful attention to the size fields. This node folds it into one place: two prompt boxes for the g and l text, the size parameters as inputs, and the same Power Prompt goodies (menus so you never mistype an embedding or LoRA name, inline LoRA parsing when a model is connected).
If you already like the regular Power Prompt for SD1.5, this is the version you drop in when you switch to an SDXL checkpoint. Pair it with the LoRA-free negative variant for a clean two-node prompt setup.
Inputs and outputs
The two required fields are the SDXL text pair:
- prompt_g - the "global" text stream, multiline.
- prompt_l - the "local" text stream, multiline. A common approach is a fuller description in g and tighter tag-style text in l, though plenty of people just put the same prompt in both to start.
The optional inputs cover the SDXL machinery and the Power Prompt conveniences: opt_model (connect to enable inline <lora:...> loading), opt_clip (connect to encode to conditioning on the node), opt_clip_width / opt_clip_height (default 1024, the encoder's reference size), the dropdown helpers insert_lora / insert_embedding / insert_saved (they paste text into your prompt, nothing more), and the composition controls target_width, target_height, crop_width, crop_height (default -1, meaning "use the sensible default" until you set them).
Outputs: CONDITIONING (populated when a CLIP is connected - wire it to your KSampler's positive), pass-through MODEL and CLIP, and the raw TEXT_G and TEXT_L strings if you want to route the text elsewhere.
Installing it
The node ships in rgthree-comfy. Install via ComfyUI Manager (search rgthree's ComfyUI Nodes) or clone the repo:
cd ComfyUI/custom_nodes
git clone https://github.com/rgthree/rgthree-comfy.git
Restart ComfyUI afterward. No models to download, no heavy dependencies - the pack is graph and UI code.
Common issues
The one that catches people: inline <lora:...> tags do nothing unless you connect a model to opt_model and pass the node's MODEL output onward. Without that, your LoRA tags are just text.
Second, the SDXL size parameters default to -1 on purpose - that means "let the node pick a reasonable default." You don't need to touch target/crop width/height to get a working image; they're there for when you specifically want to push composition. Leaving them at -1 is fine and normal.
Third, this is the positive node - it supports LoRAs because positive prompts can use them. Negative prompts can't, so for your negative use the SDXL Power Prompt - Simple / Negative variant, which drops LoRA support for a cleaner negative. And as always with LoRAs: if one seems inert, it's usually a missing trigger word in the prompt, not a loading failure.
And the pack-wide caveat: if the node renders wrong, check whether ComfyUI's Nodes 2.0 frontend is on. The Vue rewrite broke several rgthree nodes and the standing workaround is to keep it off.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_g | STRING | — | |
| prompt_l | STRING | — | |
| opt_modelopt | MODEL | — | |
| opt_clipopt | CLIP | — | |
| opt_clip_widthopt | INT | 10240–16384 | — |
| opt_clip_heightopt | INT | 10240–16384 | — |
| insert_loraopt | COMBO | 2 options: CHOOSE, DISABLE LORAS | |
| insert_embeddingopt | COMBO | 1 options: CHOOSE | |
| insert_savedopt | COMBO | 1 options: CHOOSE | |
| target_widthopt | INT | -1-1–16384 | — |
| target_heightopt | INT | -1-1–16384 | — |
| crop_widthopt | INT | -1-1–16384 | — |
| crop_heightopt | INT | -1-1–16384 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| TEXT_G | STRING | — |
| TEXT_L | STRING | — |