mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-05-27 09:27:24 +08:00
Some checks are pending
Python Linting / Run Ruff (push) Waiting to run
Python Linting / Run Pylint (push) Waiting to run
Build package / Build Test (3.10) (push) Waiting to run
Build package / Build Test (3.11) (push) Waiting to run
Build package / Build Test (3.12) (push) Waiting to run
Build package / Build Test (3.13) (push) Waiting to run
Build package / Build Test (3.14) (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Waiting to run
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Waiting to run
Execution Tests / test (macos-latest) (push) Waiting to run
Execution Tests / test (ubuntu-latest) (push) Waiting to run
Execution Tests / test (windows-latest) (push) Waiting to run
Test server launches without errors / test (push) Waiting to run
Unit Tests / test (macos-latest) (push) Waiting to run
Unit Tests / test (ubuntu-latest) (push) Waiting to run
Unit Tests / test (windows-2022) (push) Waiting to run
779 lines
19 KiB
JSON
779 lines
19 KiB
JSON
{
|
|
"revision": 0,
|
|
"last_node_id": 33,
|
|
"last_link_id": 0,
|
|
"nodes": [
|
|
{
|
|
"id": 33,
|
|
"type": "6062babb-b649-4a71-be9e-20ebce567744",
|
|
"pos": [
|
|
-450,
|
|
4240
|
|
],
|
|
"size": [
|
|
420,
|
|
400
|
|
],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "image",
|
|
"name": "image",
|
|
"type": "IMAGE",
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "face_landmarker",
|
|
"type": "FACE_LANDMARKER",
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "detector_variant",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "detector_variant"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "num_faces",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "num_faces"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "custom_face_oval",
|
|
"name": "regions.face_oval",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.face_oval"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "custom_lips",
|
|
"name": "regions.lips",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.lips"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "custom_left_eye",
|
|
"name": "regions.left_eye",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.left_eye"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "custom_right_eye",
|
|
"name": "regions.right_eye",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.right_eye"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"label": "custom_irises",
|
|
"name": "regions.irises",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.irises"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "model_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "model_name"
|
|
},
|
|
"link": null
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "face_landmarks",
|
|
"name": "face_landmarks",
|
|
"type": "FACE_LANDMARKS",
|
|
"links": []
|
|
},
|
|
{
|
|
"localized_name": "bboxes",
|
|
"name": "bboxes",
|
|
"type": "BOUNDING_BOX",
|
|
"links": []
|
|
},
|
|
{
|
|
"label": "mask",
|
|
"name": "MASK_1",
|
|
"type": "MASK",
|
|
"links": []
|
|
}
|
|
],
|
|
"title": "Image Face Detection (Mediapipe)",
|
|
"properties": {
|
|
"proxyWidgets": [
|
|
[
|
|
"11",
|
|
"detector_variant"
|
|
],
|
|
[
|
|
"11",
|
|
"num_faces"
|
|
],
|
|
[
|
|
"20",
|
|
"regions.face_oval"
|
|
],
|
|
[
|
|
"20",
|
|
"regions.lips"
|
|
],
|
|
[
|
|
"20",
|
|
"regions.left_eye"
|
|
],
|
|
[
|
|
"20",
|
|
"regions.right_eye"
|
|
],
|
|
[
|
|
"20",
|
|
"regions.irises"
|
|
],
|
|
[
|
|
"2",
|
|
"model_name"
|
|
]
|
|
],
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.22.0",
|
|
"enableTabs": false,
|
|
"tabWidth": 65,
|
|
"tabXOffset": 10,
|
|
"hasSecondTab": false,
|
|
"secondTabText": "Send Back",
|
|
"secondTabOffset": 80,
|
|
"secondTabWidth": 65
|
|
},
|
|
"widgets_values": []
|
|
}
|
|
],
|
|
"links": [],
|
|
"version": 0.4,
|
|
"definitions": {
|
|
"subgraphs": [
|
|
{
|
|
"id": "6062babb-b649-4a71-be9e-20ebce567744",
|
|
"version": 1,
|
|
"state": {
|
|
"lastGroupId": 2,
|
|
"lastNodeId": 158,
|
|
"lastLinkId": 140,
|
|
"lastRerouteId": 0
|
|
},
|
|
"revision": 0,
|
|
"config": {},
|
|
"name": "Image Face Detection (Mediapipe)",
|
|
"description": "Detects facial landmarks from an image using MediaPipe, outputting landmark data, face bounding boxes, and an optional face-region mask.",
|
|
"inputNode": {
|
|
"id": -10,
|
|
"bounding": [
|
|
-710,
|
|
4300,
|
|
148.880859375,
|
|
248
|
|
]
|
|
},
|
|
"outputNode": {
|
|
"id": -20,
|
|
"bounding": [
|
|
140,
|
|
4480,
|
|
137.677734375,
|
|
108
|
|
]
|
|
},
|
|
"inputs": [
|
|
{
|
|
"id": "705dc1ae-6dc9-4155-92df-52f816ad451e",
|
|
"name": "image",
|
|
"type": "IMAGE",
|
|
"linkIds": [
|
|
60
|
|
],
|
|
"localized_name": "image",
|
|
"pos": [
|
|
-585.119140625,
|
|
4324
|
|
]
|
|
},
|
|
{
|
|
"id": "d6277190-732c-4604-b7cd-d3a9588bf761",
|
|
"name": "face_landmarker",
|
|
"type": "FACE_LANDMARKER",
|
|
"linkIds": [
|
|
74
|
|
],
|
|
"pos": [
|
|
-585.119140625,
|
|
4344
|
|
]
|
|
},
|
|
{
|
|
"id": "ac473a08-6a86-42a7-b460-e70c6c5e1e2b",
|
|
"name": "detector_variant",
|
|
"type": "COMBO",
|
|
"linkIds": [
|
|
75
|
|
],
|
|
"pos": [
|
|
-585.119140625,
|
|
4364
|
|
]
|
|
},
|
|
{
|
|
"id": "1bec2252-ca2d-496e-8a33-33a61d21f897",
|
|
"name": "num_faces",
|
|
"type": "INT",
|
|
"linkIds": [
|
|
76
|
|
],
|
|
"pos": [
|
|
-585.119140625,
|
|
4384
|
|
]
|
|
},
|
|
{
|
|
"id": "17994fa2-0ea0-4c9b-a70a-19789c459c80",
|
|
"name": "regions.face_oval",
|
|
"type": "BOOLEAN",
|
|
"linkIds": [
|
|
77
|
|
],
|
|
"label": "custom_face_oval",
|
|
"pos": [
|
|
-585.119140625,
|
|
4404
|
|
]
|
|
},
|
|
{
|
|
"id": "1c6c5893-2aee-4c37-b702-15ef2e20d863",
|
|
"name": "regions.lips",
|
|
"type": "BOOLEAN",
|
|
"linkIds": [
|
|
78
|
|
],
|
|
"label": "custom_lips",
|
|
"pos": [
|
|
-585.119140625,
|
|
4424
|
|
]
|
|
},
|
|
{
|
|
"id": "f353fcea-4b6f-42a1-8fdd-32b3aa1e1f09",
|
|
"name": "regions.left_eye",
|
|
"type": "BOOLEAN",
|
|
"linkIds": [
|
|
79
|
|
],
|
|
"label": "custom_left_eye",
|
|
"pos": [
|
|
-585.119140625,
|
|
4444
|
|
]
|
|
},
|
|
{
|
|
"id": "1387e121-c1fb-4522-8f0d-43459e11dd86",
|
|
"name": "regions.right_eye",
|
|
"type": "BOOLEAN",
|
|
"linkIds": [
|
|
80
|
|
],
|
|
"label": "custom_right_eye",
|
|
"pos": [
|
|
-585.119140625,
|
|
4464
|
|
]
|
|
},
|
|
{
|
|
"id": "14acb0a0-d1f4-48f3-ba31-811b26236ef9",
|
|
"name": "regions.irises",
|
|
"type": "BOOLEAN",
|
|
"linkIds": [
|
|
81
|
|
],
|
|
"label": "custom_irises",
|
|
"pos": [
|
|
-585.119140625,
|
|
4484
|
|
]
|
|
},
|
|
{
|
|
"id": "25a82859-87de-42c8-8431-09948665546e",
|
|
"name": "model_name",
|
|
"type": "COMBO",
|
|
"linkIds": [
|
|
86
|
|
],
|
|
"pos": [
|
|
-585.119140625,
|
|
4504
|
|
]
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"id": "d2ba3f92-e8b1-49c3-9590-cfad56c54cf4",
|
|
"name": "face_landmarks",
|
|
"type": "FACE_LANDMARKS",
|
|
"linkIds": [
|
|
44
|
|
],
|
|
"localized_name": "face_landmarks",
|
|
"pos": [
|
|
164,
|
|
4504
|
|
]
|
|
},
|
|
{
|
|
"id": "4f356bb0-d4c4-4f93-b4cf-0845a65c4e6d",
|
|
"name": "bboxes",
|
|
"type": "BOUNDING_BOX",
|
|
"linkIds": [
|
|
25
|
|
],
|
|
"localized_name": "bboxes",
|
|
"pos": [
|
|
164,
|
|
4524
|
|
]
|
|
},
|
|
{
|
|
"id": "f6309e1d-6397-4363-b38f-778a122abc51",
|
|
"name": "MASK_1",
|
|
"type": "MASK",
|
|
"linkIds": [
|
|
83
|
|
],
|
|
"label": "mask",
|
|
"pos": [
|
|
164,
|
|
4544
|
|
]
|
|
}
|
|
],
|
|
"widgets": [],
|
|
"nodes": [
|
|
{
|
|
"id": 11,
|
|
"type": "MediaPipeFaceLandmarker",
|
|
"pos": [
|
|
-280,
|
|
4280
|
|
],
|
|
"size": [
|
|
350,
|
|
220
|
|
],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "face_detection_model",
|
|
"name": "face_detection_model",
|
|
"type": "FACE_DETECTION_MODEL",
|
|
"link": 66
|
|
},
|
|
{
|
|
"localized_name": "image",
|
|
"name": "image",
|
|
"type": "IMAGE",
|
|
"link": 60
|
|
},
|
|
{
|
|
"localized_name": "detector_variant",
|
|
"name": "detector_variant",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "detector_variant"
|
|
},
|
|
"link": 75
|
|
},
|
|
{
|
|
"localized_name": "num_faces",
|
|
"name": "num_faces",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "num_faces"
|
|
},
|
|
"link": 76
|
|
},
|
|
{
|
|
"localized_name": "min_confidence",
|
|
"name": "min_confidence",
|
|
"type": "FLOAT",
|
|
"widget": {
|
|
"name": "min_confidence"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "missing_frame_fallback",
|
|
"name": "missing_frame_fallback",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "missing_frame_fallback"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "face_landmarker",
|
|
"type": "FACE_LANDMARKER",
|
|
"link": 74
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "face_landmarks",
|
|
"name": "face_landmarks",
|
|
"type": "FACE_LANDMARKS",
|
|
"links": [
|
|
44,
|
|
46
|
|
]
|
|
},
|
|
{
|
|
"localized_name": "bboxes",
|
|
"name": "bboxes",
|
|
"type": "BOUNDING_BOX",
|
|
"links": [
|
|
25
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "MediaPipeFaceLandmarker",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.22.0",
|
|
"enableTabs": false,
|
|
"tabWidth": 65,
|
|
"tabXOffset": 10,
|
|
"hasSecondTab": false,
|
|
"secondTabText": "Send Back",
|
|
"secondTabOffset": 80,
|
|
"secondTabWidth": 65
|
|
},
|
|
"widgets_values": [
|
|
"full",
|
|
0,
|
|
0.5,
|
|
"empty"
|
|
]
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "LoadMediaPipeFaceLandmarker",
|
|
"pos": [
|
|
-290,
|
|
4060
|
|
],
|
|
"size": [
|
|
350,
|
|
140
|
|
],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "model_name",
|
|
"name": "model_name",
|
|
"type": "COMBO",
|
|
"widget": {
|
|
"name": "model_name"
|
|
},
|
|
"link": 86
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "FACE_DETECTION_MODEL",
|
|
"name": "FACE_DETECTION_MODEL",
|
|
"type": "FACE_DETECTION_MODEL",
|
|
"links": [
|
|
66
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "LoadMediaPipeFaceLandmarker",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.22.0",
|
|
"models": [
|
|
{
|
|
"name": "mediapipe_face_fp32.safetensors",
|
|
"url": "https://huggingface.co/Comfy-Org/mediapipe/resolve/main/detection/mediapipe_face_fp32.safetensors",
|
|
"directory": "detection"
|
|
}
|
|
],
|
|
"enableTabs": false,
|
|
"tabWidth": 65,
|
|
"tabXOffset": 10,
|
|
"hasSecondTab": false,
|
|
"secondTabText": "Send Back",
|
|
"secondTabOffset": 80,
|
|
"secondTabWidth": 65
|
|
},
|
|
"widgets_values": [
|
|
"mediapipe_face_fp32.safetensors"
|
|
]
|
|
},
|
|
{
|
|
"id": 20,
|
|
"type": "MediaPipeFaceMask",
|
|
"pos": [
|
|
-290,
|
|
4560
|
|
],
|
|
"size": [
|
|
360,
|
|
180
|
|
],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"localized_name": "face_landmarks",
|
|
"name": "face_landmarks",
|
|
"type": "FACE_LANDMARKS",
|
|
"link": 46
|
|
},
|
|
{
|
|
"localized_name": "regions",
|
|
"name": "regions",
|
|
"type": "COMFY_DYNAMICCOMBO_V3",
|
|
"widget": {
|
|
"name": "regions"
|
|
},
|
|
"link": null
|
|
},
|
|
{
|
|
"localized_name": "regions.face_oval",
|
|
"name": "regions.face_oval",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.face_oval"
|
|
},
|
|
"link": 77
|
|
},
|
|
{
|
|
"localized_name": "regions.lips",
|
|
"name": "regions.lips",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.lips"
|
|
},
|
|
"link": 78
|
|
},
|
|
{
|
|
"localized_name": "regions.left_eye",
|
|
"name": "regions.left_eye",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.left_eye"
|
|
},
|
|
"link": 79
|
|
},
|
|
{
|
|
"localized_name": "regions.right_eye",
|
|
"name": "regions.right_eye",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.right_eye"
|
|
},
|
|
"link": 80
|
|
},
|
|
{
|
|
"localized_name": "regions.irises",
|
|
"name": "regions.irises",
|
|
"type": "BOOLEAN",
|
|
"widget": {
|
|
"name": "regions.irises"
|
|
},
|
|
"link": 81
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"localized_name": "MASK",
|
|
"name": "MASK",
|
|
"type": "MASK",
|
|
"links": [
|
|
83
|
|
]
|
|
}
|
|
],
|
|
"properties": {
|
|
"Node name for S&R": "MediaPipeFaceMask",
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.22.0",
|
|
"enableTabs": false,
|
|
"tabWidth": 65,
|
|
"tabXOffset": 10,
|
|
"hasSecondTab": false,
|
|
"secondTabText": "Send Back",
|
|
"secondTabOffset": 80,
|
|
"secondTabWidth": 65
|
|
},
|
|
"widgets_values": [
|
|
"custom",
|
|
true,
|
|
false,
|
|
false,
|
|
false,
|
|
false
|
|
]
|
|
}
|
|
],
|
|
"groups": [],
|
|
"links": [
|
|
{
|
|
"id": 66,
|
|
"origin_id": 2,
|
|
"origin_slot": 0,
|
|
"target_id": 11,
|
|
"target_slot": 0,
|
|
"type": "FACE_DETECTION_MODEL"
|
|
},
|
|
{
|
|
"id": 46,
|
|
"origin_id": 11,
|
|
"origin_slot": 0,
|
|
"target_id": 20,
|
|
"target_slot": 0,
|
|
"type": "FACE_LANDMARKS"
|
|
},
|
|
{
|
|
"id": 60,
|
|
"origin_id": -10,
|
|
"origin_slot": 0,
|
|
"target_id": 11,
|
|
"target_slot": 1,
|
|
"type": "IMAGE"
|
|
},
|
|
{
|
|
"id": 44,
|
|
"origin_id": 11,
|
|
"origin_slot": 0,
|
|
"target_id": -20,
|
|
"target_slot": 0,
|
|
"type": "FACE_LANDMARKS"
|
|
},
|
|
{
|
|
"id": 25,
|
|
"origin_id": 11,
|
|
"origin_slot": 1,
|
|
"target_id": -20,
|
|
"target_slot": 1,
|
|
"type": "BOUNDING_BOX"
|
|
},
|
|
{
|
|
"id": 74,
|
|
"origin_id": -10,
|
|
"origin_slot": 1,
|
|
"target_id": 11,
|
|
"target_slot": 6,
|
|
"type": "FACE_LANDMARKER"
|
|
},
|
|
{
|
|
"id": 75,
|
|
"origin_id": -10,
|
|
"origin_slot": 2,
|
|
"target_id": 11,
|
|
"target_slot": 2,
|
|
"type": "COMBO"
|
|
},
|
|
{
|
|
"id": 76,
|
|
"origin_id": -10,
|
|
"origin_slot": 3,
|
|
"target_id": 11,
|
|
"target_slot": 3,
|
|
"type": "INT"
|
|
},
|
|
{
|
|
"id": 77,
|
|
"origin_id": -10,
|
|
"origin_slot": 4,
|
|
"target_id": 20,
|
|
"target_slot": 2,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 78,
|
|
"origin_id": -10,
|
|
"origin_slot": 5,
|
|
"target_id": 20,
|
|
"target_slot": 3,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 79,
|
|
"origin_id": -10,
|
|
"origin_slot": 6,
|
|
"target_id": 20,
|
|
"target_slot": 4,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 80,
|
|
"origin_id": -10,
|
|
"origin_slot": 7,
|
|
"target_id": 20,
|
|
"target_slot": 5,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 81,
|
|
"origin_id": -10,
|
|
"origin_slot": 8,
|
|
"target_id": 20,
|
|
"target_slot": 6,
|
|
"type": "BOOLEAN"
|
|
},
|
|
{
|
|
"id": 83,
|
|
"origin_id": 20,
|
|
"origin_slot": 0,
|
|
"target_id": -20,
|
|
"target_slot": 2,
|
|
"type": "MASK"
|
|
},
|
|
{
|
|
"id": 86,
|
|
"origin_id": -10,
|
|
"origin_slot": 9,
|
|
"target_id": 2,
|
|
"target_slot": 0,
|
|
"type": "COMBO"
|
|
}
|
|
],
|
|
"extra": {},
|
|
"category": "Conditioning & Preprocessors/Face Detection"
|
|
}
|
|
]
|
|
},
|
|
"extra": {}
|
|
} |