ComfyUI Node

FLUX Outpainting

Extend the Canvas, Keep the Subject

By Runware·Created 2 years ago·Updated about a month ago· 140
FLUX Outpainting
  • image
  • outpaint
  • advancedFeatures.watermark.image
  • image
numberResults1
advancedFeaturesfalse
advancedFeatures.watermark.bgColor
advancedFeatures.watermark.displayPosition(default)
advancedFeatures.watermark.fontColor
advancedFeatures.watermark.opacityfalse
advancedFeatures.watermark.opacity_value0.10
advancedFeatures.watermark.text
settings.autoCropfalse
settings.modehigh
safetyfalse
safety.checkContentfalse
ttlfalse
ttl_value60
outputFormatJPG
outputQuality95

Outpainting is the quiet sibling of inpainting, and it's the one that fixes a specific, very common frustration: you generated a great image but it's the wrong shape, or you want more context around the subject, or you need a wide shot out of a square one. FLUX Outpainting is Black Forest Labs' hosted answer - you hand it an image plus a canvas definition, and it grows the image outward, inventing plausible continuation that matches the existing scene instead of just pasting blurry noise into the empty space.

The mechanism is the standard outpaint: your image stays pixel-identical, the model fills the region around it, and the border blending is where the quality lives. In the cloud, you get BFL's tuned model without hosting weights or fighting the local tile dance - which is worth something, because outpaint quality is exactly the kind of thing that separates a tuned model from a generic one.

What you set

Required: image and outpaint. The outpaint input is a RUNWARE_OUTPAINT socket from the pack's outpainting builder node under Runware/Params - that's where you define the canvas: how far to extend in each direction (top/bottom/left/right, plus a blur for the transition zone). So the workflow is: load/generate your image, wire it in, wire in an outpaint builder with your extension amounts.

Then two hosted settings that matter:

  • settings.autoCrop - defaults to off, and the tooltip is unusually specific about why: if your reference image extends beyond the canvas bounds, an out-of-bounds placement returns a 422 error unless autoCrop is on. If you hit a 422, this toggle is the fix.
  • settings.mode - high vs fast. Quality vs speed. high is the default and the right call for a deliverable; fast is for checking the composition of an extension before committing.

Output is one image at the extended size.

Why not just inpaint?

Fair question, and the community answer is that they're different jobs. Inpainting fixes inside the frame; outpainting changes the frame itself. The mask-based tools that still beat instruction models are exactly this class of job - extending a scene while keeping everything else bit-identical is something an edit model can't do, because it rewrites the whole image and drifts the original. Outpainting keeps your original untouched and only generates the border. That's the node's entire value.

Install

Standard pack install:

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

Restart, or install "Runware" via ComfyUI Manager; API key in Settings → Runware API key or RUNWARE_API_KEY. No weights download. Shared gotchas: each run bills the account (title bar shows cost), and the settings.autoCrop/422 interaction is the one beginners actually hit - read that tooltip before you start extending images to unusual aspect ratios.

CategoryRunware/Image/bfl

Inputs (19)

NameTypeDefaultDescription
imageIMAGE
outpaintRUNWARE_OUTPAINT
advancedFeatures.watermark.imageoptIMAGE
numberResultsoptINT11–20Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
advancedFeatures.watermark.bgColoroptSTRINGBackground color in hex format.
advancedFeatures.watermark.displayPositionoptCOMBO(default)Watermark position.
advancedFeatures.watermark.fontColoroptSTRINGText color in hex format.
advancedFeatures.watermark.opacityoptBOOLEANfalseEnable to set advancedFeatures.watermark.opacity. Off uses the model's default.
advancedFeatures.watermark.opacity_valueoptFLOAT0.100.1–1Watermark opacity.
advancedFeatures.watermark.textoptSTRINGWatermark text.
settings.autoCropoptBOOLEANfalseIf true, crop the reference image to the canvas bounds when it extends beyond the edges. Defaults to false (out-of-bounds placements return 422).
settings.modeoptCOMBOhighGeneration mode trading quality for speed.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
imageIMAGE