Nodes/ComfyUI-CryptIO/Save Image ๐Ÿ”’
ComfyUI Node

Save Image ๐Ÿ”’

Output files that sit encrypted at rest

By Suzu008ยทCreated 8 months agoยทUpdated 2 months agoยท 0
Save Image ๐Ÿ”’
  • images
    โ—„filename_prefixComfyUIโ–บ
    โ—„formatโ–พโ–บ
    โ—„quality95โ–บ
    โ—„auto_downloadfalseโ–บ

    This is CryptIO's drop-in replacement for the stock SaveImage node. It writes to the same place - ComfyUI's output directory - with the same kind of filename-prefix control, but the bytes that land on disk are RSA-encrypted rather than a plain image file. Your browser decrypts it for you when it renders the result or when you trigger a download; anything else that reads the output folder directly gets ciphertext.

    It's part of the CryptIO pack: the server generates an RSA keypair on startup, your browser automatically grabs the public key, and encryption happens transparently from there with no manual key handling. This node is where that gets applied to your final saved image.

    The inputs that matter

    • images (IMAGE, required) - the batch to save, same as the stock node.
    • filename_prefix (STRING, default "ComfyUI") - prefix for the encrypted file's name on disk, same idea as the built-in save node's field.
    • format - a dropdown for the file format the encrypted output is saved in.
    • quality (INT, 1โ€“100, default 95) - matters for lossy formats, mostly irrelevant for lossless ones.
    • auto_download (BOOLEAN, default false) - automatically triggers a browser download of the decrypted image once it's saved, instead of you having to go dig it out of the output folder yourself.

    No outputs - is_output_node is true, so this is a terminal node, same as the stock SaveImage.

    The thing to understand about what this actually protects

    Be clear-eyed about the model here: the server holds the private key it generated for itself, so encrypting the output file doesn't hide anything from whoever operates that machine - the server can always decrypt its own output. What it does protect against is two more specific and genuinely common failure modes: someone sniffing the network path between your browser and the server, and someone (or something) reaching ComfyUI's file-serving endpoints directly without going through your browser session at all. ComfyUI has no authentication on its API by default, and "secure your instance" is a recurring community warning for exactly that reason - an exposed instance's output folder is otherwise just sitting there for anyone who finds the port. With this node, a direct hit on that path gets ciphertext instead of your actual generated image.

    Installing it

    Bundled with the rest of the CryptIO pack, one repo. Via ComfyUI Manager: search "ComfyUI-CryptIO," install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/Suzu008/ComfyUI-CryptIO, restart ComfyUI. No model downloads for this pack at all - it's a lightweight Python + frontend-JS combo.

    Troubleshooting

    The one that'll trip people up: if you SSH into a remote box or otherwise poke directly at the output/ folder expecting to find a normal, viewable PNG, you'll find an encrypted blob instead - that's the node working as intended, not a bug. Get the actual image through the browser (the preview, or auto_download), not by grabbing the file off disk manually.

    quality doing nothing visible is expected on lossless formats. And as with the rest of this pack, it's early and small - the README still carries the unedited cookiecutter-template boilerplate, so there's no deep community troubleshooting well to draw from beyond the README and the node's own tooltips; the repo's own issues page is the most useful next stop if something behaves unexpectedly.

    CategoryCryptIO๐Ÿ”’

    Inputs (5)

    NameTypeDefaultDescription
    imagesIMAGEThe images to encrypt and save
    filename_prefixSTRINGComfyUIPrefix for the saved encrypted file
    formatCOMBOThe file format in which to save the image
    qualityINT951โ€“100Quality setting for the saved image
    auto_downloadBOOLEANfalseAutomatically download decrypted image in browser

    Outputs (0)

    No outputs