βΎοΈπβ¨ Parameterizer
The Parameterizer β SDXL refiner-era settings in one tidy box
- Base Width
- Base Height
- Base Cropped Width
- Base Cropped Height
- Base Target Width
- Base Target Height
- Refiner Width
- Refiner Height
- Refiner Aesthetic Score
The βΎοΈπβ¨ Parameterizer exists to solve a real annoyance from the SDXL base-plus-refiner era: the same resolution had to be entered into multiple nodes, and if you changed one and forgot the others, you got subtly wrong crops or a shape mismatch. This node collects every dimension in one place - base width/height, crop, target, refiner dimensions, plus the refiner's aesthetic score - and fans all nine out to whatever needs them.
If you've built an SDXL base+refiner workflow, you've lived this pain: CLIPTextEncodeSDXL wants width, height, crop_w, crop_h, target_w, target_h, and the refiner stage wants its own resolution and an aesthetic score. Getting all of them from one widget-less node means one source of truth, and when you change the resolution, everything downstream follows because it's all fed from the same socket.
How it works
Mechanically it's a pure passthrough: every input is returned as an output of the same name and value. The value is organizational, not computational - set it once, wire the outputs to your encoders and sampler, and stop worrying about drift.
Inputs:
base_width,base_height- INT, default 1024, step 16. Base model generation resolution.base_crop_w,base_crop_h- INT, default 0. Crop offsets for the base encode.base_target_w,base_target_h- INT, default 1024. The resolution the base conditions toward.refiner_width,refiner_height- INT, default 1024. Refiner stage resolution.refiner_ascore- FLOAT, default 6. The refiner's aesthetic score (a single one - the Combo variant splits this into positive and negative).
Outputs: Base Width, Base Height, Base Cropped Width, Base Cropped Height, Base Target Width, Base Target Height, Refiner Width, Refiner Height, Refiner Aesthetic Score. Wire the base dims into the base CLIPTextEncodeSDXL, the refiner dims and ascore into the refiner encode, and the sampler size from the same place.
The honest take
Two caveats, one big. First, the refiner itself is mostly a historical footnote now - the community ran it in 2023 and then fine-tunes made it redundant; the KB's own read is that it was "shipped, then ignored." Unless you're deliberately running a base+refiner pipeline, you'll use the base geometry outputs and ignore the rest. Second, this is a legacy ESS class from the pre-June-2025 pack; the current repo doesn't ship it, so a fresh install won't have it.
If you are running a base+refiner setup and found this in an old workflow, it's a genuinely nice single-source-of-truth helper. Install is the standard pack dance (Manager β search "Endless", or git clone https://github.com/tusharbhutt/Endless-Nodes into custom_nodes, restart). Just know that for everyone else, this is a well-intentioned artifact of a brief era.
Inputs (9)
| 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_ascore | FLOAT | 6.000β18446744073709550000 | β |
Outputs (9)
| 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 | β |