ComfyUI Node

Smart Collage Maker

Collages with actual layouts, not just a pile of rectangles

By Niutonian·Created 7 months ago·Updated 7 months ago· 0
Smart Collage Maker
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • collage_image
layout_stylemagazine
canvas_width1024
canvas_height1024
size_variationmedium
rotation_enabledfalse
max_rotation15
overlap_allowedfalse
background_colorwhite
border_stylenone
spacing10
seed42

Most "collage" tools in ComfyUI are grids wearing a different name - equal cells, equal sizes, boring. Smart Collage Maker actually tries to compose: it takes up to nine IMAGEs and arranges them on a canvas with varied sizes, optional rotation, and layouts that include magazine spreads and spirals. It's the artistic one in the Niutonian Smart Image Suite, and the one where you set a seed and let it do the arranging.

Pure Pillow, no models, no API - but unlike the pack's stitch nodes, this one has a real random component, so it earns its "smart."

How it works

layout_style is the star. magazine does a structured, grid-like editorial layout. scattered throws images around with rotation and overlap for a freeform mood-board look. spiral arranges them along a spiral curve - that one reads as genuinely different from a grid. photo_wall and mosaic are in the list too, but be honest with yourself: as of the current release the code routes photo_wall, mosaic, and custom to the same scattered algorithm, so those three are effectively the same layout today. magazine, scattered, and spiral are the real choices.

You control the canvas with canvas_width / canvas_height (512–4096, step 64). size_variation (none, small, medium, large, random) jitters the image sizes so the composition doesn't look assembly-line. rotation_enabled plus max_rotation (0–45°) adds tilt, and overlap_allowed lets images overlap instead of shoving apart. border_style (none, thin, thick, shadow) gives the pieces a bit of presence, spacing controls the gap in structured layouts, and background_color offers white, black, transparent, or random. The seed input drives the arrangement, so you can lock in a composition and re-roll it by bumping the seed.

Output is collage_image (IMAGE) - a single canvas at your requested resolution, ready for a Save Image. For mood boards, character reference sheets, or a "these nine images are one vibe" post, it does in one node what would otherwise be an hour of manual compositing.

Inputs that matter

  • layout_style - magazine, scattered, or spiral (the three that are actually distinct).
  • canvas_width / canvas_height - pick these first; everything else scales around them.
  • size_variation and rotation_enabled - the difference between "grid with gaps" and "collage."
  • seed - reroll the arrangement when a composition isn't working.

Installing

cd ComfyUI/custom_nodes
git clone https://github.com/Niutonian/comfyui-niutonian-smart-image

Restart and find it under Niutonian/Image Processing. No extra dependencies beyond Pillow - no model downloads anywhere in the pack.

Fair warning: it's a brand-new implementation (the suite's initial commit is from early 2026), so layout algorithms are simple and the non-overlap placement can leave the canvas a little airy with few images. Feed it a full nine images and it behaves. And remember the photo_wall/mosaic alias caveat - if a future update implements them properly, this article will be the one that told you they weren't there yet.

CategoryNiutonian/Image Processing

Inputs (20)

NameTypeDefaultDescription
layout_styleCOMBOmagazine6 options: magazine, photo_wall, mosaic, scattered, spiral, custom
canvas_widthINT1024512–4096
canvas_heightINT1024512–4096
size_variationCOMBOmedium5 options: none, small, medium, large, random
rotation_enabledBOOLEANfalse
max_rotationINT150–45
overlap_allowedBOOLEANfalse
background_colorCOMBOwhite4 options: white, black, transparent, random
border_styleCOMBOnone4 options: none, thin, thick, shadow
spacingINT100–50
seedoptINT420–999999
image_1optIMAGE
image_2optIMAGE
image_3optIMAGE
image_4optIMAGE
image_5optIMAGE
image_6optIMAGE
image_7optIMAGE
image_8optIMAGE
image_9optIMAGE

Outputs (1)

NameTypeDescription
collage_imageIMAGE