Nodes/comfy_Pond_Nodes/🐳人像美化
ComfyUI Node

🐳人像美化

A free, model-free portrait retoucher

By Pondowner857·Created about a year ago·Updated 21 days ago· 45
🐳人像美化
  • image
  • IMAGE
磨皮强度0.50
美白程度0.00
红润度0.00
细节保留0.50
去瑕疵true
眼睛增强0.00
牙齿美白0.00

Skin Enhancement (🐳人像美化) is a one-node portrait retoucher: smooth the skin, whiten it, add warmth, kill blemishes, sharpen the eyes, brighten teeth - all of it deterministic and free. No model, no VRAM, no per-image seed lottery. That's the whole appeal, and it's worth being clear about what you're getting: this is a classic OpenCV beauty filter, the same genre as the "smooth skin" sliders in every phone camera app, not an AI detailer. If a face is fundamentally broken - melted features, wrong anatomy - this node can't fix that. That's an ADetailer re-render job. But for "good render, slightly plastic skin and dull eyes," this is the cheapest polish you'll get.

The pipeline reads like a photography retoucher's checklist, applied through a skin mask. First it detects skin using the classic YCrCb color range (a well-trodden approach that mostly works on human skin tones and mostly ignores background), then cleans the mask with morphology. On that mask it applies, in order: bilateral-filter smoothing (edge-preserving blur, so you don't lose facial contours - the exact tool the KB's post-processing doc says to use for skin instead of a plain Gaussian), a detail-preservation pass that re-adds a high-pass detail layer so the result isn't a wax sculpture, HSV-based whitening, a blush pass that adds warmth to the red channel, and median-blur blemish removal. Eyes and teeth get their own global passes: sharpening for eyes, and a near-white region boost for teeth.

The inputs map cleanly onto that list: 磨皮强度 (smoothing, 0-1, default 0.5), 美白程度 (whitening, 0-1), 红润度 (blush/warmth, 0-1), 细节保留 (detail preservation, 0-1, default 0.5 - the antidote to the "airbrushed plastic" look), 去瑕疵 (blemish removal, on by default), 眼睛增强 (eye sharpening, 0-1), and 牙齿美白 (teeth whitening, 0-1). Input is image, output is the enhanced IMAGE. Batch-safe - it loops every frame.

How to actually use it

Start with defaults and go gentle. The slider that separates "nice" from "doll" is 细节保留: keep it at 0.5 or above while smoothing is up, and resist the urge to crank 磨皮强度 past ~0.6 on a photo. 美白程度 and 红润度 default to 0 for a reason - a touch of both reads as a healthy retouch, a lot of both reads as a filter from 2012. For a before/after check, it's a small pack (this one has no image-comparison node - it's just a single image in, image out), so split the workflow and preview.

Where people get burned: the skin detection is a color-range heuristic, so anything that's skin-colored but isn't skin - a wooden floor, a red-brown background, an orange shirt - gets smoothed too. And because the eye/teeth passes are global rather than landmark-based (the code admits these are simplified), a frame with no visible face can still get contrast-sharpened in odd places. Feed it portraits, not landscapes.

Install

Part of Pond Nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/Pondowner857/comfy_Pond_Nodes
cd comfy_Pond_Nodes
pip install -r requirements.txt

Restart after (or install via Manager under "comfy_Pond_Nodes"). This node needs opencv-python, which the pack's requirements pull in automatically. Usual pack caveat: if your console scrolls endlessly after install, check for a comfyui_HiDream-Sampler conflict - the README calls it out explicitly.

Category🐳Pond/颜色

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
磨皮强度FLOAT0.500–1
美白程度FLOAT0.000–1
红润度FLOAT0.000–1
细节保留FLOAT0.500–1
去瑕疵BOOLEANtrue
眼睛增强FLOAT0.000–1
牙齿美白FLOAT0.000–1

Outputs (1)

NameTypeDescription
IMAGEIMAGE