Nodes/LLS-node/LLS Pro Image Edit Finish
ComfyUI Node

LLS Pro Image Edit Finish

Blend, match color, restore, preview

By Gin3601·Created 3 months ago·Updated 3 months ago· 0
LLS Pro Image Edit Finish
  • original_image
  • generated_image
  • edit_info
  • work_mask
  • final_image
  • preview_image
feather8.0
color_matchdisabled
brightness_matchenabled
blend_strength1.00
restore_unmasked_areatrue
edge_fixsoft
preview_modefinal
sample_info

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, or histogram_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 (default enabled) - 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, strong for 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.

CategoryLLS/Image Edit

Inputs (12)

NameTypeDefaultDescription
original_imageIMAGE
generated_imageIMAGE
edit_infoLLS_EDIT_INFO
featherFLOAT8.00–256
color_matchCOMBOdisabled3 options: disabled, mean_std, histogram_simple
brightness_matchCOMBOenabled2 options: disabled, enabled
blend_strengthFLOAT1.000–1
restore_unmasked_areaBOOLEANtrue
edge_fixCOMBOsoft3 options: none, soft, strong
preview_modeCOMBOfinal4 options: final, compare, mask, before_after
work_maskoptMASK
sample_infooptSTRING

Outputs (2)

NameTypeDescription
final_imageIMAGE
preview_imageIMAGE