CryptoCatImage
The real output node in CryptoCat's wrapped workflows
- images
Let's get the honest version out of the way first: CryptoCatImage is a reskinned copy of ComfyUI's built-in SaveImage. Same job - feed it an image, it writes a PNG to your output folder - same widgets, same %date:yyyy-MM-dd% formatting tricks. You're not missing out on anything by using the stock node in your own graph. Where this one earns its keep is inside the CryptoCat compression flow, where it's the node that actually writes your pictures to disk while ExcuteCryptoNode plays decoy.
Why this node exists
CryptoCat (RiceRound/ComfyUI_CryptoCat) ships two generations of trickery. The old one is "compression": the visible workflow is tiny - just an ExcuteCryptoNode stub wired into this save node - while the real pipeline is hidden in an obfuscated file on disk. On every run the pack's on-prompt hook decompresses that file, splices the hidden graph into the prompt, and repoints CryptoCatImage's images input at the genuine output. So when you open a wrapped workflow and see a lone CryptoCatImage at the end, that's the honest output stage of a graph that's lying about its own size.
There's a detail worth knowing: this node calls the parent save_images with prompt and extra_pnginfo both set to None. In plain terms, the PNGs it writes do not embed the workflow metadata that normal SaveImage output carries. For a stock workflow that metadata is how you share recipes; for CryptoCat the whole point is the recipe stays hidden, so the leak is closed on purpose. Not a bug, a feature of the scheme.
The inputs that matter
info_schema gives it exactly two, both familiar:
- images (IMAGE) - the images to save. Wire this from whatever produces your final frames.
- filename_prefix (STRING, default
ComfyUI) - the filename prefix. Same token support as SaveImage, so%date:yyyy-MM-dd%and%Empty Latent Image.width%style substitutions work.
That's the whole list. No outputs - it's an output node, the end of the line.
Installing it
You're not installing this node alone; it rides along with the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/RiceRound/ComfyUI_CryptoCat
then restart ComfyUI. Easier still, use ComfyUI Manager and search for "CryptoCat" (the pack title is ComfyUI Compression and Encryption Node). Dependencies are light - aiohttp, pyzipper, websockets - and there are no model files to download. CryptoCatImage itself is hidden from the node menu (__hidden__ category); you'll meet it in a wrapped workflow, not in a search box.
Troubleshooting
Because CryptoCatImage is the sink for the hidden graph, it's also where the failure shows up. If the ExcuteCryptoNode's file path points at a missing or wrong file, the decompression step fails and the run errors before anything reaches this node - you won't see the red 1024×1024 placeholder image from the stub, you'll just get a failed queue. Fix the file path, not the save node. And since it's a stock SaveImage under the hood, the usual output-folder annoyances apply: check ComfyUI/output (or wherever you've redirected output) if the file isn't where you expect.
One more thing worth knowing: this pack is niche. It launched in late 2024 with "world's first commercial-grade workflow encryption" energy and the community mostly shrugged - a single skeptical Reddit thread and essentially zero adoption. If you find CryptoCatImage in a workflow you downloaded, it came from someone using CryptoCat's old compression path. Recognize it, and you already know how to replace it with a plain SaveImage if you'd rather not deal with the obfuscated file.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | The images to save. | |
| filename_prefix | STRING | ComfyUI | The prefix for the file to save. This may include formatting information such as %date:yyyy-MM-dd% or %Empty Latent Image.width% to include values from nodes. |
Outputs (0)
No outputs