Skip to main content

FaceDetailer (pipe)

ImpactPack/Simple
FaceDetailerPipe

This node enhances details by automatically detecting specific objects in the input image using detection models (bbox, segm, sam) and regenerating the image by enlarging the detected area based on the guide size. Although this node is specialized to simplify the commonly used facial detail enhancement workflow, it can also be used for various automatic inpainting purposes depending on the detection model.

Example

JSON Example
{
  "class_type": "FaceDetailerPipe",
  "inputs": {
    "image": [
      "node_id",
      0
    ],
    "detailer_pipe": [
      "node_id",
      0
    ],
    "guide_size": 512,
    "guide_size_for": true,
    "max_size": 1024,
    "seed": 0,
    "steps": 20,
    "cfg": 8,
    "sampler_name": "euler",
    "scheduler": "simple",
    "denoise": 0.5,
    "feather": 5,
    "noise_mask": true,
    "force_inpaint": true,
    "bbox_threshold": 0.5,
    "bbox_dilation": 10,
    "bbox_crop_factor": 3,
    "sam_detection_hint": "center-1",
    "sam_dilation": 0,
    "sam_threshold": 0.93,
    "sam_bbox_expansion": 0,
    "sam_mask_hint_threshold": 0.7,
    "sam_mask_hint_use_negative": "False",
    "drop_size": 10,
    "refiner_ratio": 0.2,
    "cycle": 1
  }
}

This example shows required inputs only. Connection values like ["node_id", 0] should reference actual node IDs from your workflow.

Inputs

NameTypeStatusConstraintsDefault
imageIMAGErequired--
detailer_pipe?DETAILER_PIPErequired--
guide_sizeFLOATrequiredmin: 64, max: 16384, step: 8512
guide_size_forBOOLEANrequired-true
max_sizeFLOATrequiredmin: 64, max: 16384, step: 81024
seedINTrequiredmin: 0, max: 1.84e+190
stepsINTrequiredmin: 1, max: 1000020
cfgFLOATrequiredmin: 0, max: 1008
sampler_nameENUM
44 options
  • euler
  • euler_cfg_pp
  • euler_ancestral
  • euler_ancestral_cfg_pp
  • heun
  • heunpp2
  • exp_heun_2_x0
  • exp_heun_2_x0_sde
  • dpm_2
  • dpm_2_ancestral
  • lms
  • dpm_fast
  • dpm_adaptive
  • dpmpp_2s_ancestral
  • dpmpp_2s_ancestral_cfg_pp
  • dpmpp_sde
  • dpmpp_sde_gpu
  • dpmpp_2m
  • dpmpp_2m_cfg_pp
  • dpmpp_2m_sde
  • dpmpp_2m_sde_gpu
  • dpmpp_2m_sde_heun
  • dpmpp_2m_sde_heun_gpu
  • dpmpp_3m_sde
  • dpmpp_3m_sde_gpu
  • ddpm
  • lcm
  • ipndm
  • ipndm_v
  • deis
  • res_multistep
  • res_multistep_cfg_pp
  • res_multistep_ancestral
  • res_multistep_ancestral_cfg_pp
  • gradient_estimation
  • gradient_estimation_cfg_pp
  • er_sde
  • seeds_2
  • seeds_3
  • sa_solver
  • sa_solver_pece
  • ddim
  • uni_pc
  • uni_pc_bh2
required--
schedulerENUM
17 options
  • simple
  • sgm_uniform
  • karras
  • exponential
  • ddim_uniform
  • beta
  • normal
  • linear_quadratic
  • kl_optimal
  • AYS SDXL
  • AYS SD1
  • AYS SVD
  • GITS[coeff=1.2]
  • LTXV[default]
  • OSS FLUX
  • OSS Wan
  • OSS Chroma
required--
denoiseFLOATrequiredmin: 0.0001, max: 1, step: 0.010.5
featherINTrequiredmin: 0, max: 100, step: 15
noise_maskBOOLEANrequired-true
force_inpaintBOOLEANrequired-true
bbox_thresholdFLOATrequiredmin: 0, max: 1, step: 0.010.5
bbox_dilationINTrequiredmin: -512, max: 512, step: 110
bbox_crop_factorFLOATrequiredmin: 1, max: 10, step: 0.13
sam_detection_hintENUM
9 options
  • center-1
  • horizontal-2
  • vertical-2
  • rect-4
  • diamond-4
  • mask-area
  • mask-points
  • mask-point-bbox
  • none
required--
sam_dilationINTrequiredmin: -512, max: 512, step: 10
sam_thresholdFLOATrequiredmin: 0, max: 1, step: 0.010.93
sam_bbox_expansionINTrequiredmin: 0, max: 1000, step: 10
sam_mask_hint_thresholdFLOATrequiredmin: 0, max: 1, step: 0.010.7
sam_mask_hint_use_negativeENUM
3 options
  • False
  • Small
  • Outter
required--
drop_sizeINTrequiredmin: 1, max: 16384, step: 110
refiner_ratioFLOATrequiredmin: 0, max: 10.2
cycleINTrequiredmin: 1, max: 10, step: 11
inpaint_modelBOOLEANoptional-false
noise_mask_featherINToptionalmin: 0, max: 100, step: 120
scheduler_func_optSCHEDULER_FUNCoptional--
tiled_encodeBOOLEANoptional-false
tiled_decodeBOOLEANoptional-false

Outputs

IndexNameTypeIs ListConnection Reference
0imageIMAGENo["{node_id}", 0]
1cropped_refinedIMAGEYes["{node_id}", 1]
2cropped_enhanced_alphaIMAGEYes["{node_id}", 2]
3maskMASKNo["{node_id}", 3]
4detailer_pipeDETAILER_PIPENo["{node_id}", 4]
5cnet_imagesIMAGEYes["{node_id}", 5]
How to connect to these outputs

To connect another node's input to an output from this node, use the connection reference format:

["node_id", output_index]

Where node_id is the ID of this FaceDetailerPipe node in your workflow, and output_index is the index from the table above.

Example

If this node has ID "5" in your workflow:

  • image (IMAGE): ["5", 0]
  • cropped_refined (IMAGE): ["5", 1]
  • cropped_enhanced_alpha (IMAGE): ["5", 2]
Was this page helpful?