Outpaint Pixaroma
Grow your image past its edges, the one-node way
- image
- image
- width
- height
- outpaint_info
Outpaint Pixaroma is the setup step for extending an image past its edges: it pads your image with a solid-color border so an outpainting model has somewhere to paint new scenery, then reports the final size so you can feed it straight into a latent. Outpainting itself is still done by your model - this node just makes the prep painless and, crucially, gets the details right.
Here's the detail that most people get wrong the first time: the fill color matters. The default is mid-grey, and that's not arbitrary. An outpainting model learns the color of the pad as well as its shape, so a strongly colored fill will tint the whole generated area - the model literally thinks "this region is red, keep it red." Grey has no hue to bleed, so it's the neutral default. The swatch lets you pick any color, but unless you have a deliberate reason (matching a known background), leave it grey. The pack's own docs say it flat-out: "a strongly coloured fill can tint the whole generated image."
The two ways to add space
- To ratio - grow the image to a target shape (1:1, 3:2, 16:9…) with an anchor that decides which side the new space lands on. This is the "make my square into a widescreen" path.
- By side - add an exact number of pixels per edge. Or just drag a green edge directly on the live preview to pull the canvas out by hand, which is the most intuitive option of all and worth using just for the feel of it.
The live preview shows the composition with the pad numbers on the fill and a size badge, plus an Input → Output card showing the real dimensions (it turns orange when the size actually changes). Right-click or the gear lets you pick which ratio and megapixel buttons show up and recolour the node.
The outputs and the megapixel cap
You get image (the padded result), plus width and height reporting the final size after padding and any scaling. Wire those straight into an empty latent and your generation matches the padded image exactly - that's the integration point, and it's why the outputs exist.
The optional megapixel limit is the other smart touch: padding a 1024 image out to 16:9 can balloon past what your card can generate, so you cap it and the node scales the padded result down to stay sane, with an optional snap to a multiple of 8/16/32/64. The reported width/height reflect the capped size, so nothing downstream goes out of sync.
One thing the node won't do for you: the actual outpainting. That's your model or LoRA's job, and it typically needs its own trigger words in the prompt to know it's extending. This node is the before; the model is the after.
Installing it
It's in the ComfyUI-Pixaroma pack - ComfyUI Manager search Pixaroma, Install, restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/pixaroma/ComfyUI-Pixaroma
No extra dependencies or model downloads. House rule: after updating the pack, hard-refresh your browser tab (Ctrl+Shift+R / Cmd+Shift+R) so a cached UI doesn't masquerade as a broken node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | The image to pad. Wire any image source here. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | The padded image, scaled to the megapixel limit when one is set. |
| width | INT | Final width in pixels, after padding and any scaling. |
| height | INT | Final height in pixels, after padding and any scaling. |
| outpaint_info | PIXAROMA_OUTPAINT_INFO | Info for Outpaint Stitch Pixaroma - carries the pristine original and where it sits in the padded canvas, so after the model fills the new area you can put the original back at full quality. Optional; wire it into Outpaint Stitch Pixaroma, or leave it unused. |