2🐕Image cropping data stitching
Paste a processed crop back into the original image
- original_image
- cropped_image
- Crop_data
- image
This node is the second half of a pattern the README calls out directly under "refinement processing": crop a masked region out of an image, run it through whatever processing you want at full resolution, then stitch the result back into the original - instead of reprocessing the whole frame and losing detail on the small part you actually cared about. Image cropping data stitching is the stitch step.
It's the same core idea the wider ComfyUI ecosystem converged on independently, more than once. Impact Pack's detailer nodes do detect-crop-resample-paste for faces and hands; the popular Inpaint Crop & Stitch pack does the same thing generically for any masked region, and its whole selling point is that it doesn't touch anything outside the mask, not even passing the untouched pixels through a VAE round-trip. This node is ergouzi's own native version of that pattern, wired to work with the pack's own upstream cropping node rather than a third-party one.
How it works
Three required inputs. original_image is the full image you cropped a piece out of. cropped_image is that piece after you've done whatever processing you wanted to it (upscaled, inpainted, filtered - anything, as long as it stayed the same crop region). Crop_data, typed COORDS, is the positional data that says exactly where in the original that crop came from - this has to come from the matching cropping node earlier in the same chain, since it's what tells this node where to paste the processed piece back. The output is a single image: the original, with the processed crop composited back into place.
What to actually get right
There's no widget to tune here - this node lives or dies on the three connections being correct. Crop_data has to be the exact COORDS output from whatever node cropped cropped_image in the first place; feed it coordinates from a different crop and the paste lands in the wrong spot. If your processing step happened to resize the cropped image (a common thing to do before running a detail pass), make sure whatever you're feeding as cropped_image is still at the resolution this node expects to receive back, or check the pack for a resize/undo step if one exists in the chain you built.
Installing it
ComfyUI Manager: search "Comfyui-ergouzi-Nodes", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/11dogzi/Comfyui-ergouzi-Nodes.git
No models - this is pure image compositing. Standard note for the pack: the English repo is frozen, active development is in a separate Chinese-first sibling.
Common issues & troubleshooting
Visible seam where the patch meets the original. Expected without extra work - a raw paste rarely blends invisibly. Pair this node with the pack's own Seam Mask Generator (EG_JF_ZZSC), which takes your original mask and produces a feathered boundary band specifically for blending this kind of composite.
The patch is offset or in the wrong place entirely. Almost always a Crop_data mismatch - verify it's coming straight from the crop node that produced cropped_image, not from a different crop earlier in the graph or a stale cached value.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| original_image | IMAGE | — | |
| cropped_image | IMAGE | — | |
| Crop_data | COORDS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |