e6441bbae36672c3caf6e87fdca6b6be795e961e
The README has been updated to provide a clearer, more detailed summary of the module's capabilities, including new sections for features, input parameters, and usage instructions. The documentation now highlights advanced layout, animation, batch processing, and video support, making it easier for users to understand and utilize the node.
🖋️ 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_infade_outmove_from_topmove_from_bottommove_from_leftmove_from_right
With easing:
linearease_inease_outease_in_out
Animation Parameters:
animation_framesanimation_opacity_targetpause_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_originalflag
📥 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
Languages
Python
100%
