Floniks
Workflows vs Single Steps

An Inpainting and Object-Removal Workflow

Updated 2026-06-19·9 min read
Key takeaway

Inpainting lets you surgically remove unwanted objects, logos, people, or blemishes from an image while filling the gap with contextually appropriate background content — all without leaving the AI pipeline. This guide explains how to build a reusable inpainting and object-removal workflow inside the Floniks editor: how to supply a mask, how to write a fill prompt that matches the surrounding scene, how to chain a refinement pass for seamless edges, and how to handle tricky cases like glass reflections or structured backgrounds such as brick walls and tile floors. By the end you will have a multi-step workflow that handles object removal reliably and can be saved as a template for repeated use.

What Inpainting Is and When to Use It

Inpainting is a conditional image-generation technique in which a model fills a user-defined masked region of an existing image to match the surrounding context. It is distinct from whole-image generation because the unmasked pixels are held fixed — only the masked area is synthesized. This makes it the correct tool for any situation where you want to alter a specific portion of an image without disturbing the rest of the composition.

Common use cases include removing watermarks, logos, or unwanted props from product photography; erasing bystanders from real-estate and event photos; cleaning up dust spots or sensor blemishes; removing a distracting sign or vehicle from a landscape shot; and replacing a cluttered counter with a clean surface in food photography. It is also widely used for restyling specific regions — swapping one garment for another, changing the color of a specific object, or repainting a wall texture — while leaving the rest of the scene intact.

The fundamental workflow has three steps: (1) define a mask that isolates the region to remove or change, (2) write a fill prompt that describes what should appear in the masked area, and (3) optionally refine the seam between the filled region and the original pixels. Floniks exposes all three steps as discrete nodes that you chain together in the /editor, which means you can iterate on any step without re-running the others.

Creating and Supplying the Mask

A mask is a binary image — white where inpainting should occur, black where pixels should remain untouched — at the same resolution as the input image. You can supply a mask in two ways inside the Floniks workflow editor. First, you can connect an upstream Mask Paint node, which presents a brush interface where you paint the region to remove before the workflow runs. Second, you can supply a pre-made mask image as a direct node input if you generated the mask externally using a segmentation tool or a simple photo editor.

Mask quality dramatically affects result quality. The most common mistake is a mask that is too tight — clipping the edge of the object so a thin ring of the original object remains after filling. Always expand your mask by 10–20 pixels beyond the visible boundary of the object you are removing. This feathered "bleed zone" gives the model enough unmasked context pixels to correctly reconstruct the background that was hidden behind the object. For objects with soft edges such as hair or translucent glass, use a soft-brush mask with a 30–50 pixel falloff rather than a hard binary edge.

For structured backgrounds such as tiled floors, wallpaper patterns, or wood-grain surfaces, paint the mask conservatively to preserve as many repeating-pattern reference pixels as possible. The model uses the surrounding unmasked region as context for what to synthesize inside the mask. The more pattern repetitions visible outside the mask, the more accurately the model can extrapolate the continuation of that pattern into the masked zone.

Writing the Fill Prompt

The fill prompt instructs the model what to place inside the masked region. For true object removal — where you want the background to continue behind the removed object — the fill prompt should describe the background material rather than any new object. Examples: for a product on a white seamless backdrop, use "clean white seamless backdrop, studio light, no objects"; for a street scene, use "continuation of brick sidewalk, ambient daylight, no people, no logos"; for a kitchen counter, use "polished granite counter surface, empty, ambient window light."

Avoid vague prompts such as "remove the object" or "empty space" — the model interprets these as instructions to generate an abstract or empty scene rather than a continuation of the background. Be specific about texture, lighting direction, and color temperature. If the surrounding background has visible shadows, mention "soft ambient shadows consistent with surrounding scene" to prevent a flat, shadow-free fill that looks composited.

Negative prompts are equally important in inpainting. Add negative tokens that explicitly name the object you are removing: if you are removing a watermark, include "watermark, text, logo, copyright" as negative prompt tokens. If you are removing a person, include "person, human, hands, feet, shadow cast by person." This dual reinforcement — positive prompt describing the desired background, negative prompt naming the unwanted element — achieves significantly cleaner fills than a positive-only approach.

Chaining a Refinement Pass for Seamless Edges

Even a well-prompted inpainting pass sometimes produces subtle seam artifacts: a slightly different noise pattern at the mask boundary, a brightness mismatch between the filled region and the original pixels, or a repeating-texture misalignment. A refinement pass addresses all three. In your Floniks workflow, after the inpainting node, connect a second Image-to-Image node configured with a large overlap mask that covers both the filled region and a border of original pixels around it — typically 80–100 pixels on each side of the original mask boundary.

Set the denoising strength on this refinement node to a low value such as 0.3–0.4 so the model makes only subtle adjustments rather than regenerating the region entirely. This low-strength pass blends the boundary pixels together, matching their noise grain, local contrast, and color temperature without altering the successful fill from the first pass. Think of it as a "healing blend" rather than a second inpainting attempt.

After the refinement pass, connect a Sharpening or Micro-Detail node at strength 0.2–0.4 to recover any edge sharpness lost during the blending step. This three-node chain — inpaint, blend-refine, sharpen — is the standard architecture for production-quality object removal results that can withstand close inspection. Save this three-node chain as a named group in the Floniks editor so you can drop it into any future workflow as a single reusable block.

Handling Difficult Cases: Glass, Mirrors, and Patterns

Three background types consistently produce the hardest inpainting challenges: specular reflections on glass or metal surfaces, mirror or reflective floor scenes, and precisely repeating geometric patterns such as herringbone tile or fine woven fabric. Each requires a different mitigation strategy.

For glass and metal reflections, the fill prompt should explicitly reference the reflective nature of the surface: "polished stainless steel surface, specular highlight at upper-right, reflection of ambient light." Without this, the model may fill with a matte surface that clashes with the surrounding sheen. For mirrors, describe the virtual scene visible in the reflection rather than the physical surface: "reflection of bright interior space, soft window light, neutral walls."

For repeating geometric patterns, use the smallest possible mask to minimize the area the model must reconstruct. Large masked regions over tile or brick patterns frequently produce seam-shifted fills where the pattern is offset by a half-tile. Reduce this risk by painting the mask to align with natural grout lines or pattern breaks whenever possible, so the synthesized region starts and ends at a pattern boundary. If the offset artifact persists after the refinement pass, run a second low-strength inpainting pass using only the artifact region as a new mask — this iterative narrowing approach converges to a clean result in two to three passes for even the most challenging patterns.

Saving as a Reusable Template

An inpainting and object-removal workflow is most valuable when it can be invoked instantly on any new input image. Save the completed three-node chain — Mask Input, Inpaint, Blend-Refine, Sharpen — as a named template in Floniks. The template stores the node configuration (model selection, prompt scaffold, denoising strengths) but leaves the input image and mask as live parameters so each new job simply provides a new source image and a freshly painted mask.

For teams, publish the template so all members can access the same validated configuration. This eliminates the configuration drift that occurs when different team members tune the inpainting parameters independently. Add a brief description to the template noting the recommended mask bleed size, the negative prompt tokens to always include, and the two material categories (specular reflective, geometric pattern) that require prompt customization. With this documentation embedded in the template description, new users can produce production-quality object-removal results on their first run.

Step by step

  1. 1

    Open the editor and add an Image Input node

    Navigate to /editor and drag an Image Input node onto the canvas. Upload the source image containing the object you want to remove. Set output resolution to match the original image dimensions.

  2. 2

    Add a Mask Paint node and paint the region

    Connect a Mask Paint node to the Image Input node. Open the mask brush panel, set brush hardness to 80% and size to roughly 1.5x the object width. Paint over the object, extending 15–20 pixels beyond its visible boundary to include a bleed zone. For soft edges such as hair or glass, reduce brush hardness to 40%.

  3. 3

    Configure the Inpainting node with a fill prompt

    Add an Inpainting node and connect both the Image Input and Mask Paint outputs to it. Write a fill prompt describing the background material: for example "clean studio backdrop, soft box light from upper left, no objects, seamless surface." Add negative prompts naming the removed object. Set denoising strength to 0.85–0.95.

  4. 4

    Add a Blend-Refinement pass

    Connect an Image-to-Image node after the inpainting node. Set it to use a dilated version of the original mask (expand by 80 pixels) and set denoising strength to 0.30. This blends the seam boundary without regenerating the fill. Label this node "Seam Blend."

  5. 5

    Add a Sharpening node and run

    Connect a Sharpening node after the Seam Blend node at strength 0.25 to restore edge crispness. Connect the final output to an Output Collector node. Click Run, review the result, and if a seam artifact persists in a localized area, repaint just that sub-region as a new mask and re-run only the inpainting step.

  6. 6

    Save as a template

    Click Save as Template and name it "Object Removal — Standard 3-Pass." Add a description noting the recommended mask bleed size and negative prompt conventions. Future jobs use this template and only supply a new input image and freshly painted mask.

FAQ

How large should the mask bleed zone be for object removal?+

Extend the mask 10–20 pixels beyond the visible boundary of the object for hard-edged subjects. For subjects with soft edges such as hair, translucent objects, or motion-blurred items, use a soft-brush mask with a 30–50 pixel falloff to avoid leaving thin artifact rings at the boundary.

Why does my inpainting result show a visible seam at the mask boundary?+

A visible seam usually means the denoising strength is too low (the fill looks painted on) or the mask is too tight (original object pixels remain at the edge). Increase the mask bleed by 10 pixels and run a second Blend-Refinement pass at strength 0.30 covering the seam boundary to blend noise grain and color temperature between the filled region and the original pixels.

Related guides

Build it on Floniks

Image, video, digital humans, and reusable workflows on one canvas. Sign up gets you starter credits — no card required.

Explore Floniks