color_match_adv
Match one image's grade onto another, with a skin-protection dial
- ref_img
- target_image
- target_mask
- image
This is the "make this shot look like that shot" tool. color_match_adv takes a reference image and pushes a target image's color toward it - useful for matching a generation to a reference photo's grade, or keeping a batch visually consistent by matching everything back to one hero frame. It's under Apt_Preset/image/color_adjust.
The interesting part is skin_protection. Naive color matching - pushing a whole image's tone and histogram toward a reference - is notorious for wrecking skin, because skin sits in a narrow color band that generic matching algorithms don't treat specially. This node bakes in a dedicated dial to pull the match back off skin-colored pixels instead of leaving you to fix it after the fact.
How it works
ref_img supplies the target grade; target_image is what gets pushed toward it. strength scales the overall match intensity. brightness_range, contrast_range, saturation_range, and tone_strength each read as a ceiling on how far the tool is allowed to push that specific property while matching, rather than a fixed target - think of them as guardrails on an otherwise automatic process. skin_protection pulls matching back off skin-toned pixels specifically.
The inputs and outputs that matter
ref_imgandtarget_image(both required IMAGE) - reference grade, and the image getting matched to it.strength(0.1-2, default 1) - the dial to reach for first if the match looks too aggressive or too weak.skin_protection(0-1, default 0.2) - keep this above 0 on anything with people in it; the default is modest for a reason.brightness_range/contrast_range/saturation_range(0.1-2 each, default 0.5) andtone_strength(0.1-2, default 0.5) - per-property limits on the match.- Optional
target_mask- restrict matching to a masked region oftarget_image. - Output:
image.
How to install it
Through ComfyUI Manager: search "ComfyUI-Apt_Preset", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
then run install.bat (Windows) or install requirements manually on Linux/Mac, and restart. No model downloads for this node.
Common issues & troubleshooting
Match looks too aggressive or "painted on." Lower strength first, before touching the individual *_range sliders - it's the more direct control.
Skin tones shift despite the protection dial. Push skin_protection higher toward 1 rather than lowering overall strength - that's the targeted fix, since strength affects the whole image and skin_protection is specifically scoped to skin-colored pixels.
Result barely changes. Check strength and tone_strength aren't both sitting near their low end (0.1) - this node needs some intensity dialed in to be visible.
Want to see the match before committing? color_match_adv_visual has the identical parameter set, flagged as an output node for live preview.
IMPORT FAILED on the pack. ComfyUI-Apt_Preset is large and updates often; users have reported import failures after some updates. Reinstall via Manager before assuming it's this node.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| ref_img | IMAGE | — | |
| target_image | IMAGE | — | |
| strength | FLOAT | 1.00.1–2 | — |
| skin_protection | FLOAT | 0.20–1 | — |
| brightness_range | FLOAT | 0.50.1–2 | — |
| contrast_range | FLOAT | 0.50.1–2 | — |
| saturation_range | FLOAT | 0.50.1–2 | — |
| tone_strength | FLOAT | 0.50.1–2 | — |
| target_maskopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |