Nodes/Allor Plugin/ImageTextMultilineOutlined
ComfyUI Node

ImageTextMultilineOutlined

The subtitle generator with edges you can actually read

By Nourepide·Created 3 years ago·Updated 2 years ago· 298
ImageTextMultilineOutlined
    • IMAGE
    ◄text—►
    ◄font▾►
    ◄align▾►
    ◄size28►
    ◄red255►
    ◄green255►
    ◄blue255►
    ◄outline_size1►
    ◄outline_red0►
    ◄outline_green0►
    ◄outline_blue0►
    ◄alpha1.00►
    ◄margin_x0►
    ◄margin_y0►

    If you're making subtitles or captions in ComfyUI, this is the node to grab out of Allor's text family. It's the multiline text renderer and it strokes the glyphs with a second color, which is precisely the difference between captions you can read over any frame and captions that drown in busy backgrounds. Multi-line input, per-block alignment, outline control - it's the full set, and the four text nodes in the pack all funnel through this one's implementation.

    It's part of the Allor Plugin (Nourepide/ComfyUI-Allor), and like everything in the pack the output is a transparent RGBA layer you composite onto your image or frames. That makes it the standard pick for burned-in subtitles in frame-by-frame or video work: one node renders the whole caption block, outlined and aligned, ready to drop over the footage.

    How it works

    PIL drawing with the multiline path: it measures the entire text block with multiline_textbbox, sizes the transparent canvas to it (plus margins and outline padding), and draws with align (left/center/right) applied to each line. The text fill uses red/green/blue; the stroke uses outline_red/outline_green/outline_blue at outline_size pixels. The pack's other multiline node, ImageTextMultiline, is literally this node with outline_size forced to 0 - so there's no downside to using this one and dialing the outline to 0 when you don't need it.

    Text is a real multiline field. Fonts come from the pack's fonts folder (default ComfyUI/comfy_extras/fonts, with optional system/user font folders enabled via config.json). No font in the folder means an empty dropdown, the usual first-run stumble.

    Inputs and outputs

    • text (STRING, multiline).
    • font - dropdown of fonts in the fonts folder.
    • align - left / center / right.
    • size (INT, default 28).
    • red/green/blue (default 255) - fill color.
    • outline_size (INT, default 1) - stroke width; 0 disables it.
    • outline_red/outline_green/outline_blue (default 0) - stroke color, black by default.
    • alpha (FLOAT, default 1.0) - whole-layer opacity.
    • margin_x/margin_y (INT, default 0) - padding around the block.

    Output: a single RGBA IMAGE sized to the text block. Composite it over your image - it is not image-sized by itself.

    Installing it

    Same pack, same routine: 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 and reload to populate the dropdown.

    Where people get burned

    The outline-thickness trap is real: outline_size 1 looks thin over detailed backgrounds, so subtitle work usually wants 2–3, and the canvas grows to fit it - watch that your text isn't touching the block edge and getting its stroke clipped. Another classic: alignment is within the block only, so "center the caption on a 1920-wide frame" still means doing the centering in the composite step. And if you set alpha low for a watermark effect, remember it dims the outline too - that's often fine, but it catches people who wanted a full-opacity stroke on a translucent fill (not something this node can split).

    Categoryimage/draw

    Inputs (14)

    NameTypeDefaultDescription
    textSTRING—
    fontCOMBO0 options:
    alignCOMBO3 options: left, center, right
    sizeINT28—
    redINT255—
    greenINT255—
    blueINT255—
    outline_sizeINT1—
    outline_redINT0—
    outline_greenINT0—
    outline_blueINT0—
    alphaFLOAT1.00—
    margin_xINT0—
    margin_yINT0—

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE—