Extend the scene, then prove the seam
Original Forge already bundles two outpainting scripts inside Img2img. Choose one, extend one edge, inspect the old/new boundary and save each accepted pass before expanding again.
VERIFIED Original Forge only · source-audited at dfdcbab · no GPU output or universal quality setting is claimed.
Use the bundled script before adding an extension
This page owns deliberate canvas extension. Inpainting repairs a region inside the existing frame; upscaling increases resolution.
Built into current original Forge
Both scripts are present in the current scripts/ directory and expose their controls only for Img2img.
Separate third-party routes
Mosaic Outpaint and OpenOutpaint are extensions. A tutorial using their tabs does not describe the bundled-script interface or compatibility.
Use inpainting for a repair inside the frame, img2img for a whole-frame transformation, and upscaling when the composition should stay but pixel dimensions must grow.
Choose by mechanism, not by a “best” label
These scripts share Img2img controls but construct the new canvas and transition signal differently. Their presence is verified; universal model quality is not.
Poor man’s outpainting
- Controls
- Pixels to expand · Mask blur · Masked content · Direction
- Geometry
- Rounds the requested final width and height up to multiples of 64, then distributes the added pixels across selected opposite edges.
- Execution
- Splits the expanded canvas into processing tiles, skips tiles fully inside the original, advances the seed after each processed edge tile, then combines the grid.
- Boundary
- The main Width and Height are tile dimensions, not a direct final-output-size field. The console prints the actual edge-tile count.
Outpainting mk2
- Controls
- Pixels to expand · Mask blur · Direction · Fall-off exponent · Color variation
- Geometry
- Adds the selected pixel amount to each chosen edge. Processing dimensions can cap each working crop, while the returned canvas keeps the requested extension.
- Execution
- Builds source-matched noise, then processes selected directions sequentially in the fixed order left, right, up and down.
- Boundary
- The script still displays an inherited 80–100 steps / Euler a / 0.8 note. Treat that as a legacy script hint, not a cross-model Forge recommendation.
Editorial starting rule: choose Poor man’s for a smaller control surface and tiled edge work; choose Mk2 when you need to test matched-noise fall-off or color variation. Neither route is promised to win.
Calculate the geometry before you generate
Poor man’s rounds the completed canvas to 64-pixel boundaries. Mk2 adds the selected amount once per chosen edge.
- Method
- Poor man’s outpainting
- Geometry rule
- Round final width and height up to multiples of 64.
- Execution
- Edge-tile count is calculated at runtime and printed in the console.
Make one edge explainable
The page starts at an already working image and model. If normal Img2img fails, outpainting has no valid baseline.
- 01
Preserve the source
Save an untouched copy. Note its pixel dimensions and decide which edge needs new scene content. Outpainting changes geometry; it is not a safe overwrite operation.
- 02
Prove the model in normal Img2img
Load the intended checkpoint and companion files, then complete one ordinary img2img result without ControlNet, LoRAs or third-party extensions. Fix a black image or model error before outpainting.
- 03
Open Img2img and load the source
Use the Img2img subtab, not Resize and fill as a substitute. Confirm that the intended source image is visible and that Width and Height describe a sensible processing window for its model family.
- 04
Describe the completed scene
Write the final scene that should exist beyond the edge: continuing background, lighting, perspective and any new object. Do not rely on the old pixels to explain content outside the old frame.
- 05
Select one built-in script
At the Script selector, choose Poor man’s outpainting or Outpainting mk2. If neither name is present, first verify the original Forge commit and clean script loading instead of installing a look-alike extension.
- 06
Expand one direction
Start with one edge and the script’s displayed 128-pixel default. Keep Batch count and Batch size at 1. One edge makes a seam, prompt or geometry problem attributable.
- 07
Freeze the comparison
Record source hash or filename, model files, prompt, resolved seed, sampler, scheduler, steps, guidance, denoising, processing Width × Height and every script control.
- 08
Generate, inspect, then continue
Check the old/new boundary at 100% zoom, the protected subject, perspective, lighting and output dimensions. Save the accepted result before using it as the source for another edge.
Know what the script changes behind the panel
Ranges and behavior are checked against the current original-Forge source, not copied from an extension tutorial.
Pixels to expand
Both scripts expose 8–256 in steps of 8 and display 128 by default. Poor man’s may add more than the selected amount because its final dimensions are rounded up to multiples of 64.
Outpainting direction
Both expose left, right, up and down and display all four selected by default. Mk2 executes selected directions sequentially; Poor man’s constructs one expanded grid.
Mask blur
Both expose 0–64. Poor man’s displays 4; Mk2 displays 8 and maps blur separately to horizontal or vertical edges. It softens the transition region but cannot make incompatible perspective or content agree.
Masked content
Only Poor man’s exposes fill, original, latent noise and latent nothing, with fill displayed by default. This becomes the starting-content branch used by its inpainting process.
Fall-off exponent
Only Mk2 exposes 0.00–4.00 and labels lower values as higher detail. The displayed value is 1.00. Compare it only after a baseline works.
Color variation
Only Mk2 exposes 0.00–1.00 and displays 0.05. It changes the colorfulness used while building matched noise; it is not final-image saturation.
Width and Height
These are processing dimensions. Poor man’s uses them as tile width and height; Mk2 uses them to limit each directional working crop. They are not the final canvas calculator.
Prompt and denoising
The built-in scripts pass the normal img2img prompt and denoising path into processing. Use the exact model’s documented recipe; there is no verified universal outpainting value.
Batch controls
Poor man’s forces one iteration and one image internally, then returns one combined canvas. Mk2 retains Batch count and Batch size and applies each selected direction to every requested result.
Seed and saved record
Poor man’s increments the seed between processed edge tiles. Mk2 stores the first processed seed and result information. Record the base seed, script, directions and pass order—not only the final PNG dimensions.
Fix the first visible disagreement
A seam is not only a blur problem. Content, perspective, light, texture and processing geometry meet at the same line.
Hard straight line
Compare Mask blur with one nearby value while everything else stays fixed. If content or lighting differs on each side, rewrite the continuation prompt before adding more blur.
Repeated or stretched edge
Verify that you selected a built-in outpainting script rather than Resize and fill. Reduce the extension, keep one edge, and inspect whether the processing window gives diffusion enough surrounding context.
New area is black or noise
Treat it as a generation failure. Re-run normal img2img with the same model stack, remove extensions, inspect the console and follow the black-or-blank diagnostic.
Diagnose black or blank output →Original subject changed
Confirm the source before the pass and check denoising, script choice and selected directions. Save each accepted pass; do not recursively outpaint an already-drifted result without a checkpoint.
Opposite edges differ
With Mk2, directions are processed sequentially left → right → up → down, so later edges see an already-expanded intermediate. Run each edge as a separate saved pass when symmetry or attribution matters.
Output is larger than expected
For Poor man’s, calculate the rounded multiple-of-64 result. For Mk2, count the chosen horizontal and vertical directions. Do not infer final geometry from the main Width and Height controls.
The job takes many passes
Poor man’s console reports how many edge tiles it will process. Mk2 job count is Batch count multiplied by the number of selected directions, with Batch size handled inside each directional pass.
Out of memory
Return to Batch size 1, one direction and a smaller processing window supported by the model. Then use the memory-controls and OOM guides; do not confuse final canvas size with the active processing crop.
Understand memory controls →Fix an OOM →Save the state before crossing another edge
The selected direction and prior-pass source are part of reproducibility. A final seed alone cannot reconstruct a multi-edge sequence.
Pass order matters. Name accepted files by direction or keep a short sequence note such as source → right → up. For Poor man’s, retain the console tile count when it is consequential.
Answers from the edge to the saved canvas
These questions cover the long-tail and conversational variants audited after the first draft.
What is outpainting in Stable Diffusion WebUI Forge?
Outpainting enlarges an existing image and generates content beyond one or more original edges. The goal is scene continuity across the old boundary, not merely more pixels or a stretched border.
Where is outpainting in Forge?
Open Img2img and use the Script selector. At the inspected original-Forge commit, the bundled choices include Poor man’s outpainting and Outpainting mk2.
Do I need an extension to outpaint in Forge?
No extension is required for the two bundled scripts. Mosaic Outpaint and OpenOutpaint are separate third-party workflows and must not be treated as built-in Forge features.
Which is better: Poor man’s outpainting or Outpainting mk2?
Neither has a verified universal quality advantage. Poor man’s uses tiled edge generation with fewer controls; Mk2 builds matched noise and exposes fall-off and color variation. Compare them on the same saved source and model.
How do I use Poor man’s outpainting?
Load a proven source in Img2img, describe the completed scene, select the script, choose one direction, keep the 128-pixel and mask-blur defaults for the first diagnostic pass, freeze all normal generation controls, then inspect the seam and console.
How do I use Outpainting mk2?
Use the same clean Img2img baseline, select Mk2, choose one edge, keep its displayed pixel, blur, fall-off and color-variation values for the first pass, record the complete setup, then change only the control tied to a visible defect.
Should I expand all four directions at once?
The UI allows it, but our editorial diagnostic method starts with one edge. This makes geometry, prompt continuity, seams and failures easier to attribute.
Why did Poor man’s outpainting add more than 128 pixels?
It rounds the final width and height up to multiples of 64 after adding the requested edges. A source dimension that is not already aligned can therefore produce extra pixels.
Why does Outpainting mk2 process directions in a particular order?
The current script explicitly runs left, then right, then up, then down. Each later direction receives the intermediate image produced by the earlier direction.
Do Width and Height set the final outpainted size?
No. They are processing dimensions. Poor man’s uses them for tiles, while Mk2 caps directional working crops with them. Final geometry comes from the source, selected directions, pixels and—in Poor man’s—64-pixel rounding.
What does Pixels to expand do?
It requests added canvas on each selected edge. Both current scripts expose 8–256 in steps of 8, but their final-geometry rules differ.
What Mask blur should I use for outpainting?
Start from the displayed script value and change it only while diagnosing the boundary. There is no verified universal setting; more blur cannot repair a wrong prompt, perspective or model.
What is Fall-off exponent in Outpainting mk2?
It shapes Mk2’s matched-noise initialization. The control says lower means higher detail, spans 0–4 and displays 1.00. Treat it as an experiment variable, not a quality score.
What is Color variation in Outpainting mk2?
It controls how much color variation enters the matched-noise preparation. It spans 0–1 and displays 0.05; it is not the same as changing saturation after generation.
What should the outpainting prompt describe?
Describe the completed scene: what continues beyond the chosen edge, its perspective, lighting, materials and any new object. Keep facts that must remain consistent with the source.
What denoising strength should I use?
Use a value supported by the exact model recipe and test it as one variable. Mk2 displays an inherited 0.8 recommendation, but the project does not establish it as correct for every model family.
Can I outpaint an SDXL or FLUX image in Forge?
The scripts are present in the shared Img2img interface, but the original project does not publish a current universal model-family outpainting matrix. Prove normal img2img first and label untested combinations unknown.
Why is there a visible line after outpainting?
The old and new regions may disagree in content, color, light, texture or perspective, or the transition may be too sharp. Keep one edge, inspect at 100%, then compare one prompt, blur or processing-window change.
Why is the new area black or full of noise?
Stop tuning outpainting controls. Verify normal img2img with the same model, VAE or encoders, precision and extensions, then inspect the console and use the black-or-blank diagnostic.
Why is the old image changing during outpainting?
Outpainting still calls the img2img processing path around generated edge regions. Check denoising, blur, the script’s masks and whether you used the accepted source from the prior pass.
How do I continue expanding the same image?
Save the accepted output, make it the next source, record that pass boundary and extend one new edge. This prevents an unwanted pass from replacing your last working state.
Is Resize and fill the same as outpainting?
No. Resize and fill fits the source into a target ratio and fills bands from stretched edge data before diffusion. The outpainting scripts create an expanded canvas and explicit edge masks.
Is Forge Canvas an infinite outpainting canvas?
No such current guarantee is established. Forge Canvas provides image, drawing, pan, zoom, brush and fullscreen interactions; the inspected outpainting routes remain scripts selected inside Img2img.
Why are the outpainting scripts missing?
Verify that you are using the original repository and inspected build, check the console for script-loading errors, and test a clean start without third-party extensions. Do not install a similarly named extension before confirming the bundled scripts.
Does the same seed reproduce the same outpaint?
Only when the effective setup and pass order also match. Poor man’s advances the seed between edge tiles, while Mk2 processes directions sequentially; model bytes, dimensions, precision and extensions can also change the result.
Where does Forge save outpainted images?
Both bundled scripts save through the Img2img sample path when sample saving is enabled. Confirm your current output-directory Settings rather than assuming a universal operating-system path.
Current scripts outrank extension recipes
The video and community reports identify user tasks and failure language. They do not redefine the two built-in routes or prove cross-model settings.
Official README establishes the original Forge identity and its inherited WebUI surface; it does not publish a universal outpainting recipe.
Inspect source ↗Current bundled script verifies labels, ranges, 64-pixel geometry rounding, tiled edge work, seed advancement and combined output.
Inspect source ↗Current bundled script verifies matched-noise controls, sequential direction order, processing crops, batch behavior and the inherited settings note.
Inspect source ↗Current core UI verifies the Img2img route, processing dimensions, denoising, batches and Script control placement.
Inspect source ↗Current image helpers verify the grid splitting and combining path used by Poor man’s outpainting.
Inspect source ↗Owner announcement documents Forge Canvas gestures and its dated compatibility boundary; it does not turn Canvas into a directional outpainting tool.
Inspect source ↗Full 9:26 transcript demonstrates a Mosaic-extension workflow, seam repair and pass iteration. It is used for user questions, not current built-in labels.
Inspect source ↗Official API check on 2 September 2026 confirms the current main head is still the inspected 26 June 2025 commit.
Inspect source ↗Official history shows the Mk2 blur-axis patch and its Gradio 4 carry-forward; current code remains the claim authority.
Inspect source ↗Users explicitly ask whether an extension is required and whether Forge matches Fooocus outpainting. Replies do not establish feature parity.
Inspect source ↗A dated OpenOutpaint error discussion confirms that third-party extension behavior is separate from bundled-script support.
Inspect source ↗An open high-resolution inpaint-overlay report supplies a seam-like symptom, not a universal diagnosis for the two outpainting scripts.
Inspect source ↗Not GPU-run here. Current code, repository history, the complete V29 transcript and fresh original-repository discussions were audited. Checkpoint-family quality, hardware cost, browser behavior and third-party extension compatibility remain environment-specific.
- Author
- Forge Field Guide editorial team
- Technical review
- Current code + full transcript + fresh official search
- Inspected environment
- Original Forge · dfdcbab · source audit
- Updated / refresh trigger
- 2 September 2026 · script, Img2img or model-support change