Mememage Decode All
Read every Mememage bar in a collage — no loop node required
- image
- identifiers
- content_hashes
- count
- image
Mememage Decode All is the forensic reader of the pack: the single-bar Mememage Decode handles the ordinary one-image-one-record case, and this node handles everything else - a composite, a contact sheet, a paste-up where several barred images sit in one frame, each carrying its own bar.
The list-output trick is the whole point
Feed it an image and you get four outputs, and two of them are lists:
identifiers- list of every identifier found, bottom-most bar first.content_hashes- the matching hashes, index-aligned with the identifiers.count- plain integer: how many bars were found. 0 for a bare image, which is handy to gate on.image- passes through unchanged.
Here's the part that makes it feel like magic if you're new to ComfyUI: because identifiers and content_hashes are list outputs, wiring either one into Mememage Load Record or Mememage Verify makes that node run once per bar automatically. That's ComfyUI's list-expansion behavior (a node fed a list executes per element) - you don't need a loop node, a batching trick, or anything clever. Wire identifiers into Find Record and you'll get every source image's record back in one pass, then Verify each.
When to reach for it
Honestly, most of the time you won't. If you're decoding your own freshly-stamped single image, plain Mememage Decode is simpler and slightly cheaper. Decode All earns its keep when the provenance question is "what's in this picture": you received a collage assembled from several known images and you want to identify every provenanced source in it. It reads the first frame of a batch, same as Decode.
It's also reassuringly strict about false positives. The README is blunt: a false positive would have to beat the magic bytes, CRC-16, and Reed-Solomon checks at once, so bar-ish noise gets dropped, not misread. You won't get phantom identifiers out of random pixels.
Installing it
Same pack as the rest - mememage-comfy. ComfyUI Manager: search "Mememage" → Install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/sememtac/mememage-comfy
<ComfyUI-python> -m pip install mememage
Restart, find it under the Mememage category. No model files, no API key - the mememage core library does the decoding, and Manager installs it for you.
Common issues
countreturns 0 on an image you expect to have bars. Same failure mode as single Decode: the bars live in the pixels at the bottom edge of each source. If someone cropped the bottom strips off the sources before compositing, there's nothing to read.- A bar that was there is now noise. This reader is strict by design. A heavily compressed source - deep JPEG, heavy screenshot scaling - can push a bar past the error correction. That's usually a sign the source has been through the internet a few times, not a bug.
- Don't confuse the lists.
identifiersandcontent_hashesare index-aligned, butcountis a scalar - you can't index into it. If you need to branch on "any bars at all," wirecountinto a threshold or switch.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| identifiers | STRING | — |
| content_hashes | STRING | — |
| count | INT | — |
| image | IMAGE | — |