βΎοΈπβ¨ Combo Parameterizer & Prompts
One node, an SDXL base+refiner's whole state
- Base Width
- Base Height
- Base Cropped Width
- Base Cropped Height
- Base Target Width
- Base Target Height
- Refiner Width
- Refiner Height
- Positive Refiner Aesthetic Score
- Negative Refiner Aesthetic Score
- Positive Text_G and Refiner Text Prompt
- Postive Text_L Prompt
- Negative Text_G and Refiner Text Prompt
- Negative Text_L Prompt
ESS Combo Parameterizer & Prompts is a bundle node for the SDXL base-plus-refiner era of workflows: it holds the base model's dimensions, the refiner's dimensions and aesthetic-score thresholds, and all four prompts (positive/negative for both the global and latent paths) in one place, then hands everything out on individual wires. One node, a full parameter set, no hunting across the graph.
It's the branded (βΎοΈπβ¨) descendant of the pack's older parameter nodes, and it reads like exactly what it is: a time capsule from when SDXL's refiner pipeline forced you to keep base and refiner settings in sync manually. If you still run base+refiner SDXL, that's its whole value - a single dashboard for a notoriously fiddly two-stage setup. If you're on Flux or single-stage SDXL, this node is largely museum furniture.
Inputs and outputs
The inputs are the settings you'd otherwise scatter across the base and refiner samplers:
base_width/base_height- base stage canvas, default 1024Γ1024.base_crop_w/base_crop_h- crop offsets for SDXL's latent crop conditioning (default 0). Leave them at 0 unless you're deliberately reproducing a specific crop.base_target_w/base_target_h- the target size SDXL's crop conditioning expects (default 1024Γ1024).refiner_width/refiner_height- the refiner stage's canvas.refiner_pascore/refiner_nascore- the aesthetic-score thresholds the refiner chain uses to decide which images the refiner samples (positive ~6.5, negative ~2.5 by default).
The optional prompt inputs carry their own descriptions in the node: PendlessG ("Positive TEXT_G, acts as main prompt and connects to refiner text input"), PendlessL ("Positive TEXT_L, acts as supporting prompt"), and the matching negatives NendlessG / NendlessL.
On the output side you get all fourteen values: Base Width/Height, Base Cropped Width/Height, Base Target Width/Height, Refiner Width/Height, Positive and Negative Refiner Aesthetic Scores, and the four prompts (Positive/Negative Text_G+refiner, Positive/Negative Text_L).
How to use it
Wire the dimensions into your base and refiner Empty Latent Images (and the KSampler crop targets), the aesthetic scores into whatever refiner-gating node you use, and the four prompts into the base and refiner CLIP Text Encode nodes - TEXT_G connects to the refiner text input, TEXT_L is the supporting prompt. All the fiddly cross-wiring that usually breaks SDXL workflows gets pinned to one node you can save and load.
Installing it
Part of Endless πβ¨ Nodes by tusharbhutt:
cd ComfyUI/custom_nodes
git clone https://github.com/tusharbhutt/Endless-Nodes
# restart ComfyUI
Or ComfyUI Manager β search "Endless". No dependencies or model files.
Gotchas
This node is the most era-specific thing in the pack - it exists for SDXL base+refiner, and if your workflow doesn't use a refiner stage, most of its outputs are dead weight. Defaults are sane (1024Γ1024, pascore 6.5/nascore 2.5), so you can plug it in and adjust from there. And the pack caveat applies as always: single hobbyist maintainer, AI-assisted, mid-2025 rewrite - the parameterizer is a tool that worked for its author's SDXL pipeline, not a supported product.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| base_width | INT | 102464β8192 | β |
| base_height | INT | 102464β8192 | β |
| base_crop_w | INT | 00β8192 | β |
| base_crop_h | INT | 00β8192 | β |
| base_target_w | INT | 102464β8192 | β |
| base_target_h | INT | 102464β8192 | β |
| refiner_width | INT | 102464β8192 | β |
| refiner_height | INT | 102464β8192 | β |
| refiner_pascore | FLOAT | 6.500β18446744073709550000 | β |
| refiner_nascore | FLOAT | 2.500β18446744073709550000 | β |
| PendlessGopt | STRING | Positive TEXT_G,acts as main prompt and connects to refiner text input | β |
| PendlessLopt | STRING | Positive TEXT_L, acts as supporting prompt | β |
| NendlessGopt | STRING | Negative TEXT_G, acts as main prompt and connects to refiner text input | β |
| NendlessLopt | STRING | Negative TEXT_L, acts as supporting prompt | β |
Outputs (14)
| 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 | β |
| Positive Refiner Aesthetic Score | FLOAT | β |
| Negative Refiner Aesthetic Score | FLOAT | β |
| Positive Text_G and Refiner Text Prompt | STRING | β |
| Postive Text_L Prompt | STRING | β |
| Negative Text_G and Refiner Text Prompt | STRING | β |
| Negative Text_L Prompt | STRING | β |