Nodes/DJZ-Nodes/Video Text V2
ComfyUI Node

Video Text V2

The title node, now with rotation and vertical text

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 80
Video Text V2
  • images
  • IMAGE
textVIDEO TEXT
font
positionbottom-center
x_offset0
y_offset0
padding20
font_size32
line_spacing0
letter_spacing0
text_color#00FF00
glow_radius3
glow_intensity0.5
outline_width0
outline_color#000000
chromatic_aberration2
text_alignmentcenter
text_rotation0
vertical_textdisabled

Video Text V2 is the "yes, and" upgrade to DJZ-Nodes' Video Text node. It takes the same burn-in-titles pipeline - draw text on every frame of a batch with glow, outline, and chromatic aberration - and adds two things people kept asking for: arbitrary rotation and vertical text. If V1 is your basic title card tool, V2 is the one that handles the title that needs to run up the side of the frame or sit at an angle.

Same pack, same install, same overall job. If you're starting fresh and know you'll want rotated or vertical type, there's little reason to reach for V1 instead of this.

What's new over V1

Everything from V1 is here unchanged - same position dropdown (nine spots), x_offset/y_offset, padding, font_size, text_color, the glow/outline/chromatic-aberration trio, line_spacing/letter_spacing, and text_alignment. Then V2 bolts on:

  • text_rotation (-180 to 180 degrees, default 0) - rotate the whole text block. Small angles are for jaunty, stylized titles; 90 gives you vertical-ish type without the vertical layout mode; 180 is your "sticker slapped on upside down" move.
  • vertical_text ("disabled"/"enabled") - a true vertical layout, one glyph per line, rather than rotated text. That's the difference between a run of rotated horizontal text and actual vertical writing, and for east-Asian-style or poster-like titles it's the mode you want.

Mechanically it's still PIL drawing text onto a transparent layer and compositing over the frame batch. Rotation is applied to the text layer before compositing, so the glow and outline stay glued to the rotated glyphs - no misaligned halos around angled text, which is the kind of detail that would otherwise send you back to a photo editor.

The inputs that matter

For a beginner, the essentials are: images (the batch), text (your string), position + x_offset/y_offset for placement, and font_size relative to your resolution. Then add flavor: glow_radius/glow_intensity for neon, outline_width for readability, chromatic_aberration for retro, and text_rotation/vertical_text for the V2 extras. Output is the composited IMAGE batch, same length as the input.

Installing it

Pack-level install - it's one of the DJZ-Nodes family:

cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt

Restart ComfyUI, or grab it via ComfyUI Manager by searching "DJZ-Nodes".

Troubleshooting

  • Rotated text gets cut off at frame edges. Rotation happens around the text's anchor point, so a long title rotated 45° can clip off-canvas. Nudge it back toward center with position and x_offset/y_offset.
  • Vertical text isn't actually vertical. Make sure you're using vertical_text = enabled, not just text_rotation = 90. The two render differently - rotated text stays a horizontal glyph run, vertical mode reflows one glyph per line.
  • Font still only has "default". Same as V1 - the pack ships a TTF directory but only exposes the packaged font in the dropdown. If you need a specific typeface, you're into editing the pack's font loading, not this node.
  • Text looks blurry on a 4K frame. Same resolution trap as V1: font_size is in pixels. On big frames you need a much larger size than the 32 default.

The verdict, like the original: simple, effective, no AI required. If rotation and vertical type are on your roadmap at all, this is the one to install - you get V1's entire feature set plus the two extras, in the same pack, for zero extra effort.

Categoryimage/text

Inputs (19)

NameTypeDefaultDescription
imagesIMAGE
textSTRINGVIDEO TEXT
fontCOMBO1 options: default
positionCOMBObottom-center9 options: top-left, top-center, top-right, center-left, center, center-right, +3
x_offsetINT0-1000–1000
y_offsetINT0-1000–1000
paddingINT200–500
font_sizeINT328–256
line_spacingINT0-20–100
letter_spacingINT0-10–50
text_colorSTRING#00FF00
glow_radiusINT30–20
glow_intensityFLOAT0.50–1
outline_widthINT00–10
outline_colorSTRING#000000
chromatic_aberrationINT20–10
text_alignmentCOMBOcenter3 options: left, center, right
text_rotationINT0-180–180
vertical_textCOMBOdisabled2 options: disabled, enabled

Outputs (1)

NameTypeDescription
IMAGEIMAGE