Nodes/ComfyUI-FaceCalloutNode/Isolated Face Callout ✂️
ComfyUI Node

Isolated Face Callout ✂️

A face on a transparent plate, ready to paste anywhere

By theshubzworld·Created about a year ago·Updated 9 months ago· 0
Isolated Face Callout ✂️
  • source_image
  • callout_image
face_padding_percent0.20
callout_scale_factor1.0
callout_border_thickness5
callout_border_color#FFFFFF
fallback_behaviorBlank Transparent Image
multiple_face_behaviorLargest Face

This node is the sibling of FaceCalloutEffect, and it answers a different question. The Effect node annotates your image in place; this one hands you just the face - a circular crop floating on a transparent background, ready to drop onto anything. Think of it as a face-sticker generator: avatars, collages, thumbnails, or the raw material for the pack's own IntegratedFaceComposite node.

One thing to get straight before you reach for it: this is not a background-removal/matting node. It doesn't segment hair or estimate alpha like BiRefNet-style models do. The face is cut out with a hard circle - transparency only exists outside that circle. If you need a clean head-and-shoulders cutout with real edges, look at an actual matting node. If you want a stylized "face in a coin" look, this is exactly it, and it runs entirely on CPU.

How it works

Same machinery as the rest of the pack: your source image becomes a PIL image, OpenCV's Haar cascade (bundled in the repo, no download) finds a face, and a square crop is taken around it with your padding. That crop gets resized to the callout size, a circular border is drawn (if you want one), the face is masked into the circle, and the whole thing comes out as an RGBA image - transparent everywhere except the circle.

The inputs that matter

  • source_image - the IMAGE containing the face.
  • face_padding_percent - how much slack around the detected face (default 0.2). Low values crop tight, high values start swallowing the background.
  • callout_scale_factor - size of the circle relative to the detected face.
  • callout_border_thickness - set to 0 and you get a borderless floating face, which looks surprisingly clean against dark backgrounds.
  • callout_border_color - a hex string like #FFFFFF.
  • fallback_behavior - Blank Transparent Image (default) or Error. Worth knowing the blank fallback is a fixed 256×256 transparent square, so if no face is found you get an invisible placeholder rather than nothing. That's a silent failure if you don't notice.
  • multiple_face_behavior - Largest Face (default) or First Detected.

The output is callout_image, an RGBA IMAGE. Save it as a PNG to keep the alpha - a JPG will happily flatten the transparency to black and look like a bug.

Install

It's in the same pack as FaceCalloutEffect, so one install gets you all three. ComfyUI Manager → search "FaceCallout" → install, restart. Manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/theshubzworld/ComfyUI-FaceCalloutNode

No model downloads - the Haar cascade ships inside the repo. The dependencies are torch, numpy, Pillow, and opencv-python; if a manual install complains about cv2, pip install opencv-python fixes it, since the pack doesn't declare its deps in a requirements.txt.

Issues you'll actually hit

Same detection limits as the rest of the pack: small faces, strong side profiles, and stylized art can all evade the old Haar cascade, and you'll get the blank-transparent fallback instead. Single image only - a batch gets truncated to its first frame. And remember the hard-circle output: outside the circle it's honest alpha, but there's no hair-level matting, so don't try to use this as a cutout tool for fine edges.

Categoryimage/Annotation

Inputs (7)

NameTypeDefaultDescription
source_imageIMAGE
face_padding_percentFLOAT0.200–1
callout_scale_factorFLOAT1.00.1–3
callout_border_thicknessINT50–30
callout_border_colorSTRING#FFFFFF
fallback_behaviorCOMBOBlank Transparent Image2 options: Blank Transparent Image, Error
multiple_face_behaviorCOMBOLargest Face2 options: First Detected, Largest Face

Outputs (1)

NameTypeDescription
callout_imageIMAGE