FL Image Notes
Stamp a text bar onto an image
- images
- IMAGE
Comparison grids, benchmark screenshots, "here's what seed 42 with CFG 5 looks like" reference sheets - anywhere you need a solid text label baked directly onto an image (not floating text over the picture, an actual bar), FL_ImageNotes does that one job. It adds a colored bar at the top or bottom of the image with your text on it, and grows the bar automatically if the text needs to wrap.
How it works
It draws a solid bar of bar_height pixels at the position you choose, then renders your text into it at the size you set, with an optional border. If word_wrap is enabled and your text is too long to fit on one line at the given text_size, the node wraps it - and, notably, adjusts the bar's actual height upward to fit the wrapped lines rather than clipping them. That auto-grow behavior is the one thing that separates this from a naive fixed-height text stamp.
The inputs and outputs that matter
All required:
images- what gets the label bar.text(multiline, default"Text Here") - the note itself.bar_height(10–200, default 50) - the bar's base height; grows if wrapped text needs more room.text_size(10–100, default 24) - font size.border(0–200, default 0) - adds a border around the bar/text if set above 0.word_wrap(disable/enable, defaultdisable) - whether long text wraps to multiple lines or gets left as one line.bar_position(top/bottom, defaulttop) - where the bar goes.
Output: a single IMAGE with the bar composited in - this permanently changes the image's canvas size (taller by bar_height, or more with wrapping), it doesn't overlay on top of the existing frame.
How to install it
Ships inside ComfyUI_Fill-Nodes. ComfyUI Manager: search ComfyUI_Fill-Nodes, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes
then restart. PIL text rendering - no models, no extra dependencies.
Common issues & troubleshooting
Long text with word_wrap off gets clipped, not shrunk. With wrapping disabled, a text string that's wider than the image just runs off the edge of the bar rather than auto-scaling down to fit. If your note text length varies a lot between runs, turning word_wrap on is the safer default - it costs you bar height, not legibility.
Output canvas gets taller, which can surprise a downstream resize or crop step. Because the bar adds real pixels rather than overlaying, any node after this one that assumes a fixed canvas size (a crop expecting the original dimensions, a batch node expecting everything to match) needs to account for the added height. If that's a problem, apply this node last, right before saving.
This stamps a label bar, it doesn't do free-floating text. If you want text placed anywhere in the frame - a watermark in a corner, a caption over part of the image rather than a dedicated bar - that's FL_TextOverlayNode's job, which supports arbitrary positioning and anchor points. FL_ImageNotes is specifically the "solid bar with text" look.
Font is whatever the node ships with or the system provides. There's no font-family input here - if you need a specific typeface for branding reasons, this isn't the node for that; check FL_TextOverlayNode, which the README notes supports custom TrueType fonts.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| text | STRING | Text Here | — |
| bar_height | INT | 5010–200 | — |
| text_size | INT | 2410–100 | — |
| border | INT | 00–200 | — |
| word_wrap | COMBO | disable | 2 options: disable, enable |
| bar_position | COMBO | top | 2 options: top, bottom |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |