LLS Pro Image Edit Finish
Blend, match color, restore, preview
- original_image
- generated_image
- edit_info
- work_mask
- final_image
- preview_image
Every local edit pipeline ends the same way: you've got the original image, you've got the freshly generated edit, and the hard part is putting them together without a visible seam. LLS Pro Image Edit Finish is the node that does that compositing - and it's where the Pro chain earns its name, because it has the tools to actually hide the join.
You feed it the original_image, the generated_image, and the edit_info that Prepare produced, and it figures out how the generated output maps back onto the original based on the edit scope (region, crop, or canvas). That mapping matters: a cropped edit needs to be re-pasted at the right coordinates; a canvas-expanded edit needs the expanded region placed back; a region edit gets composited directly. The node also requires a work_mask (passed through from Prepare) to know exactly where the edit happened.
The dials that fix the seam
feather(default 8) - soften the mask edge so the composite blends instead of sitting on a hard line. This is the first thing to touch when you see a seam.color_match-disabled,mean_std, orhistogram_simple. When the generated region's color drifts from the original (a classic problem with edit models), these shift it toward the surrounding tones.brightness_match(defaultenabled) - evening out exposure between the edit and the original.blend_strength(default 1) - how strongly the generated result wins inside the mask. Lower it to let the original show through.restore_unmasked_area(default on) - guarantees the pixels outside the mask come back bit-identical from the original. Turn this off only if you deliberately want a full-frame blend.edge_fix-none,soft,strongfor extra edge cleanup.
The preview modes
preview_mode gives you final, compare, mask, and before_after. When you're iterating on an edit, before_after is your best friend - see both sides without saving. There are two outputs: final_image (the composited result) and preview_image (according to the current preview mode).
Where it fits
It's the last node in the Pro chain - Prepare → Pro KSampler Bridge → VAE Decode → Finish - and the complement to Prepare in every way: Prepare decides the geometry, Finish fixes the presentation. If you're comparing it to the Simple repair chain's Finish, the Pro version is the one with the color and edge machinery, which is exactly what you want when you're holding onto a native-edit model's results.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/Gin3601/LLS-node
# restart ComfyUI
Or ComfyUI Manager → search "LLS-node". Pure tensor compositing, no model downloads.
Gotchas
It hard-errors if work_mask isn't connected - the node can't do its job without knowing the edit boundary, and it won't guess. Also worth knowing: color_match on mean_std can flatten the texture in the edited region; start with brightness_match alone and only escalate to color matching if the tone is actually off. And remember the KB's advice: if your seams persist no matter the feather, the problem is usually upstream - the mask edge was too hard when the sampler ran, not too hard when you composited.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| original_image | IMAGE | — | |
| generated_image | IMAGE | — | |
| edit_info | LLS_EDIT_INFO | — | |
| feather | FLOAT | 8.00–256 | — |
| color_match | COMBO | disabled | 3 options: disabled, mean_std, histogram_simple |
| brightness_match | COMBO | enabled | 2 options: disabled, enabled |
| blend_strength | FLOAT | 1.000–1 | — |
| restore_unmasked_area | BOOLEAN | true | — |
| edge_fix | COMBO | soft | 3 options: none, soft, strong |
| preview_mode | COMBO | final | 4 options: final, compare, mask, before_after |
| work_maskopt | MASK | — | |
| sample_infoopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| final_image | IMAGE | — |
| preview_image | IMAGE | — |