Nodes/DJZ-Nodes/Retro Video Text
ComfyUI Node

Retro Video Text

SYSTEM LOADING... — terminal text baked into your frames, scanlines included

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 78
Retro Video Text
  • images
  • IMAGE
textSYSTEM LOADING...
font
positionbottom
font_size32
text_colorgreen
glow_radius3
glow_intensity0.5
scanline_spacing3
scanline_alpha0.3
chromatic_aberration2

RetroVideoText is the "put text on your footage and make it look like 1985" node. Default text is SYSTEM LOADING..., and that pretty much tells you the vibe: glowing terminal-style type, scanlines over the frame, and a bit of chromatic aberration on the letters. It stamps the text onto every image in your batch, so you can lay a retro title or HUD label across a video's worth of frames in one pass.

It's part of the pack's vintage-video corner (the same family as the VHS and interlaced nodes), and it's genuinely nice for opening titles, loading-screen mockups, or any "glowing green text over footage" aesthetic. No model, no font download required out of the box - just a solid default look with knobs.

How it works

Pure PIL drawing. It loads a font, draws your text onto a transparent layer, then builds up the look:

  • Glow - the text is re-drawn in a ring around itself at low alpha, scaled by glow_radius and glow_intensity. That's your phosphor glow.
  • Chromatic aberration - red and blue copies are offset left/right of the main text for that misaligned-CRT edge.
  • Scanlines - a horizontal line pattern is overlaid across the whole image at scanline_spacing intervals, with scanline_alpha controlling how strong it is.

The text sits at top, center, or bottom (position), and the color comes from five presets: green, amber, white, cyan, magenta. Fonts load from the pack's TTF folder - the menu currently offers just default (a built-in PIL font), but if you drop font files into that folder they become available.

The inputs that matter

  • text - what it says. SYSTEM LOADING... by default.
  • position - top / center / bottom.
  • text_color - the five presets. Green is the default and the most "terminal"; amber reads more "old alarm panel."
  • font_size - 8 to 256. Bigger is bolder, obviously.
  • glow_radius / glow_intensity - the neon halo. Radius 3, intensity 0.5 is tasteful; crank both for full 80s overload.
  • scanline_spacing / scanline_alpha - the CRT line texture. Spacing 3, alpha 0.3 gives that classic visible-scanline look.
  • chromatic_aberration - 0–10, the color-fringing offset in pixels. 2 is subtle, 8+ is "the tube is dying."

Output: one IMAGE, same batch size - the whole frame gets the scanlines, text on top.

Installing it

Part of DJZ-Nodes. ComfyUI Manager → Install Custom Nodes → search DJZ-Nodes → install → restart, or:

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

It only needs PIL, which ComfyUI ships - none of the pack's heavy dependencies (OpenCV, audio, 3D) are involved. Custom fonts go in ComfyUI/custom_nodes/DJZ-Nodes/TTF/.

Common issues

The realistic gotchas are taste and fonts. On fonts: until you add files to TTF/, you only get default, which is a plain bitmap-style font - fine for the aesthetic, but if you expected Helvetica you'll be disappointed. On behavior: position controls the text's placement, but the scanlines cover the entire frame regardless of where the text is - if you only want scanlines under the text, this isn't the node for that (pair it with a crop/blend instead). And the glow draws outside the text box bounds, so a huge font_size with a big glow_radius can push past the frame edges on small canvases - leave a little margin. Otherwise it's one of the most foolproof nodes in the pack: type, pick a color, queue.

Categoryimage/text

Inputs (11)

NameTypeDefaultDescription
imagesIMAGE
textSTRINGSYSTEM LOADING...
fontCOMBO1 options: default
positionCOMBObottom3 options: top, center, bottom
font_sizeINT328–256
text_colorCOMBOgreen5 options: green, amber, white, cyan, magenta
glow_radiusINT30–20
glow_intensityFLOAT0.50–1
scanline_spacingINT31–20
scanline_alphaFLOAT0.30–1
chromatic_aberrationINT20–10

Outputs (1)

NameTypeDescription
IMAGEIMAGE