π LTX Face Detector
One face detection, shared by every identity node
- image
- face_bbox
Every identity-preservation node in the 10S pack needs a face bounding box, and up until this node existed, each one did its own detection internally. That meant you couldn't easily reuse one detection across several nodes, and you couldn't detect on a different image than the one the node was looking at. LTXFaceDetector decouples detection from consumption: it takes an IMAGE, finds the largest face, and emits a normalized bbox string - which you can then wire into the face-aware inputs of the other nodes.
The output is a single face_bbox STRING in x1,y1,x2,y2 normalized 0-1 format. That one string plugs straight into:
LTXLikenessGuide'sface_bbox_within_referenceLTXLikenessAnchor'soverride_face_bboxorframe_0_bbox- the face anchor's
face_bbox_norm
The inputs that matter
image- required. It's a single image, not a batch, in the usual (B, H, W, C) 0-1 float layout.padding(0.15) - expands the detected box by 15%. That's the knob that decides whether you capture just the face or the hair/neck context that makes identity transfer dramatically better. Small faces benefit from more padding.fallback_bbox- used if detection fails or no face is found. Empty means empty output on failure, which downstream nodes treat as "no bbox β fall back to whole frame." Filling this in is the difference between a silent degradation and a hard fail.debug- prints the detection details to the console.
One feature the README and source both highlight: because detection is now separate, you can run it on an image other than the reference - e.g. the i2v conditioning frame when you're using LikenessAnchor in latent_frame_0 mode. That's not possible when detection is baked into each node.
The detection engine
Under the hood it reuses the same helper as LikenessGuide: MediaPipe Face Detection when available, OpenCV Haar cascades as fallback. MediaPipe is the optional extra in this pack - it's the one thing you might need to install yourself for the best accuracy:
pip install mediapipe
Without it, the node falls back to OpenCV, which ComfyUI already ships, and which is fine for well-lit frontal faces but noticeably worse at angles, small faces, and dim input. If face boxes come out janky, that's the first thing to check.
Honest caveat from the community threads around TenStrip's identity workflows: face-region conditioning is where users most often see the "box effect" - a visible rectangular ghost around the face in the output. Detection quality is a big driver of that. If you see it, the fixes are usually: more padding, a closer crop of the source (small faces in wide shots carry too little detail to preserve), and checking that MediaPipe is actually installed. This node is the control point for the first two.
Install is the pack-wide clone (10S_Nodes into custom_nodes, restart, or ComfyUI Manager β "10S-Comfy-nodes"). Everything else in the pack is LTX2-specific, and this one is too in the sense that its bbox strings feed LTX2 identity nodes - but as a plain detector it's a small, focused utility.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| paddingopt | FLOAT | 0.150β0.5 | Padding around detected face bbox as fraction (0.15 = 15% expansion). Captures hair/neck context for stronger identity preservation. |
| fallback_bboxopt | STRING | Bbox to use if face detection fails or no face is found. Format: 'x1,y1,x2,y2' normalized 0-1. Empty = empty output on fail. | |
| debugopt | BOOLEAN | false | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| face_bbox | STRING | β |