{ "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": {} }