ComfyUI Node

Runware Outpaint

Outpaint — extend the canvas, let the model invent what's beyond the edge

By Runware·Created 2 years ago·Updated about a month ago· 140
Runware Outpaint
    • outpaint
    topfalse
    top_value0
    bottomfalse
    bottom_value0
    leftfalse
    left_value0
    rightfalse
    right_value0
    blurfalse
    blur_value0

    Outpainting is the inverse of inpainting: instead of replacing what's inside a masked region, you extend the canvas outward and let the model fill in everything beyond the original edges. It's how a 1024×1024 portrait becomes a 1792×1024 wide shot, or a square becomes a phone wallpaper - the model has to invent plausible continuation (more wall, more sky, more room) while keeping what's already there untouched. This builder is the Runware version: set how many pixels to add on each side, get a RUNWARE_OUTPAINT value, and wire it into any model node in the pack that exposes an outpaint socket (about 16 of them do).

    The inputs

    • top / bottom / left / right - each is a boolean gate paired with a _value pixel count. Flip left on and set left_value to 256, and you extend 256 pixels to the left. Same pattern for the other three sides. Any side you leave gated off just isn't extended. This is the pack's off-by-default gate convention in its purest form: "off" means the model uses its default, i.e. no extension on that side.
    • blur (+ blur_value, 0–32) - the mask-edge blur, in pixels. This is the seam softener: a little blur tells the generation to blend the new content into the old edge so you don't get a hard line where the canvas grew. A few pixels is usually enough; more if the model is visibly stitching.

    What to do with it

    Think in terms of the whole workflow, not the pixels alone. Outpainting a composition means two jobs happen at once: the model extends the image, and your prompt on the model node tells it what the extended space should be. Set the sides you want extended, then prompt for the continuation - "the same living room, more couch on the right." The KB's inpainting essay is the useful context here: outpaint still beats full-image edit models at one specific job, which is leaving the existing pixels alone. An edit model regenerates everything and drifts; outpaint only touches the new canvas. That's the whole reason this node exists in 2026.

    Output and wiring

    Output is RUNWARE_OUTPAINT. Wire it into a model node's outpaint socket alongside your prompt and image.

    Install

    Same pack install, once:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Runware/ComfyUI-Runware
    pip install -r ComfyUI-Runware/requirements.txt
    

    Restart, add your Runware API key (Settings → Runware API key, or RUNWARE_API_KEY).

    The honest take

    This is a small, well-scoped builder and there's not much to get wrong - the only real failure mode is forgetting the blur and wondering why your extension has a visible seam. One genuinely useful tip: extend in steps rather than all at once. Adding 512 pixels in one jump is asking the model to invent a lot of plausible room at once; two 256-pixel passes give it a chance to build on what it just made. More requests, yes, but the results are usually worth the extra inference on your bill.

    CategoryRunware/Params

    Inputs (10)

    NameTypeDefaultDescription
    topoptBOOLEANfalseEnable to set top. Off uses the model's default.
    top_valueoptINT0Number of pixels to extend to the top.
    bottomoptBOOLEANfalseEnable to set bottom. Off uses the model's default.
    bottom_valueoptINT0Number of pixels to extend to the bottom.
    leftoptBOOLEANfalseEnable to set left. Off uses the model's default.
    left_valueoptINT0Number of pixels to extend to the left.
    rightoptBOOLEANfalseEnable to set right. Off uses the model's default.
    right_valueoptINT0Number of pixels to extend to the right.
    bluroptBOOLEANfalseEnable to set blur. Off uses the model's default.
    blur_valueoptINT00–32Amount of blur to apply to the mask edge.

    Outputs (1)

    NameTypeDescription
    outpaintRUNWARE_OUTPAINT