Skip to content

Inpaint

Node icon
Filter

Removes objects by rebuilding the masked area out of texture and structure found elsewhere in the same image.

The Inpaint node reconstructs the masked region from surrounding pixels.
Three panels: the original photo, the mask marking the region to remove, and the photo with the masked region inpainted away.

Mask a power line, a tourist, a watermark, a dust speck, or a scratch, and Inpaint fills the hole with material that continues the surrounding brickwork, foliage, sky, or fabric. It finds patches elsewhere in the picture that match the edges of the hole, assembles the best-fitting arrangement, and blends it in so the seam does not show.

Inpaint only rearranges pixels already in your image. It runs locally and deterministically, and never sends the image anywhere.

Inpaint has no model of the world, so it cannot invent something that was never visible:

  • A face or a hand. Anything with anatomy the eye knows by heart comes back subtly wrong.
  • Readable text or a logo. Letterforms are copied as shapes, not as letters, so the result reads as text-like scribble.
  • An object that appears only once. If the thing you masked was the only one of its kind, there is nothing to copy it from.
  • Image is the picture you are repairing.
  • Mask marks the area to fill: white is filled, black is kept.

Any mask source works, including Mask Paint, Roto, Mask From Image, Color Range, Magic Wand, or a mask cleaned up with Mask Refine.

A color image wired into the mask input reveals Mask From, which reads its brightness, transparency, or one channel as the mask. An empty mask is not an error: the image passes through unchanged.

Source Locality is the only control, and the default gives a balanced result. Move it toward Nearby when something from a distant part of the image gets pulled into the fill, or toward Global when the texture you want is far away and the fill settles for something bland close by. It never changes which pixels are masked, and the fill never spills outside the mask.

One-pixel scratches, wire-thin lines, and isolated dead pixels get a dedicated repair path that engages on its own when the mask has that shape. There is nothing to configure.

In a 32-bit document Inpaint works on the float pixels directly, so overbright values, negative values, and the document’s color space survive the fill. Transparent regions do not leak color into it.

Inpaint runs per frame, so a batch (from Collect or Image Folder) fills every frame with the same settings, and a matching batch of masks lines up frame for frame. When memory runs short, a batch waits for it rather than failing frames.

Rather than publish a half-finished image, Inpaint turns the node red and says why when:

  • There is not enough texture to sample from. The mask covers everything, or leaves no usable material around it.
  • It runs out of working memory. A single fill has a fixed budget. Work at a smaller image size, or fill a smaller area at a time.
  • The image and mask do not go together. The mask is a different size from the image, or is not a single-channel image.

Inpaint fills differently than in ArcBrush 1.5 and earlier. The fill is recalculated on open rather than stored in the project, so an older project shows the new fill when reopened. Nothing on disk changes until you save, and your mask, graph, and other nodes are untouched.

Pins

ImageImage
InputRequired
MaskMask
InputRequired
ImageImage
Output

Fill

Source Locality (%)Integer
Default: 50 Range: 0–100

How far across the image Inpaint looks for texture to fill the masked area with.

  • Nearby prefers texture close to the mask.
  • Global widens the search across the whole image.

Start at the default. Move toward Nearby when something from a distant part of the image is being pulled into the fill. Move toward Global when the texture you want is farther from the area you are removing.

Mask

Mask FromChoice
Default: Luminance
Color image connected to the mask input

How the connected color image is read as a mask

  • LuminanceRead the image's brightness as the mask. The default.
  • AlphaRead the image's transparency as the mask.
  • RedUse the red channel as the mask.
  • GreenUse the green channel as the mask.
  • BlueUse the blue channel as the mask.
  • Mask a little wider than the object. Include its shadow, soft edge, and any halo; a leftover rim gives the fill something wrong to continue.
  • Give it something to copy. A mask surrounded by plenty of the same material fills convincingly; a mask that touches the edge of the frame, or covers nearly everything, leaves nothing to sample.
  • Repeating structure and organic texture are the easy cases. Brick, tile, fencing, and window grids rebuild cleanly, and so do grass, sand, foliage, cloud, and stone.
  • Continuing an edge is harder than filling a field. A mask straddling a horizon or a roofline has to carry that line across the gap, so give the contour a good run of clean image on both sides.
  • Gradients need room. Skies and soft falloffs rebuild well around a small mask; a huge mask in a smooth gradient can band.
  • Split a large removal into passes. Chaining a second Inpaint after the first usually beats one big fill.