PixelPro for ComfyUI
Pro-grade retouch, colour and mask tools for ComfyUI — 44 GPU nodes built on PyTorch + Kornia.
English · Tiếng Việt · Documentation
What it is
PixelPro brings the techniques of a professional retouching desk into ComfyUI as plain nodes: frequency separation, luminosity masks, LAB colour matching, LUTs, a Photoshop-style layer stack, hair-accurate alpha mattes, face alignment and paste-back, plus QA metrics to check your result.
- Real retouch techniques, not renamed filters: every node does what a retoucher expects from its name.
- GPU first, CPU safe. Heavy filters run on CUDA with bounded memory, and everything also runs on CPU.
- Built for AI pipelines. Align a face, run inpaint or ControlNet, paste it back seamlessly. Masks work with any segmenter.
- Tested and documented. 800+ automated tests, sample workflows, and a bilingual guide for every node.
Install
ComfyUI Manager: search for ComfyUI-JH-PixelPro, install, restart ComfyUI.
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/jetthuangai/ComfyUI-JH-PixelPro.git
cd ComfyUI-JH-PixelPro
pip install -r requirements.txt # use the Python that runs ComfyUI
Restart ComfyUI. The nodes appear under Add Node → ComfyUI-JH-PixelPro.
Requirements: Python 3.10+, PyTorch (from ComfyUI), Kornia ≥ 0.7, MediaPipe ≥ 0.10, OpenCV ≥ 4.8, SciPy ≥ 1.10. An NVIDIA GPU with 8 GB+ VRAM is recommended; CPU works too.
Quick start
- Copy
workflows/sample_portrait.jpg(andsample_binary_mask.png) intoComfyUI/input/. - Drag any workflow from
workflows/onto the canvas, for example the CLAHE, Face Detect Lite or Mask Cleanup examples. - Queue the prompt and change one setting at a time.
Full walk-through: Quickstart.
The 44 nodes
Each name links to its guide (settings, tips, before/after image).
Color & Tone · 13
| Node | What it does |
|---|---|
| ColorLab | Camera Raw style panel: exposure, contrast, highlights/shadows, texture, clarity, dehaze, HSL, colour grading, B&W mix. |
| Tone Curve | Smooth master or per-channel RGB curves with presets. |
| Color Matcher | Transfer the colour of a reference photo in LAB. |
| Color Matcher Region | Match colour between two masked regions, any image sizes. |
| CLAHE Local Contrast | Adaptive local contrast on lightness only; colours stay put. |
| Hue/Saturation per Range | Shift hue or saturation of one colour band. |
| Luminosity Masking | Shadow, midtone and highlight masks. |
| Saturation Mask | Select by colour strength. |
| LUT Preset | Bundled .cube looks from a dropdown. |
| LUT Import | Apply any .cube LUT, with mask and strength. |
| LUT Export | Bake a graded HALD into a .cube file. |
| HALD Identity | Neutral HALD image to grade into a LUT. |
| Tone Match LUT | Generate a .cube from one graded reference frame. |
Masks · 10
| Node | What it does |
|---|---|
| Sub-Pixel Mask Refiner | Turn a hard mask into a soft alpha edge, protecting the inside and outside. |
| Edge-Aware Mask Refiner | Snap a mask edge to the real edges of the photo (guided filter). |
| Trimap Builder | Foreground / unknown / background map for matting. |
| Alpha Matte | Closed-form matting: hair-accurate alpha from a trimap. |
| Mask Morphology | Grow, shrink, open, close and other shape operations on a mask. |
| Mask Combine | Add, subtract, intersect, union or multiply two masks. |
| Mask Edge Smoother | Bilateral cleanup of jagged mask edges (CPU or GPU). |
| Mask Cleanup | Remove specks, fill holes, distance feather. |
| Mask Preview | See any mask as overlay, heatmap or cutout. |
| Detail Mask | Mask of fine detail (hair, eyes, texture) to protect or sharpen. |
Face · 8
| Node | What it does |
|---|---|
| Face Detect | MediaPipe face boxes and 5-point landmarks. |
| Face Detect Lite | Fast YuNet detector on the GPU, with a face mask and real confidence. |
| Face Landmarks | 468-point face mesh for reshaping. |
| Face Warp | Reshape by moving landmarks (per-triangle). |
| Face Warp TPS | Same idea with one smooth thin-plate-spline field, no seams. |
| Unwrap Face | Paste an edited aligned face back onto the original. |
| Face Beauty Blend | Blend a retouched face plate in with mask and strength. |
| Skin Tone Tri-Region | Shadow / midtone / highlight masks of the skin. |
Compositing · 5
| Node | What it does |
|---|---|
| Layer Stack Start | Start a layer stack from a background. |
| Layer Add | Add a layer with blend mode, opacity, fill, mask and clipping. |
| Layer Group | Nest a sub-stack as one grouped layer. |
| Layer Flatten | Render the stack to an image. |
| Pyramid Blend | Multi-band blending for seamless composites. |
Filters · 3 · Geometry · 3 · Looks · 1 · QA · 1
| Node | What it does |
|---|---|
| Frequency Separation | Split colour/tone (low) from texture (high). |
| Skin Smoother | Edge-preserving skin smoothing with mask and strength. |
| Smart Sharpen | Unsharp mask on luminance, with threshold and mask. |
| Facial Aligner | Align a face to a standard square crop; outputs the matrix Unwrap Face needs to paste it back. |
| Lens Distortion | Correct or add barrel/pincushion distortion. |
| Auto Align | Align a second shot to a reference (SIFT or LoFTR). |
| Look Select | Finished colour looks with intensity. |
| QA Image Diff | SSIM, PSNR and a diff heatmap between two images. |
Documentation
- Guide (EN / VI): https://jetthuangai.github.io/ComfyUI-JH-PixelPro/
- Sample workflows:
workflows/README.md - Changes: CHANGELOG.md
License
Apache-2.0. See LICENSE. Sample portrait by cottonbro studio on Pexels (Pexels License).
Maintained by JH (@jetthuangai).