Nodes/ComfyUI Layer Style/LayerUtility: Image Reel
ComfyUI Node Runs on cloud

LayerUtility: Image Reel

ImageReel — bundle up to four labeled images into a comparison strip

By chflame163·Created 3 years ago·Updated 5 days ago· 3,113
LayerUtility: Image Reel
  • image1
  • image2
  • image3
  • image4
  • reel
â—„image1_textimage1â–º
â—„image2_textimage2â–º
â—„image3_textimage3â–º
â—„image4_textimage4â–º
â—„reel_height512â–º
â—„border32â–º

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) plus image2, 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 to image1, 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.

Category😺dzNodes/LayerUtility

Inputs (10)

NameTypeDefaultDescription
image1IMAGE—
image1_textSTRINGimage1—
image2_textSTRINGimage2—
image3_textSTRINGimage3—
image4_textSTRINGimage4—
reel_heightINT51264–2048—
borderINT328–512—
image2optIMAGE—
image3optIMAGE—
image4optIMAGE—

Outputs (1)

NameTypeDescription
reelReel—