ComfyUI Node

OutputCrypto

The red square that's not the point

By RiceRound·Created 2 years ago·Updated about a year ago· 99
OutputCrypto
  • input_anything
  • IMAGE
crypto_file_path/tmp/ComfyUI/output

Here's a node that looks like a joke until you read the pack's source. ExcuteCryptoNode - displayed as "OutputCrypto" - takes a file path, optionally takes anything else, and proudly returns a solid red 1024×1024 image. Run it by itself and that's all you get: a crimson placeholder square. The joke is that the red square is the decoy. The real work happens before your graph even executes, in a hook that swaps the actual pipeline in underneath you.

How the compression trick works

This is the legacy "compression" half of CryptoCat (RiceRound/ComfyUI_CryptoCat). The pitch: a huge workflow can be shipped as a handful of visible nodes plus one opaque file, so the person on the other end can run it without seeing the recipe. The mechanism, from trim_workflow.py and __init__.py:

  • The pack registers a handler on ComfyUI's prompt pipeline: PromptServer.instance.add_on_prompt_handler(...).
  • When your queued prompt contains ExcuteCryptoNode, the handler reads the file at crypto_file_path, decompresses it - it's zlib-compressed JSON with a fixed XOR obfuscation pass - and splices those hidden nodes into the prompt.
  • It then rewires any CryptoCatImage in the graph so its images input points at the real image source from the hidden graph instead of at this stub's output.

So ExcuteCryptoNode never actually needs to produce a useful image; its execute method building a red tensor is just a placeholder so the visible graph is structurally valid. The red square exists to be ignored.

The inputs and output that matter

  • crypto_file_path (STRING) - the path to the packed/obfuscated workflow JSON. The default is your ComfyUI output directory, which is a footgun: you almost certainly want this set to the exact packed file, not a folder.
  • input_anything (*, optional) - a pass-through any-type input so values can reach the hidden graph.
  • IMAGE output - the placeholder. It's an output you wire to the pack's CryptoCatImage save node in the standard wrapped graph.

Installing it

It's part of the pack, not a standalone install:

cd ComfyUI/custom_nodes
git clone https://github.com/RiceRound/ComfyUI_CryptoCat

then restart ComfyUI. Or use ComfyUI Manager and search "CryptoCat" (pack title ComfyUI Compression and Encryption Node). Requirements are modest - aiohttp, pyzipper, websockets - and there are no model downloads. Like CryptoCatImage, this node is __hidden__ in the menu; you only encounter it in an already-wrapped workflow.

Common issues

The failure mode is predictable: if crypto_file_path points at a missing, renamed, or wrong-format file, decompression fails and the queue errors out before the visible graph even runs. Double-check the path against the actual packed file. Also know that this is the old component - the pack's current generation uses SaveCryptoNode / SaveCryptoBridgeNode for encryption and marks ExcuteCryptoNode as legacy. If a workflow you downloaded uses it, it was packed with an older build, and the packed file it references must come along with the workflow or nothing works.

Fair warning about the ecosystem around this: CryptoCat launched in late 2024 claiming to be "the world's first commercial-grade workflow encryption tool," and the community response was basically one lukewarm thread and a shrug. Workflow "encryption" is a niche product - most people share recipes openly - and this node only makes sense if you're the person selling wrapped workflows rather than the person buying them.

Category__hidden__

Inputs (2)

NameTypeDefaultDescription
crypto_file_pathSTRING/tmp/ComfyUI/output
input_anythingopt*

Outputs (1)

NameTypeDescription
IMAGEIMAGE