scofano 0c64e93180 removed gif
updated requirements
2025-11-24 22:14:54 -03:00
2025-10-24 13:49:05 -03:00
2025-10-24 13:40:48 -03:00
2025-10-24 13:37:27 -03:00
2025-11-24 22:04:00 -03:00
2025-11-24 22:14:54 -03:00
2025-11-24 22:14:54 -03:00

🖋️ ComfyUI Advanced Text Overlay

Repository: scofano/ComfyUI-Advanced-TextOverlay

Forked from: munkyfoot/ComfyUI-TextOverlay

Originally inspired by: mikkel/ComfyUI-text-overlay

This module provides the most feature‑rich and precise text overlay system available for ComfyUI, including:

  • Completely re‑engineered layout engine
  • Pixel‑perfect multiline stroke alignment
  • Opacity‑aware backgrounds and shadows
  • Letter/line spacing, padding, and alignment controls
  • Full animation engine (fade + directional movement)
  • Batch-aware rendering with smart caching
  • Full video processing node with audio‑preserving re‑mux

✨ Key Features

✔️ 1. Rebuilt Rendering Engine

  • Accurate bounding boxes for multiline text
  • Consistent stroke widths (even‑pixel enforcement)
  • Crisp, stable text edges with alpha‑aware compositing

✔️ 2. Advanced Layout and Typography

  • Letter spacing and line spacing
  • Padding around the text block
  • Horizontal and vertical alignment: left / center / right, top / middle / bottom
  • Per‑axis offset (x_shift, y_shift)
  • Automatic multiline wrapping based on image width

✔️ 3. Styling Options

  • Fill + alpha
  • Stroke + alpha
  • Shadow + alpha + offset
  • Rounded background box with padding, color, radius, and alpha

✔️ 4. Animation System

Supports:

  • fade_in
  • fade_out
  • move_from_top
  • move_from_bottom
  • move_from_left
  • move_from_right

With easing:

  • linear
  • ease_in
  • ease_out
  • ease_in_out

Animation Parameters:

  • animation_frames
  • animation_opacity_target
  • pause_frames_before_start

✔️ 5. Batch-Smart Processing

  • Automatically caches layout on first frame
  • Maintains perfect consistency across all frames
  • For animated batches: animates through first N frames, then holds the final pose

✔️ 6. Full Video Support

The Advanced Text Overlay – Video node:

  • Reads a video frame‑by‑frame
  • Applies the same overlay logic
  • Writes a new MP4
  • Automatically re‑injects the original audio track with ffmpeg
  • Optional delete_original flag

📥 Installation

Clone the repository inside your ComfyUI custom_nodes directory:

git clone https://github.com/scofano/ComfyUI-Advanced-TextOverlay

Restart ComfyUI — the nodes will appear under Advanced Text Overlay.


🚀 Usage

Image Node: Advanced Text Overlay

Connect an image or batch → configure text parameters → render.

Video Node: Advanced Text Overlay – Video

Provide a path to a video → configure overlay → output is written to ComfyUI's output directory.


🔧 Input Parameters

Text & Typography

Parameter Description
text Text to draw; supports multiline \n
all_caps Force uppercase
font Font name or file; auto-searches /fonts
font_size Pixel size
letter_spacing Per-character spacing
line_spacing Spacing between lines

Color & Stroke

Parameter Description
fill_color_hex Hex fill color
fill_alpha Opacity 0–1
stroke_enable Toggle outline
stroke_color_hex Hex outline color
stroke_alpha Outline opacity
stroke_thickness Relative thickness (scaled by font size)

Layout & Position

Parameter Description
padding Padding around text block
horizontal_alignment left / center / right
vertical_alignment top / middle / bottom
x_shift, y_shift Pixel offsets

Background Box

Parameter Description
bg_enable Toggle background box
bg_padding Padding around text block
bg_radius Rounded corner radius
bg_color_hex Hex color
bg_alpha Opacity

Shadow

Parameter Description
shadow_enable Toggle shadow
shadow_distance Pixel offset
shadow_color_hex Shadow color
shadow_alpha Opacity

Animation

Parameter Description
animate Enable animation
animation_kind Fade or movement animation
animation_frames How many frames animation lasts
animation_opacity_target Target alpha
animation_ease Easing curve
pause_frames_before_start Delay before animation begins

Video-Specific Parameters

Parameter Description
video_path Input video
filename_prefix Naming prefix for output
delete_original Remove input after processing
pause_seconds_before_start Pause duration (converted to frames)

🧪 Output

  • Image node → modified image/batch
  • Video node → MP4 written to ComfyUI output directory, with audio preserved

🧠 Credits

  • Original concept by mikkel
  • Fork base by munkyfoot
  • Advanced reimplementation and feature expansion by scofano
S
Description
No description provided
Readme GPL-3.0
829 KiB
Languages
Python 100%