Nodes/Allor Plugin/ImageTextOutlined
ComfyUI Node

ImageTextOutlined

Legible text over any background, stroke included

By Nourepide·Created 3 years ago·Updated 2 years ago· 296
ImageTextOutlined
    • IMAGE
    text
    font
    size28
    red255
    green255
    blue255
    outline_size1
    outline_red0
    outline_green0
    outline_blue0
    alpha1.00
    margin_x0
    margin_y0

    Plain white text looks great on a dark image and invisible on a bright one. The fix is an outline, and that's the one extra thing ImageTextOutlined gives you over Allor's basic ImageText: a stroke of a second color around the letters. That's what turns a watermark or a caption from "only readable half the time" into "readable anywhere," because the outline separates the glyphs from whatever's behind them.

    It's part of the Allor Plugin (Nourepide/ComfyUI-Allor), the pack that renders text to a transparent RGBA image you can composite. Functionally, this is the node that ImageText actually delegates to - the plain version is just this one with outline_size forced to 0. So if you're choosing between them, there's almost no reason to pick the plain one: you can set outline_size to 0 here and get identical output, or turn the outline on when you need it.

    How it works

    PIL's drawing again: the node loads the chosen font, measures the text bounding box, and draws the string on a transparent canvas sized to the text (plus margins and outline space). The text fill uses red/green/blue, and the stroke uses outline_red/outline_green/outline_blue at outline_size pixels wide - a black outline (the defaults) on white text is the classic readable-everywhere combo. alpha applies to the whole layer, fill and stroke together.

    The font source is the pack's fonts folder (default ComfyUI/comfy_extras/fonts; system/user fonts optional via config.json). No font in the folder, no dropdown entries - that's the usual first-run surprise.

    Inputs and outputs

    • text (STRING, single line).
    • font - dropdown of fonts in the fonts folder.
    • size (INT, default 28).
    • red/green/blue (default 255) - the text fill.
    • outline_size (INT, default 1) - stroke width. 0 disables the outline entirely.
    • outline_red/outline_green/outline_blue (default 0) - stroke color, black by default.
    • alpha (FLOAT, default 1.0) - layer opacity, watermark-friendly at ~0.5.
    • margin_x/margin_y (INT, default 0) - padding around the text.

    Output is a single RGBA IMAGE, sized to the text plus outline/margins. Composite it over your image to finish.

    Installing it

    Same pack, same path: ComfyUI Manager → "Allor Plugin" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Nourepide/ComfyUI-Allor
    

    Add a font to ComfyUI/comfy_extras/fonts (.ttf or .otf) and reload before expecting the dropdown to show anything.

    Where people get burned

    The biggest trap is the outline being too subtle: at outline_size 1 on a busy background, a thin black stroke is barely there - bump it to 2–3 and, if needed, thicken margins so the stroke isn't clipped at the canvas edge. Watch that the output canvas grows with the outline, so text that touched the edge in the plain node will still fit. And the usual family gotcha applies: this is single-line text. For multi-line or centered text, reach for the multiline siblings (ImageTextMultilineOutlined); don't try to fake it with \n here.

    Categoryimage/draw

    Inputs (13)

    NameTypeDefaultDescription
    textSTRING
    fontCOMBO0 options:
    sizeINT28
    redINT255
    greenINT255
    blueINT255
    outline_sizeINT1
    outline_redINT0
    outline_greenINT0
    outline_blueINT0
    alphaFLOAT1.00
    margin_xINT0
    margin_yINT0

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE