Image Paste Face
Stitch a fixed-up face crop back into the original image
- image
- crop_image
- crop_data
- IMAGE
- MASK_IMAGE
Image Paste Face is the second half of a two-step workflow: crop a face out with the suite's Image Crop Face, do whatever face-fixing or restyling pass you want on that isolated crop, then paste it back into the original image at exactly the location and size it came from - using, per the README, "a better blending function than GFPGAN/CodeFormer so there shouldn't be visible seams." Full name in the README is Image Paste Face Crop; it's the counterpart specifically tuned for faces, as opposed to the suite's more general Image Paste Crop, which handles arbitrary regions with a different blending approach.
Why this two-step pattern exists
Faces occupying a small fraction of a generated image tend to come out mangled - not enough resolution devoted to them during sampling. The fix, universal across the ecosystem, is detect-crop-refine: pull the face out, process it at proper resolution, put it back. This node pair is WAS's version of that. If the name Impact Pack's FaceDetailer rings a bell, that's because it's the same underlying idea, just automated into a single node with a YOLO detector instead of the manual crop-then-paste steps here. FaceDetailer is the more common path today and handles multiple faces automatically - this suite's version, per its own README, only detects one face by design, "to make its use easy." If you need multi-face handling in one pass, that's the real limitation to know going in.
Real limitations, from the author directly
The README is unusually candid about where this breaks: sometimes no face gets found at all in a badly generated or heavily angled image; if the crop comes back black, it's typically because the padding setting was too large and pushed the crop past the image's edge - dial padding down when that happens; and the face_recognition detection mode specifically requires a CUDA GPU and occasionally flags things that aren't faces at all. Detection runs through a cascade of methods in sequence, trying the next one if the first finds nothing.
Installing it
Through ComfyUI Manager: search "WAS Node Suite", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui
cd was-node-suite-comfyui
pip install -r requirements.txt
Face detection resources live in the repo's ./res/ folder - if you used the legacy single-file install method rather than the full git clone, you'll need to grab that folder manually, since the README notes the legacy path skips it.
Troubleshooting
Black or missing crops are almost always the padding-versus-edge issue described above, straight from the author. If detection keeps missing faces on otherwise reasonable images, try angling expectations down - the README is explicit that off-angle or badly-generated faces are a known weak spot, not something a setting will reliably fix.
And, per the pack-wide pattern: WAS Node Suite hasn't had active development since December 2023, so an import failure after a ComfyUI update is a suite-wide dependency issue far more often than it's this node specifically.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | The full-size image to paste into, normally the same one the face was cropped from. | |
| crop_image | IMAGE | The reworked face to paste back. It is resized to the size recorded in crop_data, so it may be scaled up or down on the way in. | |
| crop_data | CROP_DATA | The crop window from Image Crop Face, which says where the face belongs. That node passes False here when it found no face, and this returns the image untouched with a black mask. | |
| crop_blending | FLOAT | 0.250–1 | How much of each pasted edge is faded out, as a fraction of the crop. 0.0 gives a hard visible seam, 0.25 fades the outer quarter of each edge, and 1.0 fades right across the crop so only its centre is fully opaque. |
| crop_sharpening | INT | 00–3 | How many sharpening passes to run on the face before pasting, to recover detail lost to resizing. 0 pastes it as it is; 3 is the strongest and tends to leave halos around the eyes and hair. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | The full-size image with the face composited back into it. |
| MASK_IMAGE | IMAGE | The blend mask the paste used, full size and black outside the window. White is where the face fully replaced the image, so it shows how far the seam was faded. |