βΎοΈπβ¨ Parameterizer & Prompts
Parameterizer & Prompts β SDXL's twin text encoders plus refiner, in one node
- Base Width
- Base Height
- Base Cropped Width
- Base Cropped Height
- Base Target Width
- Base Target Height
- Refiner Width
- Refiner Height
- Refiner Aesthetic Score
- Text_G/Refiner Prompt
- Text_L Prompt
SDXL is special for one annoying reason: it doesn't have a single text encoder, it has two - a big CLIP (the "G" encoder) and a smaller one (the "L" encoder) - and they get different prompts in a classic setup, on top of the whole base-plus-refiner two-stage thing. The βΎοΈπβ¨ Parameterizer & Prompts tries to make that manageable by bundling all the SDXL geometry, the refiner aesthetic score, and both text prompts into one node that passes everything out on clearly-named sockets.
It's the expanded version of the pack's plain Parameterizer: same nine dimension outputs, plus two STRING outputs carrying your two prompts. Set the whole configuration of an SDXL base+refiner workflow in one place, then wire the outputs to the encoders. One source of truth for geometry and text.
How it works
Inputs:
base_width,base_height,base_crop_w,base_crop_h,base_target_w,base_target_h- INT, defaults 1024/1024/0/0/1024/1024. The base encoder's six dimensions.refiner_width,refiner_height- INT, default 1024. Refiner resolution.refiner_ascore- FLOAT, default 6. The refiner's aesthetic score.endlessG- STRING, optional, default is a placeholder: "TEXT_G, acts as main prompt and connects to refiner text input." This is your main prompt for the big G encoder.endlessL- STRING, optional: "TEXT_L, acts as supporting prompt" for the smaller L encoder.
Outputs: the nine geometry/score sockets (Base Width β¦ Refiner Aesthetic Score), plus Text_G/Refiner Prompt and Text_L Prompt. It's a passthrough node - nothing is computed, everything is just collected and re-emitted. The two prompts feed their respective CLIP text encoders; the base geometry feeds the base encode, the refiner geometry and score feed the refiner.
The honest take
Two caveats, same as the Parameterizer. The refiner era is over - the community's verdict is that SDXL fine-tunes made the refiner stage pointless, so unless you're deliberately running base+refiner, half of this node is dead weight. And this is a legacy ESS class from the pre-June-2025 pack; the current Endless-Nodes repo doesn't ship it, so a fresh install (Manager β search "Endless", or git clone https://github.com/tusharbhutt/Endless-Nodes into custom_nodes, restart) won't expose it, and old workflows referencing it will flag it missing.
If you're maintaining an old SDXL base+refiner workflow and this node is in it, it works and it's honestly a tidy way to keep everything in one box. If you're building new, modern SDXL workflows usually skip the refiner entirely, and the two-encoder dance is handled fine by ComfyUI's own SDXL text-encode node with explicit width/height inputs. This one is a museum piece that happens to still run.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| base_width | INT | 102464β8192 | β |
| base_height | INT | 102464β8192 | β |
| base_crop_w | INT | 00β1024 | β |
| base_crop_h | INT | 00β1024 | β |
| base_target_w | INT | 102464β8192 | β |
| base_target_h | INT | 102464β8192 | β |
| refiner_width | INT | 102464β8192 | β |
| refiner_height | INT | 102464β8192 | β |
| refiner_ascore | FLOAT | 6.000β18446744073709550000 | β |
| endlessGopt | STRING | TEXT_G,acts as main prompt and connects to refiner text input | β |
| endlessLopt | STRING | TEXT_L, acts as supporting prompt | β |
Outputs (11)
| Name | Type | Description |
|---|---|---|
| Base Width | INT | β |
| Base Height | INT | β |
| Base Cropped Width | INT | β |
| Base Cropped Height | INT | β |
| Base Target Width | INT | β |
| Base Target Height | INT | β |
| Refiner Width | INT | β |
| Refiner Height | INT | β |
| Refiner Aesthetic Score | FLOAT | β |
| Text_G/Refiner Prompt | STRING | β |
| Text_L Prompt | STRING | β |