ComfyUI Node Runs on cloud

AsciiArt

Your render, made of characters

By EllangoK·Created 3 years ago·Updated 2 years ago· 257
AsciiArt
  • image
  • IMAGE
char_size12
font_size12

There's a specific kind of fun that comes from taking a photoreal render and rebuilding it out of keyboard characters. AsciiArt does exactly that: it downsamples your image, maps each block to a character from a brightness ramp (@ for bright, . for dim, the whole classic ladder in between), and redraws the result in color. If you've ever wanted a poster of your checkpoint's output that looks like it was printed on a dot-matrix terminal in 1982, this is the node.

How it works

The image is first shrunk by char_size with nearest-neighbor sampling, so each character cell grabs one average color. Then the node walks every cell, picks a character by luminance, and draws it onto a black canvas at font_size pixels, filled with that cell's original RGB. The canvas stays at the original image resolution - the characters just tile it. That's also why it's slow: it's a Python loop drawing one text glyph per cell, per frame. A single 1024px image is fine; a video batch will make you get a coffee.

  • char_size (0–64, step 2, default 12) - how many pixels each character represents. Lower = more, smaller characters = finer detail. Keep it at 2 or above; at 0 the node divides by zero and crashes.
  • font_size (0–64, step 2, default 12) - the glyph size. The classic text-block look wants these roughly equal; bump font_size relative to char_size for chunky overlapping letters.

Output is a single IMAGE.

Install

AsciiArt is one of ~22 nodes in ComfyUI-post-processing-nodes.

  • ComfyUI Manager: search "post processing nodes", install, restart.
  • Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/EllangoK/ComfyUI-post-processing-nodes

Restart after. No requirements.txt, no model downloads. It's under postprocessing → Effects in the node menu.

The one real gotcha

This is the pack's platform trap: the code loads the font with ImageFont.truetype("arial.ttf", ...). On Windows that resolves fine, but on a Linux install without the msttcorefonts package, Pillow raises OSError: cannot open resource and the node dies. If you're on Linux, install the fonts package first:

sudo apt install ttf-mscorefonts-installer

then restart ComfyUI. It's the single most likely "why does this pack fail" issue, and it's specific to this node. Beyond that, expect it to be slow on large images, and don't be afraid to keep char_size in single digits - that's where the detail lives.

Categorypostprocessing/Effects

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
char_sizeINT120–64
font_sizeINT120–64

Outputs (1)

NameTypeDescription
IMAGEIMAGE