feat: FaceDetectionNode v2.1.0 — backward compat, all_faces fix, validation

Fixes:
- Restore optional face_output_format param (strip/individual)
  Invalid values (e.g. 'lbp') gracefully fallback to 'strip' with warning
  Fixes 'Value not in list' validation error from stale v1.x workflows
- Restore optional padding param (legacy px-based, auto-converts to ratio)
- Fix all_faces mode: detect_faces() now returns ALL faces, not just largest
- Add VALIDATE_INPUTS to v1 wrapper for early invalid-value catching
- Set OUTPUT_NODE=True on both v3 schema and v1 class
- Fix _lock ClassVar type annotation syntax
- Add _resolve_face_output_format() for centralized format validation
- Proper strip/individual output handling in all_faces mode

Packaging:
- pyproject.toml: version 1.1.2 → 2.1.0, updated description and deps
- Removed Pillow and torchvision (no longer used)
- Bumped torch requirement to >=2.0.0
- Updated registry metadata (comfyui-manager-entry.json, node_list.json)
This commit is contained in:
limbicnation
2026-04-20 06:20:38 +02:00
parent 70bdd94adb
commit 9e5f034807
5 changed files with 857 additions and 507 deletions
+3 -3
View File
@@ -1,12 +1,12 @@
{
"author": "Limbicnation",
"title": "ComfyUI Face Detection Node",
"title": "ComfyUI Face Detection Node v2",
"id": "comfyui-face-detection-node",
"reference": "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode",
"files": [
"https://github.com/Limbicnation/ComfyUI_FaceDetectionNode"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node for face detection and cropping using OpenCV Haar cascades, with full ComfyUI v3 schema support and backward compatibility. Features adjustable detection threshold, minimum face size, padding, and multiple classifier options.",
"description": "H100-optimized face detection with Auto-Padding, Temporal Smoothing, Aspect Ratio Presets (1:1/9:16/16:9/4:3/auto), and full batch processing for LTX-Video avatar pipelines. Backward compatible with v1.x workflows.",
"nodename_pattern": "FaceDetectionNode"
}
}
+845 -493
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -2,17 +2,17 @@
"custom_nodes": [
{
"author": "Limbicnation",
"title": "ComfyUI Face Detection Node",
"title": "ComfyUI Face Detection Node v2",
"reference": "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode",
"files": [
"https://github.com/Limbicnation/ComfyUI_FaceDetectionNode"
],
"install_type": "git-clone",
"description": "A ComfyUI custom node for face detection and cropping using OpenCV Haar cascades, with full ComfyUI v3 schema support and backward compatibility.",
"description": "H100-optimized face detection with Auto-Padding, Temporal Smoothing, Aspect Ratio Presets, and full batch processing for LTX-Video avatar pipelines.",
"nodes": [
"Face Detection and Crop"
"Face Detection and Crop v2"
],
"nodename_pattern": "FaceDetectionNode"
}
]
}
}
+4 -4
View File
@@ -1,9 +1,9 @@
[project]
name = "ComfyUI_FaceDetectionNode"
description = "A ComfyUI custom node for face detection and cropping using OpenCV Haar cascades, with full ComfyUI v3 schema support and backward compatibility."
version = "1.1.2"
description = "H100-optimized face detection with Auto-Padding, Temporal Smoothing, Aspect Ratio Presets, and full batch processing for LTX-Video avatar pipelines. Backward compatible with v1.x workflows."
version = "2.1.0"
license = {text = "Apache-2.0"}
dependencies = ["opencv-python>=4.5.0", "torch>=1.9.0", "torchvision>=0.10.0", "numpy>=1.21.0", "Pillow>=8.0.0"]
dependencies = ["opencv-python>=4.5.0", "torch>=2.0.0", "numpy>=1.21.0"]
[project.urls]
Repository = "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode"
@@ -11,5 +11,5 @@ Repository = "https://github.com/Limbicnation/ComfyUI_FaceDetectionNode"
[tool.comfy]
PublisherId = "limbicnation"
DisplayName = "Face Detection Node"
DisplayName = "Face Detection and Crop v2"
Icon = "https://raw.githubusercontent.com/Limbicnation/ComfyUI_FaceDetectionNode/main/icon.png"
+1 -3
View File
@@ -1,5 +1,3 @@
opencv-python>=4.5.0
torch>=1.9.0
torchvision>=0.10.0
torch>=2.0.0
numpy>=1.21.0
Pillow>=8.0.0