Base64 List to Images
Turn a wall of base64 text back into images, right inside ComfyUI
- images
Somewhere in your pipeline you've got frames as text - a base64 dump coming out of an API, a JSON blob from a remote job, a file someone pasted into a chat. ComfyUI doesn't speak that language natively. Base64 List to Images is the decoder that makes it speak again: paste the strings in, get real IMAGE tensors out that you can preview, save, or wire straight into the rest of your graph.
This is one node in a small pack from Yeq6X called ComfyUI Image to Video Inserter. The pack's headline act is inserting still images into video frames, but it ships a couple of base64 bridges for getting images into and out of ComfyUI's text world. This one is the "in" half; its mirror image, Images to Base64 List, encodes the other direction.
How it works
The mechanism is about as simple as it gets. You give it one big text blob and a separator, it splits the blob into individual base64 strings, base64-decodes each one, opens it as an image with Pillow, and hands you back a list of single-frame image tensors. Two details worth knowing:
- It handles data URIs. If a string starts with
data:, it strips the header and decodes what's after the comma. So the same node eats raw base64 and thedata:image/png;base64,...form you get from browsers and APIs. - Anything that fails becomes a black 64×64 image. Bad string, corrupt data, wrong separator - you get a silent 64×64 dummy frame, not an error. That's the trap: your downstream result can quietly include junk frames if you fed it malformed input.
Inputs and outputs that matter
base64_list- the multiline text field. One string per line ifseparatorisnewline(the default), or comma-separated if you switch it.separator-newlineorcomma. Pick whichever matches how your source joined the strings.
The output is images (type IMAGE). Note it's actually returned as a Python list of single-frame tensors, which matters for wiring: this pack's Multi Image Inserter deliberately accepts that list form, so the intended round trip is Images to Base64 List → (somewhere) → Base64 List to Images → Multi Image Inserter. If a plain batch-IMAGE input is what a different node needs, you'll usually have to run the list through an assembler first.
Installing it
The whole pack installs at once. In ComfyUI Manager, search "Image to Video Inserter"; or:
cd ComfyUI/custom_nodes
git clone https://github.com/Yeq6X/ComfyUI-image-to-video-inserter
then restart ComfyUI. No weights to download, no API keys. The only gotcha: there's no requirements.txt, so if your environment is missing opencv-python the whole pack fails to load - pip install opencv-python into your ComfyUI python env fixes it. And if the node returns nothing sensible, double-check your separator choice before suspecting the base64 itself.
When to reach for it
Reach for this when your images arrive as text and you want them in the graph without writing a custom loader - API responses, pastebin dumps, embedded workflow data. It's a plumbing node, not a glamorous one. But when the alternative is hand-decoding a hundred base64 strings into PNGs and reloading them one by one, the textbox starts looking pretty good.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| base64_list | STRING | — | |
| separator | COMBO | newline | 2 options: newline, comma |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |