Alpha Crop and Position Image
Put character cutouts on a stage without doing canvas math by hand
- image
- image
- width
- height
If you composite characters for a living - or for an AI-animated show, which is what this pack is actually for - you spend a shocking amount of time on one boring job: taking a cutout with a transparent background and sitting it down on a stage at the right size, with the right margin around it. That's this node's entire reason to exist. It's one of the utility nodes Fable Studio (the people behind Showrunner, the "Netflix of AI" TV platform) shipped in ComfyUI-Showrunner-Utils, and it does the crop-and-position step so you don't have to bolt together a chain of ImageCrop + ImageScale + ImagePad nodes and keep their math in sync.
What it actually does
Judging by the name and inputs, it crops the image down to its alpha bounds - the smallest box that still contains every non-transparent pixel - then repositions that content inside a new canvas with the padding you specify. The maintain_aspect toggle (True/False, default True) decides whether that repositioning is allowed to change the content's aspect ratio or keeps it locked. The result is a cleanly framed, consistently margined image that lands on your stage at a predictable size.
That's a workflow that shows up constantly in production: you run your character through a background-removal model (BiRefNet in core ComfyUI is the usual pick these days), get back an RGBA cutout, and then you need every character framed identically before compositing. Manually doing that for dozens of frames is misery; letting a node normalize the canvas each time is not.
The inputs that matter
Only a handful, and only a couple you'll touch often:
- image - the RGBA cutout. Feed it something that actually has transparency; see the trap below.
- maintain_aspect - True by default. Keep it on unless you want the node free to stretch the content to fit the padded box.
- left/top/right/bottom_padding - four INTs, 0–1024, default 0, stepping by 8. The 8-step is a nice touch: it keeps final dimensions on the multiples many models and tiling setups like. Bump these when you want breathing room around the subject.
Outputs are image (the padded result), plus width and height as INTs. Those two are the sleeper feature - wire them into downstream nodes that need the actual canvas size (stage builders, image-size conditioners, compositing math) and you never hardcode a resolution again.
Installing it
This pack is tiny and pure Python - the README lists no models, no requirements.txt, no heavy dependencies to download. Standard routes:
- ComfyUI Manager → Custom Nodes Manager → search for
ComfyUI-Showrunner-Utils(or the pack title) → Install → restart ComfyUI. - Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/fablestudio/ComfyUI-Showrunner-Utilsthen restart.
One honest caveat: at the time of writing the public repo serves a 404, which usually means the pack is private or not yet published. If Manager can't find it either, that's why - the reliable fallback is a copy of the code or waiting for a public release. Don't assume you did something wrong.
Where people get burned
The big one: this node has nothing to crop to if the image has no alpha. Feed it a fully opaque render and it has no transparent bounds to find - so make sure whatever you're dropping in is a real cutout (RGBA from BiRefNet/rembg/SAM), not a flattened JPEG-style image. The second trap is maintain_aspect with asymmetric padding: the node will fit the content to the box, and if you only pad left and right, the content may rescale in ways that surprise you. If your character suddenly looks bigger or smaller on the stage, that toggle is the first thing to check.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| maintain_aspect | COMBO | True | 2 options: True, False |
| left_padding | INT | 00–1024 | — |
| top_padding | INT | 00–1024 | — |
| right_padding | INT | 00–1024 | — |
| bottom_padding | INT | 00–1024 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| width | INT | — |
| height | INT | — |