Colorist Delivery Bay
One master, every deliverable. Protected crops, optional conformed film finish, named delivery sets for ComfyUI.
ComfyUI-DeliveryBay
One master, every deliverable. A ComfyUI node that takes a finished master and produces a named set of platform ready deliverables, the subject protected in every crop. Take the set clean, or finished with conformed halation and grain.


Left: a naive center crop hands back one man from a two man scene. Right: the protected delivery pads instead of cutting, and everyone survives.
Why it is different
Resizing to every platform by hand is slow and it drifts. This node does the three things that keep a delivery set honest:
- Protected crops. Mark the must keep region once. Every aspect takes the largest crop that fully contains it, centered on it. If an aspect cannot contain it, the master is padded instead of cropped into. Nothing important ever gets chopped.
- Optional finish. Take the set clean, or finished with conformed halation and grain. The finish runs after resize, at each deliverable's final pixel size, with one shared seed, so every output matches instead of drifting coarse or fine with the scale. (Uses ComfyUI-ColoristFilmGrain; only needed when
finishis on.) - Named delivery set. Files written to a delivery convention in one folder, ready to hand off:
{slug}_{platform}_{WxH}.png. The node also returns a contact sheet of the whole set for preview.
Install
- Clone or copy this folder into
ComfyUI/custom_nodes/. - Restart ComfyUI.
- Add Colorist Delivery Bay (category
image/delivery).
No dependencies beyond torch and Pillow, which ComfyUI already has. The finish toggle additionally needs ComfyUI-ColoristFilmGrain installed; with finish off there is no dependency at all.
Controls
| Control | Range | What it does |
|---|---|---|
| protect_x / protect_y / protect_w / protect_h | pixels | The must keep region on the master. Never cropped into. |
| aspects | one per line, platform:WIDTHxHEIGHT | The delivery set. Default: youtube 1920x1080, ig-story 1080x1920, square 1080x1080, ig-portrait 1080x1350, og-link 1200x630. |
| pad_color | black / white | Bar color when an aspect cannot contain the protect region. |
| finish | off / on | Off is the clean set. On conforms Colorist Halation then Colorist Film Grain across the set, after resize, at final size, one seed. |
| slug | text | The delivery name stem. |
| subfolder | text | Output folder under ComfyUI/output/. |
| seed | int | The shared finish seed (the whole set conforms to it). |
Example workflows
In example_workflows/:
delivery_bay_clean.json— one node, protected crops, named clean set.delivery_bay_finished.json— the same set with the conformed film finish.delivery_bay_stock_no_code.json— one deliverable assembled from stock crop, resize and save nodes, for anyone who wants the no code path. The crop box arithmetic is yours to do by hand on this path; that wall is the reason the node exists.
Delivering it
Keep the master at the highest quality you have. Deliver per platform spec. If you finish, finish last, at final size — grain scaled after the fact is the drift this node was built to end.
A few deliberate choices: the node delivers one master frame (feed it a batch and it tells you to pick a frame; per frame video delivery is a v1.1 item). Deliverables save as 8 bit PNG because every listed platform ingests 8 bit — the master stays untouched. A named delivery set overwrites its previous run by design: deterministic names are the point, so re-running a delivery replaces it instead of littering numbered copies.
Build guide and story
The story behind it is a Field Note: Delivery Bay on jeffreykentpost.com.
How it was built
Built with Claude Code, tested against a live ComfyUI install. That is the working style, and it is part of the point.
License
MIT. See LICENSE.