Nodes/NO8D-controls/NO8D-Image Title
ComfyUI Node

NO8D-Image Title

Label batches without an image editor

By no8d·Created 4 months ago·Updated 21 days ago· 300
NO8D-Image Title
  • images
  • title_bar_color
  • text_color
  • image
◄titlesimage-01►
◄title_bar_opacity60►
◄title_position图内底部►
◄title_bar_height10►
◄font_size36►
◄text_padding4►
◄text_align居中►
◄output_size原始尺寸►

Making a comparison grid is only half the battle - the grid is useless unless you can tell which cell was which seed, which LoRA, which prompt. NO8D-Image Title is the labeling half: it stamps a title onto each image in a batch, so a 12-cell grid becomes a readable report instead of a guessing game. You get independent titles per image (one per line), full control over placement and styling, and an output that stays exactly the size you asked for.

The nice part is the batch behavior. titles is multiline and one title per line maps to one image in the batch - line 1 lands on image 1, line 2 on image 2, and a blank line skips rendering a title entirely. That makes it trivial to caption a run: "seed-42" on one line, "seed-77" on the next, and the pairing holds.

What you set

  • titles - one title per line, one per image. Blank lines = no title on that image.
  • title_position - where the title goes: outside top or bottom (adds a bar beyond the image edges, growing the output height), inside top or bottom (overlays the image edges, output size unchanged), or middle (centered overlay, also size-preserving).
  • title_bar_color, title_bar_opacity (0–100%), title_bar_height (0–100%, relative to source image height) - the bar's look. The opacity and height-as-percentage pair is what makes the bar look deliberate rather than slapped on.
  • font_size, text_padding, text_color, text_align (left/center/right) - the text's look and placement within the bar.
  • output_size - resize by the longest edge before rendering: original, 1K, 2K, or 4K. Aspect ratio is preserved; this is how you keep batches consistent when your sources come in mixed resolutions.

Output is image - the titled batch, one image per input.

How it works

It's a PIL-composition node: resize if you asked for it, create a bar sized from the height percentage, composite text onto it at the requested alignment, and stack the bar and image in the chosen position. The middle and inside positions overlay rather than extend, so you can title an image without changing its footprint - important when downstream expects a specific resolution.

Where it fits

Straight after a grid node or a batch save. Grid the batch, title it, save it - that's the entire reporting pipeline, and it produces the kind of file you can post to show a parameter comparison without typing explanations. It also pairs with NO8D save for dataset work where the filename alone doesn't capture which run an image belongs to.

Install and gotchas

cd ComfyUI/custom_nodes
git clone https://github.com/no8d/ComfyUI-NO8D-controls.git
python -m pip install -r requirements.txt

ComfyUI Manager → "NO8D-controls". No models. The recurring gotchas: title count must line up with image count or blank lines will handle the overflow; and if you need a specific output resolution, set output_size before compositing, because outside-position bars grow the final height by design. One more - like NO8D-Image Grid and NO8D-Prompt Merge, this node uses the newer backend node API, so a stale ComfyUI won't register it. Update, then restart.

CategoryNO8D-control

Inputs (11)

NameTypeDefaultDescription
imagesIMAGE—
titlesSTRINGimage-01—
title_bar_colorCOLOR#2563EB—
title_bar_opacityINT600–100—
title_positionCOMBO图内底部5 options: 图外顶部, 图内顶部, 中部, 图内底部, 图外底部
title_bar_heightINT101–100—
font_sizeINT361–512—
text_paddingINT40–1024—
text_colorCOLOR#FFFFFF—
text_alignCOMBO居中3 options: 居左, 居中, 居右
output_sizeCOMBO原始尺寸4 options: 原始尺寸, 1K, 2K, 4K

Outputs (1)

NameTypeDescription
imageIMAGE—