LayerUtility: Image Reel
ImageReel — bundle up to four labeled images into a comparison strip
- image1
- image2
- image3
- image4
- reel
When you're testing settings and want a clean side-by-side - this seed vs that seed, four samplers, before and after - ImageReel is stage one of building it. It takes up to four images, gives each a text caption, and packages them into a single "reel" object with consistent height and spacing. On its own it doesn't render a final image; it prepares a row that the companion node, ImageReelComposit, turns into a labeled contact sheet.
How it works
Think of a reel as one horizontal strip of images with labels. You feed in one to four images, type a caption under each, and set how tall the strip is and how much gap sits between frames. The node normalizes everything to the same reel_height so mismatched input sizes don't produce a ragged row, then emits a Reel - a custom bundle type, not a plain image - that carries the pictures and their captions together.
The reason it's split into "build a reel" and "composite the reels" is that ImageReelComposit can stack several reels into a grid. So one ImageReel is one row; four of them stacked gives you a 4×4-ish comparison sheet with a shared style.
The inputs and output that matter
image1(required) plusimage2,image3,image4(optional) - the frames, left to right. You need at least the first; the rest fill in as you connect them.image1_text…image4_text- the caption under each frame. Default toimage1,image2, etc., so relabel them to something meaningful ("euler", "dpmpp_2m") or they're useless.reel_height(default 512) - the strip height everything scales to.border(default 32) - spacing/padding around the frames.
Output is a single reel of type Reel. It doesn't plug into a normal image input - route it into ImageReelComposit, which is what actually draws and captions the sheet.
How to install it
ComfyUI Manager: search ComfyUI Layer Style, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
install requirements.txt, restart. Node's under 😺dzNodes → LayerUtility.
Common issues
The one that catches people: the reel output won't connect to a Preview or Save node, and it looks broken. It isn't - Reel is an intermediate type on purpose. Send it to ImageReelComposit and that node's image output goes to your preview. Also worth knowing: the captions default to placeholder names, so if your comparison sheet comes out labeled "image1 / image2," you just forgot to fill in the text fields. For a single-row comparison, one ImageReel plus one composit is all you need; for a grid, build several reels and hand them all to the compositor.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| image1 | IMAGE | — | |
| image1_text | STRING | image1 | — |
| image2_text | STRING | image2 | — |
| image3_text | STRING | image3 | — |
| image4_text | STRING | image4 | — |
| reel_height | INT | 51264–2048 | — |
| border | INT | 328–512 | — |
| image2opt | IMAGE | — | |
| image3opt | IMAGE | — | |
| image4opt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| reel | Reel | — |