FaceDetailer (pipe)
FaceDetailerPipeThis 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
{
"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
| Name | Type | Status | Constraints | Default |
|---|---|---|---|---|
image | IMAGE | required | - | - |
detailer_pipe? | DETAILER_PIPE | required | - | - |
guide_size | FLOAT | required | min: 64, max: 16384, step: 8 | 512 |
guide_size_for | BOOLEAN | required | - | true |
max_size | FLOAT | required | min: 64, max: 16384, step: 8 | 1024 |
seed | INT | required | min: 0, max: 1.84e+19 | 0 |
steps | INT | required | min: 1, max: 10000 | 20 |
cfg | FLOAT | required | min: 0, max: 100 | 8 |
sampler_name | ENUM44 options
| required | - | - |
scheduler | ENUM17 options
| required | - | - |
denoise | FLOAT | required | min: 0.0001, max: 1, step: 0.01 | 0.5 |
feather | INT | required | min: 0, max: 100, step: 1 | 5 |
noise_mask | BOOLEAN | required | - | true |
force_inpaint | BOOLEAN | required | - | true |
bbox_threshold | FLOAT | required | min: 0, max: 1, step: 0.01 | 0.5 |
bbox_dilation | INT | required | min: -512, max: 512, step: 1 | 10 |
bbox_crop_factor | FLOAT | required | min: 1, max: 10, step: 0.1 | 3 |
sam_detection_hint | ENUM9 options
| required | - | - |
sam_dilation | INT | required | min: -512, max: 512, step: 1 | 0 |
sam_threshold | FLOAT | required | min: 0, max: 1, step: 0.01 | 0.93 |
sam_bbox_expansion | INT | required | min: 0, max: 1000, step: 1 | 0 |
sam_mask_hint_threshold | FLOAT | required | min: 0, max: 1, step: 0.01 | 0.7 |
sam_mask_hint_use_negative | ENUM3 options
| required | - | - |
drop_size | INT | required | min: 1, max: 16384, step: 1 | 10 |
refiner_ratio | FLOAT | required | min: 0, max: 1 | 0.2 |
cycle | INT | required | min: 1, max: 10, step: 1 | 1 |
inpaint_model | BOOLEAN | optional | - | false |
noise_mask_feather | INT | optional | min: 0, max: 100, step: 1 | 20 |
scheduler_func_opt | SCHEDULER_FUNC | optional | - | - |
tiled_encode | BOOLEAN | optional | - | false |
tiled_decode | BOOLEAN | optional | - | false |
Outputs
| Index | Name | Type | Is List | Connection Reference |
|---|---|---|---|---|
0 | image | IMAGE | No | ["{node_id}", 0] |
1 | cropped_refined | IMAGE | Yes | ["{node_id}", 1] |
2 | cropped_enhanced_alpha | IMAGE | Yes | ["{node_id}", 2] |
3 | mask | MASK | No | ["{node_id}", 3] |
4 | detailer_pipe | DETAILER_PIPE | No | ["{node_id}", 4] |
5 | cnet_images | IMAGE | Yes | ["{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]