DJZ Offsquare Collage V2
The same collage node, now with a canvas-size knob — this is the one to install
- images
- image
- layout_info
DJZ Offsquare Collage V2 is the same collage node as the original DJZ_Offsquare, with exactly one meaningful addition: a canvas_total_pixels input that puts the output size under your control. The original was hardwired to ~4 megapixels (2048×2048 at 1:1). V2 lets you dial the canvas from 512 to 8192. If you're choosing between the two, pick this one - it reproduces the V1 default by setting the value to 2048, and does everything else the original does on top.
Everything that made the original worth using is unchanged. It takes a batch of 2–6 finished images, auto-picks one of three layout strategies per image count by scoring how well each image's aspect ratio matches each region (70% weight) against how much space the region gets (30%), pins the first image to the top-left at the bottom of the z-order and the last to the bottom-right on top (spilling over the region below), and scales every image to cover its region. Same deliberate overlap-and-crop collage look, same rounded-corner option, same nothing-to-download CPU compositing. If you want the full mechanism detail, the original node's article covers it - this is a delta review.
The one new input
- canvas_total_pixels - INT, default 3072, range 512–8192, step 64. It's a base dimension: at 1:1 the canvas is N×N, and every other aspect ratio keeps N² total pixels. So 3072 in 1:1 is 3072×3072; in 16:9 it's roughly 4096×2304. The default lands around 9.4 megapixels - more than double the original's 4MP.
The rest of the inputs are identical: images (batch of 2–6 - same trap as before, a single LoadImage is a batch of 1 and the node errors out; batch first with something like ImageBatchMulti), aspect_ratio (the same seven choices from 1:1 to 3:4), border_radius (0–64), and background_color (hex). Outputs are the same pair - image and layout_info, the latter now appending the base pixel value so you can confirm what actually rendered.
When the knob matters
Contact sheets for LoRA training or seed comparisons want small canvases - drop to 512–1024 for previews that are cheap and quick to eyeball. If you're building a source board to hand to a tiled upscaler, or a print-size reference, crank it toward 4096+. Just remember the output is a big image tensor: at 8192 the canvas is ~67 megapixels, which is real RAM and disk if you're generating dozens at a time.
Install & gotchas
Same pack, same trivial install:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/ComfyUI-DJZ-Offsquare.git
...or search ComfyUI-DJZ-Offsquare in ComfyUI Manager and restart. No model files, and requirements are just torch, numpy and Pillow - all already in ComfyUI. Same failure modes as V1, so don't be surprised when they show up: fewer than two images errors out, more than six silently keeps the first six, and background_color must be a valid hex.
One honest caveat: at the default 3072 the output is noticeably bigger than V1's fixed 4MP, so if you only ever make on-screen comparison grids the original is already plenty. But the knob costs you nothing, and having it beats not having it. Install V2, set canvas_total_pixels once, and forget about it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| aspect_ratio | COMBO | 1:1 | 7 options: 1:1, 16:9, 9:16, 3:2, 2:3, 4:3, +1 |
| canvas_total_pixels | INT | 3072512–8192 | — |
| border_radius | INT | 00–64 | — |
| background_color | STRING | #000000 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| layout_info | STRING | — |