ImageTransformCropCorners
The name lies — it rounds corners, and that's great
- images
- IMAGE
Don't be misled by the name: ImageTransformCropCorners doesn't cut a rectangle out of your image. It rounds the corners - it makes a rectangle with soft, transparent corners, like an app icon, a rounded badge, or a vintage-photo mask. The output is the same size as the input; the corners just become transparent. If "crop" in the name made you expect a smaller image, that's the first thing to unlearn, and it's also the reason this node is more useful than it sounds: it's the one-shot way to give any image rounded-corner edges inside the graph.
It's part of the Allor Plugin (Nourepide/ComfyUI-Allor), which lives and dies by alpha-channel support - this node is the poster child. The technique is a mask: it builds a rounded-rectangle mask and converts the pixels outside it to transparency.
How it works
The node draws a white rounded rectangle onto a transparent canvas, at SSAA× the image resolution (SSAA = super-sampling anti-aliasing). It then downsamples that mask back to image size, and subtracts the mask's alpha from every channel of the image - so the corners end up fully transparent and the edge between image and transparency is anti-aliased instead of jagged.
The controls:
radius(INT, default 180, max 360) - the corner curve in pixels at the mask scale. A bigger radius means rounder corners; at the max it approaches a pill shape.top_left_corner/top_right_corner/bottom_right_corner/bottom_left_corner(true/false) - round each corner independently. Turn a corner off to keep it square, which is how you make a speech-bubble-ish or asymmetric shape.SSAA(INT, default 4, 1–16) - anti-aliasing quality. Higher = smoother edges, slightly slower. This is the "make the edge not look like staircase pixels" dial.method- the resampling method for the mask downscale (lanczos is the default and the right choice).
Output is an RGBA IMAGE at the same resolution with transparent corners. An RGB input becomes RGBA - the pack adds the channel so the transparency has somewhere to live.
Inputs and outputs
images(IMAGE) - single frame or batch.radius, the four corner toggles,SSAA,method- as above.
Output: IMAGE, same size, corners transparent, alpha added if missing.
Installing it
It ships in the Allor Plugin: ComfyUI Manager → "Allor Plugin" → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Nourepide/ComfyUI-Allor
No models required.
Where people get burned
The naming confusion is the #1 issue - people expect an actual crop and get a same-size image with soft corners. Read the node title as "crop the corners off," not "crop to a rectangle." Second, radius is in pixels at mask scale and doesn't adapt to image size, so a radius that looks perfect on a 512px image is nearly square on a 2048px one - scale it up with resolution. Third, the rounded edge is transparent, not blurred or feathered; if you want a soft, blended edge rather than a crisp curve, this isn't the node. And keep SSAA at 4+ unless you like aliasing - the whole point of the node is the clean edge it buys.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| radius | INT | 180 | — |
| top_left_corner | COMBO | 2 options: true, false | |
| top_right_corner | COMBO | 2 options: true, false | |
| bottom_right_corner | COMBO | 2 options: true, false | |
| bottom_left_corner | COMBO | 2 options: true, false | |
| SSAA | INT | 41–16 | — |
| method | COMBO | 6 options: lanczos, bicubic, hamming, bilinear, box, nearest |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |