Nodes/ComfyUI 1hewNodes/Image Add Label
ComfyUI Node

Image Add Label

Burn text labels onto images — with real Chinese font support

By 1hew·Created about a year ago·Updated 7 days ago· 33
Image Add Label
  • image
  • image
height_pad24
font_size36
invert_colortrue
fontAlibaba-PuHuiTi-Regular.otf
text
directiontop
input1
input2

Labeling images is one of those jobs nobody wants to do manually: adding a filename band, a caption strip, an A/B tag to a comparison contact sheet. Image Add Label (1hew_ImageAddLabel) does it in-graph - it draws a text label band on the edge of an image, auto-scaling the font to the image size and picking colors that keep the text readable.

It's part of the 1hewNodes/image group, and it has one feature most label nodes lack: it ships with a CJK-capable font (Alibaba PuHuiTi) bundled in the pack. So when your labels are in Chinese, Japanese, or Korean, the text actually renders instead of showing up as tofu boxes. That alone makes it worth knowing about if your workflow touches multilingual captions.

How it works

You give it an image and some text, and it picks an edge (direction: top/bottom/left/right, default top), appends a label band of height_pad pixels (default 24), and renders the text at font_size scaled to the image dimensions - so the label stays proportionally the same size whether the image is 512×512 or 2048×2048. invert_color (default on) gives you a white band with black text, which reads well on everything.

Two features lift it above a dumb text overlay. The text field supports multi-line and multi-item labels - a line of only dashes (---) separates items, and in batch mode each item labels a successive image (so a 5-item list labels 5 frames). And input1/input2 are substitution variables: reference them in the text and they're filled from those fields - handy for injecting a filename or counter per image. font is a dropdown over the pack's bundled fonts.

Inputs and outputs

  • image - the input (RGBA preserved if it has alpha).
  • height_pad - band thickness, default 24.
  • font_size - base text size, default 36.
  • invert_color - white band / black text (default) or black band / white text.
  • font - bundled font selection, defaults to Alibaba PuHuiTi Regular.
  • text - multiline; --- separates per-image labels.
  • direction - top / bottom / left / right.
  • input1 / input2 - substitution values referenced from the text.
  • image - the labeled result.

Installing it

It's part of the 1hewNodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/1hew/ComfyUI-1hewNodes

or via ComfyUI Manager ("1hewNodes"), then restart. Fonts come bundled with the pack (they're stored via Git LFS in the repo, so a plain clone gets them too). No models.

The honest take

This is the pack's most underrated utility for anyone doing dataset prep or comparison grids. Batch-labeling a folder of generations with per-image tags, then contact-sheeting them, is a workflow this node was clearly built for. Where people get tripped up: the --- separator is the only way to get per-image labels, so a list of newline-separated labels without dashes collapses into one multi-line label. And if your text references {input1} expecting brace syntax, check the pack's docs - this node uses a simpler substitution via the two dedicated input fields. Small quirks, real payoff, and the CJK font support is the quiet differentiator.

Category1hewNodes/image

Inputs (9)

NameTypeDefaultDescription
imageIMAGE
height_padINT241–1024
font_sizeINT361–256
invert_colorBOOLEANtrue
fontCOMBOAlibaba-PuHuiTi-Regular.otf5 options: Alibaba-PuHuiTi-Bold.otf, Alibaba-PuHuiTi-Heavy.otf, Alibaba-PuHuiTi-Light.otf, Alibaba-PuHuiTi-Medium.otf, Alibaba-PuHuiTi-Regular.otf
textSTRING
directionCOMBOtop4 options: top, bottom, left, right
input1STRING
input2STRING

Outputs (1)

NameTypeDescription
imageIMAGE