Face Cropper (2:3 Ratio)
3 Ratio) in ComfyUI: What NodoFaceCropping Actually Does
- image
- IMAGE
First thing to know: despite the name, this node doesn't detect a face. There's no bounding box, no landmark model, no confidence score, nothing loaded off disk. It's a one-trick node that takes whatever image tensor you feed it and crops it down to a 2:3 aspect ratio, full stop. "Face Cropper" describes the intent - get a portrait-shaped crop that hopefully still has the subject's face in it - not the mechanism.
Where this actually fits in a workflow: getting images onto a consistent 2:3 (portrait) canvas is a real, recurring chore - it's the ratio people reach for when prepping LoRA training sets or feeding a downstream node that expects photo-portrait proportions rather than a square SDXL default. Normally you'd do that by hand in an image editor, or reach for something with actual face detection like Impact Pack's FaceDetailer, which finds the face region with a YOLO model, crops it, refines it, and pastes it back. This node skips all of that machinery. It's the blunt-instrument version: no model weights, no detection, just tensor math on the shape you give it. That's exactly why you'd pick it - it's fast and has zero dependencies beyond what ComfyUI already ships - and exactly why you wouldn't, if your subject isn't roughly centered in frame, because there's nothing here that goes looking for a face before it cuts.
How it works. Per the README, it keeps the full height of your image and trims the width down until the ratio hits 2:3. Feed it a 1024×1024 square and you get back 1024×682 - height untouched, width shaved down to width = height × (2/3). There's no rotation, no resize/upscale step, no padding. It's a crop, not a reframe.
Inputs and outputs are about as minimal as it gets:
image(IMAGE, required) - whatever you're cropping. Comes straight off a Load Image, VAE Decode, or any other IMAGE-producing node.- Output: a single
IMAGE- the cropped result, ready to wire into a Save Image, Preview Image, or straight into your next processing step.
No toggles, no ratio override, no batch-handling option to configure - what you see in the node is what you get.
Installing it. Easiest path is ComfyUI Manager: search for "Face Cropper Node (2:3 Ratio)" and install from there. Doing it by hand is just as quick - cd ComfyUI/custom_nodes && git clone https://github.com/marawan206/ComfyUI-FaceCropper.git, then restart ComfyUI. The README lists pip install torch pytest as a dependency step, but don't let that alarm you: torch is already bundled with your ComfyUI environment, and pytest is only there so the maintainer can run the repo's own test suite - you don't need it to use the node. No models to download, which tracks with there being no detection happening.
Where people get tripped up. Because there's no actual face-finding, if your subject isn't already roughly centered, a straight ratio crop can just as easily cut through them as frame them nicely - treat it as a ratio-normalizer, not a subject-aware crop. The README also mentions "error handling for incorrect input shapes" without spelling out what counts as incorrect; the safe read is that it expects an image wide enough to trim down to 2:3 (square or landscape-ish), so feeding it something already narrower than 2:3 - an already-tall portrait, say - is the likely way to hit that error path rather than get a no-op. If you need something smarter that actually finds the face before cropping, that's Impact Pack territory (FaceDetailer or Detailer SEGS); this node is for the simpler case where you just need a fast, dependency-free way to get a batch of images onto the same portrait ratio.
This is a tiny, single-purpose pack from a small GitHub repo with no real community footprint - no threads, no discussion, nothing to second-guess here beyond what the README says. Take it for what it is: a handy little shape-fixer, not a face-detection tool.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |