PixArt Resolution Select
PixArt Resolution Select
- width
- height
Here's the thing PixArt doesn't advertise loudly enough: unlike SD1.5 or SDXL, which will grudgingly render at almost any resolution you throw at them, PixArt genuinely needs specific pre-defined resolutions to come out looking right. Feed it an arbitrary width/height and you can get warped, broken compositions - not a crash, just visibly wrong output, which is a more annoying failure mode because it looks like something else went wrong. This node exists so you never have to guess what those resolutions are.
Instead of typing numbers, you pick your model variant and an aspect ratio, and it hands back the exact width and height PixArt was trained to expect for that ratio.
Inputs. Two, both required. model tells it which PixArt family you're running - the alpha and Sigma variants use slightly different resolution buckets internally, so this needs to match whatever you loaded in PixArtCheckpointLoader. ratio is an aspect ratio dropdown with around 40 options (default 1.00, square), covering everything from tall portrait crops up through wide landscape - each one maps to a specific trained-on resolution rather than being computed on the fly.
Outputs. width and height, both plain integers. These go two places: into your EmptyLatentImage node (so the latent you're sampling into is the right shape from the start) and into PixArtResolutionCond right after your text encode, which folds the resolution into the model's conditioning the same way SDXL does with its size-conditioning inputs. Skipping that second wire-up doesn't crash anything, but it's part of how PixArt was trained to read the resolution, so don't skip it.
Why this matters more than it looks like it should. PixArt earned real community attention specifically for prompt adherence that punched way above its 0.6B-parameter weight class - people were running serious side-by-side comparisons against SD3 and calling PixArt the stronger option. That reputation depends on the model actually running the way it was trained to, and resolution is one of the few places PixArt is genuinely fussier than the SD lineage most people are used to. This node is the whole fix: pick from the list, don't hand-type numbers.
Installing the pack. ComfyUI Manager: search "Extra Models for ComfyUI." Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/city96/ComfyUI_ExtraModels
Then pip install -r requirements.txt in your venv and restart ComfyUI.
Troubleshooting. If your images come out stretched, smeared, or compositionally broken even though the prompt looks fine, check that your EmptyLatentImage width/height actually match what this node output - it's an easy thing to leave stale if you change the ratio dropdown later and forget the latent node isn't wired to follow it automatically. And double-check the model dropdown matches your checkpoint loader's variant; picking the alpha bucket while running a Sigma checkpoint (or vice versa) uses the wrong resolution table for the model you're actually running. Beyond that, this node has nothing to misconfigure - it's a lookup table, not a computation, so once the outputs are wired correctly you're done.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 5 options: PixArtMS_XL_2, PixArt_XL_2, PixArtMS_Sigma_XL_2_2K, PixArtMS_Sigma_XL_2, PixArtMS_Sigma_XL_2_512 | |
| ratio | COMBO | 1.00 | 40 options: 0.25, 0.26, 0.27, 0.28, 0.32, 0.33, +34 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |