FL Inpaint Stitch
Paste your inpainted crop back where it came from
- stitch
- inpainted_image
- image
This node only makes sense paired with its partner, FL_InpaintCrop, and it's worth understanding the pair as one unit rather than two separate tools. FL_InpaintCrop takes your full image and mask, crops tightly around the masked region so your sampler spends its resolution budget on the part that actually matters, and hands you a stitch bundle carrying the coordinates needed to reverse that crop. FL_Inpaint_Stitch is the reverse step: it takes that stitch bundle plus your generated result and pastes it back into the original image, at the original position and scale.
That crop-then-stitch pattern is the standard way to inpaint in 2026 for a reason - it guarantees everything outside your mask survives the round-trip completely untouched, instead of quietly degrading through a VAE encode/decode of the whole frame.
How it works
The stitch object from FL_InpaintCrop remembers where the crop came from, how it was scaled to hit the sampler's target resolution, and what the mask boundary looked like. FL_Inpaint_Stitch reverses all of that: it rescales your inpainted_image back down (or up) to the crop's original dimensions, then alpha-composites it into the full original image at the exact coordinates the crop was taken from. The result is a full-size image identical to the original everywhere except inside the masked region, which now carries your new generation.
The inputs and outputs that matter
Both required, and both come from a specific place:
stitch- the STITCH object output by FL_InpaintCrop. This isn't something you construct by hand; it's opaque data meant to travel from that node to this one.inpainted_image- whatever your sampler produced from FL_InpaintCrop'scropped_imageoutput, after your inpainting pass.
Output: a single image - the full original image with the inpainted region composited back in.
How to install it
Ships in ComfyUI_Fill-Nodes alongside FL_InpaintCrop. ComfyUI Manager: search ComfyUI_Fill-Nodes, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
pip install -r ComfyUI_Fill-Nodes/requirements.txt
then restart. No model download for this node specifically - it's geometry and alpha compositing.
Common issues & troubleshooting
Mismatched stitch data is the number-one failure mode. The stitch input has to come from the same FL_InpaintCrop call that produced the crop you generated on. If your graph has more than one crop-and-stitch pair running in parallel, or you accidentally reused an old stitch bundle after re-running the crop node, the paste lands in the wrong place or at the wrong scale. Keep each crop → sample → stitch chain visually contained in your graph so it's obvious which stitch feeds which inpaint.
Visible seam at the crop boundary. Crop-and-stitch guarantees pixel-perfect preservation outside the mask, but a hard edge right at the mask boundary is still possible if the mask itself has a hard edge. A touch of feather or blur on the mask back at the FL_InpaintCrop stage (before generation) is what actually fixes this - this node just composites what it's given, it doesn't blend seams on its own.
Don't skip the crop node. This node's stitch input is meaningless without it - FL_Inpaint_Stitch is one half of a pair, not a general-purpose paste tool. If you find yourself trying to build a stitch object from scratch or from a different crop node, that's a sign you want a different compositing node (FL_PasteByMask, for instance) instead.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| stitch | STITCH | — | |
| inpainted_image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |