Nodes/h4_Live/h4 - Face Detailer
ComfyUI Node

h4 - Face Detailer

The face-refinement pass that fixes skin texture without changing the face

By m3rr·Created 9 months ago·Updated 10 days ago· 1
h4 - Face Detailer
  • image
  • model
  • clip
  • vae
  • bbox_detector
  • detailed_image
  • face_crop
guide_size512
guide_size_fortrue
max_megapixels2.0
steps20
cfg8.00
denoise0.30
sampler_name
scheduler
positivedetailed face, high qualty, skin texture, pore details
negativeblur, smooth, cartoon, anime, lowres
feather_mask32
force_inpainttrue

H4_FaceDetailer is h4_Live's answer to the classic face-detail problem, and the problem is structural, not a model defect: a face that occupies 70 pixels of a 1024px frame gets almost no latent budget, so it comes out smooth and smeared no matter how good your checkpoint is. The fix, shared by ADetailer and Impact Pack's FaceDetailer, is to give the face its own pass - detect it, crop it, re-render the crop at proper resolution, and paste it back. FaceDetailer does exactly that loop, tuned for faces, inside the h4 suite. Feed it an upscaled image and it returns the same image with real skin texture - pores, grain, detail - added to the face region.

It slots next to the pack's H4_FaceForge (which does swaps) and H4_IdentityEngine (which generates a character and can swap a face onto it). FaceDetailer is the third leg: "the Texture Fixer," the node that makes the face stop looking like plastic. Its README explicitly describes the pipeline as swap → cleanup → texture, and this is the texture step.

The inputs that matter

  • image, model, clip, vae - the image to refine and the stack used to render the detail pass. Note that the internal face detector is default; the optional bbox_detector input is declared but "not used yet."
  • guide_size - the resolution the face crop is processed at. The tooltip calls 512–768 the sweet spot. Higher = more detail and slower.
  • denoise - the most important knob. The tooltip is blunt: 0.30 adds texture without changing structure; above 0.5 the face starts changing. Start at 0.3 and creep up. This is the same denoise discipline as any inpainting pass.
  • steps, cfg, sampler_name, scheduler - the sampling settings for the crop.
  • positive / negative - short text prompts for the detail pass ("detailed face, high quality, skin texture, pore details"). Keep them simple; the tooltip says so.
  • feather_mask - softness of the paste edge in pixels. This is what hides the seam.
  • force_inpaint - use inpaint masking logic (better blending) vs a simple overlay. Leave it on.
  • max_megapixels - VRAM safety cap for the crop. Handy if you're tight on memory.

The outputs

  • detailed_image - the full image with the detailed face pasted back.
  • face_crop - the raw refined crop, useful for inspecting what the pass actually did to the face in isolation.

Installing

Standard h4_Live install: ComfyUI Manager → search "h4_Live", or:

cd ComfyUI/custom_nodes
git clone https://github.com/m3rr/h4_Live

restart. This node runs on the model stack you already have (it's a sampling pass, not a face-swap), so no extra libraries are required the way the swap nodes need insightface.

Where people get burned

The universal detailer failure modes from the wider ecosystem apply here unchanged: keep denoise low (0.3–0.4) or the face becomes a different person; watch for seams if feather_mask is tiny; and match CFG between the main pass and the detail pass or the patch visibly color-drifts. The KB's masking-detection-detailing doc spells out the "one pass per face, same base seed → a room of clones" crowd problem too, but that's for crowd shots - for a single portrait, this node is the right tool. Start with defaults, tune denoise, and it quietly makes faces look human again.

Categoryh4/IdentityEngine

Inputs (17)

NameTypeDefaultDescription
imageIMAGEThe upscaled image to refine.
modelMODELThe Model/LoRA stack used to generate the details.
clipCLIPCLIP model for text guidance.
vaeVAEVAE for encoding/decoding the face crop.
guide_sizeINT512256–2048Resolution to process the face at. Higher = More detail but slower. 512-768 is sweet spot.
guide_size_forBOOLEANtrueReference size for the bounding box or the actual crop? usually BBox is safer.
max_megapixelsFLOAT2.00.5–16Safety limit for VRAM usage.
stepsINT201–100Sampler steps for the detail pass.
cfgFLOAT8.000–100Creativity scale.
denoiseFLOAT0.300.01–1How much to hallucinate? 0.30 adds texture without changing structure. Above 0.5 will change the face.
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
positiveSTRINGdetailed face, high qualty, skin texture, pore detailsPrompts to guide the detailing. Keep it simple.
negativeSTRINGblur, smooth, cartoon, anime, lowresWhat to avoid.
feather_maskINT320–256Softness of the paste edge in pixels.
force_inpaintBOOLEANtrueUse inpaint masking logic (better blending) vs simple overlay.
bbox_detectoroptBBOX_DETECTOROptional external detector (not used yet, internal detector is default).

Outputs (2)

NameTypeDescription
detailed_imageIMAGE
face_cropIMAGE