IRC PNG Exporter
Keep your IRC art and its color codes together in one PNG
- image
The IRC PNG Exporter does something genuinely neat: it saves the converted image with the IRC and ANSI text embedded inside the PNG's own metadata. One file, art and codes together. If you're archiving or sharing converted art, that beats keeping a folder of .txt files that slowly drift away from the images they belong to. It's also the pack's most-used node on paper - it's the output node in the example workflow, so it gets the most impressions even though the converter does the heavy lifting.
It has two modes, switched by the preview input. In preview mode (the default) the node writes a temp PNG and displays it right in the node with a note about what metadata got embedded - handy for just eyeballing the converter's result without touching your output folder. Flip preview off and it saves to ComfyUI/output/irc_art/ as irc_art_{TIMESTAMP}.png instead.
How it works: the node uses PIL's PngInfo to write standard PNG text chunks - Description, Comment, Software, Author. The Comment chunk holds a JSON blob with the timestamp, generator, version, and both the irc and ansi strings. Because they're standard text chunks, any tool can read them back - ExifTool, ImageMagick, or Python PIL - no proprietary sidecar format.
The inputs that matter:
- image - wire the converter's
processed_imageoutput here. - preview - true shows in-node, false saves a file.
- irc_text / ansi_text - optional STRING inputs from the converter. Leave them unplugged and it still works.
- filename - used in save mode;
{TIMESTAMP}becomes aYYYYMMDD_HHMMSSstamp, and.pnggets appended if you forget it.
There are no output connectors - it's an output node, it displays (or saves), full stop.
A couple of things worth knowing. First, this is bookkeeping, not magic: an IRC client won't render the art from the PNG, and neither will a terminal. You still paste the text - this node just keeps it attached to the image so you don't lose it. Second, it's happy to run with no text wired in; you just get an image with "basic metadata," and the node's UI message tells you exactly what was embedded. Third, it needs Pillow - requirements.txt installs it, but if you somehow skip that step the node returns a plain error telling you to pip install Pillow.
Install is the same as the rest of the pack: ComfyUI Manager (search "ComfyUI-Mircify"), or git clone https://github.com/birdneststream/ComfyUI-Mircify into custom_nodes and pip install -r requirements.txt, then restart ComfyUI.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| preview | BOOLEAN | true | — |
| irc_textopt | STRING | — | |
| ansi_textopt | STRING | — | |
| filenameopt | STRING | irc_art_{TIMESTAMP}.png | — |
Outputs (0)
No outputs