Color ASCII Typing Animation
The typing animation where each character knows its color
- image
- colored_animated_ascii_frames
Here's the node where this pack's idea actually clicks. "Color ASCII Typing Animation" is the typing animation from the previous node, but each character is drawn in the color of the image pixel at that same spot. The result reads less like "text typing out" and more like "the image revealing itself one glyph at a time," which is a much better trick.
The tell is in the inputs: there is no text_color. You can't color the output, because the output's color comes from the source image - that's the whole feature. If you're making a title card or a reveal and the flat single-color typing animation felt lifeless, this is the upgrade path. It also looks great on colorful sources - gradients and neon renders shine, while a washed-out gray image will produce washed-out gray characters.
How it works
Same pipeline as the rest of the pack - downscale to a char_width grid, grayscale it for brightness, map brightness onto ascii_charset - but the code keeps a second, RGB version of the downscaled grid and samples the actual pixel color at every grid position. It builds a map of (character, sampled_color) pairs, then the animation loop draws each typed character in its own fill color. Because the brightness map and the color map come from the same downscaled image, the character and its color always line up at the same grid cell.
chars_per_frame controls typing speed (default 1 - raise it), and the shared controls are the usual suspects: char_width, font_path, font_size, ascii_charset, background_color, invert_brightness_mapping. One thing worth knowing: char_width multiplies your frame count, so keep it modest or the render drags. The output is the IMAGE batch colored_animated_ascii_frames.
Wiring it up
Like every animation node in this pack, the output is a frame batch, not a video. You need a Video Combine (VideoHelperSuite) or a Save Animated WebP/GIF node downstream to get a playable file. It's a one-second addition and it's easy to forget, because the preview inside ComfyUI will happily show you the frames and make you think you're done.
Install and gotchas
ComfyUI Manager (search "ComfyUI ASCII Art Nodes") is the easy path. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/LamEmil/ComfyUI_ASCIIArtNode
cd ComfyUI_ASCIIArtNode
pip install -r requirements.txt
Restart after. The only dependency is Pillow>=9.0.0; there are no model downloads and no API calls anywhere in this pack.
The two gotchas are the pack's recurring themes: the default font_path of cour.ttf isn't bundled, so if your glyphs come out looking like a chunky bitmap, point font_path at a real monospace font file (e.g. /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf on Linux). And since there's no text_color here, don't go hunting for one - if the colors look wrong, it's the source image, not a missing setting. This is a small single-commit hobby pack with no community support to speak of, but it works as shipped for exactly this effect.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| char_width | INT | 8010–1000 | — |
| font_path | STRING | cour.ttf | — |
| font_size | INT | 155–100 | — |
| ascii_charset | STRING | .'`^":;Il!i~_?[{1(|/fjxnvzXYJCLQ0Zmwqdkh*#M&8%B@$ | — |
| background_color | STRING | #000000 | — |
| invert_brightness_mapping | BOOLEAN | false | — |
| chars_per_frame | INT | 11–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| colored_animated_ascii_frames | IMAGE | — |