Nodes/ComfyUI-GeN13/Load Image Private (GeN13)
ComfyUI Node

Load Image Private (GeN13)

Load Image Private (GeN13) is Load Image with a blur over the naughty bits — and over everything else

By heigen13·Created 23 days ago·Updated 11 days ago· 1
Load Image Private (GeN13)
    • IMAGE
    • MASK
    • width
    • height
    ◄image▾►

    If you stream, record tutorials, or share your screen while working, the node preview is the leak in the room. Not the output - the input. The half-finished portrait you're inpainting, the client's face, whatever the model produced that you're now feeding back in. It sits there at full size on the canvas while you talk about CFG.

    Load Image Private (GeN13) is core Load Image with a cover drawn over the preview. Mosaic, frosted glass, a fuzzy gradient, a palette, or a solid colour - and you hold the preview down to peek at the real thing, let go and it's covered again.

    What's actually happening

    The cover is drawn by the frontend, not baked into the image. The node's widget surface is one image dropdown (files in input/, upload or drag and drop), exactly like core Load Image. The preview panel and a small row of controls - preview on/off, privacy on/off, and the cover style - are drawn onto the node by the pack's JavaScript, and they live in the node's properties rather than as real widgets. That's deliberate: properties don't go into the API prompt and don't shift widgets_values, so adding the privacy layer can't break workflows that were saved before it existed.

    Consequence worth knowing: those settings travel with the workflow, but not with the API. If you drive ComfyUI over the API, or re-save the graph as an API-format prompt, the privacy state isn't part of it.

    Also worth knowing, because everybody assumes the opposite: privacy defaults to OFF. You get the mosaic controls whether or not the cover is engaged, so the first thing to do after dropping the node in is flip privacy on and confirm the preview actually goes away.

    Inputs and outputs

    image in. Then, unlike core Load Image (which gives you IMAGE and MASK), this one also hands you the dimensions:

    • IMAGE - the decoded image; multi-frame files output as a batch.
    • MASK - 1 in transparent areas, all zeros if there's no alpha channel. Same convention as core, so it drops into existing inpainting graphs without a behaviour change.
    • width, height - INTs, from the first image of a batch. Genuinely useful: wire them into Resize (GeN13) or a note node instead of re-deriving the size with a separate "get image size" node, which is one of those things every large graph ends up doing twice.

    The decoder underneath is shared with the pack's other loaders - Pillow only, with exif_transpose, so iOS screenshots don't come in sideways. And it deliberately doesn't use ComfyUI's built-in image_upload widget, because that widget paints the clear original straight onto the node and defeats the point.

    The disclaimer that matters

    The pack's README says it flatly and it's the right thing to say: the cover hides the on-screen preview. It does not encrypt or protect the file. The image on disk is unchanged, and so is every clear copy of it. If you drop a Preview Image node downstream, or open the file in another app, it's right there.

    This is a screen-share tool. Treat it as one.

    Installing

    Manager → search GeN13 → install → restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/heigen13/ComfyUI-GeN13
    pip install -r ComfyUI-GeN13/requirements.txt
    

    The one requirement is nvidia-ml-py (the pack's monitor strip); the loader needs only Pillow, numpy and torch, all of which ship with ComfyUI. No models.

    Two UI notes from the README: the pack is built and tested on ComfyUI 0.40 with the classic canvas, and Nodes 2.0 is supported for the image previews - but if you're on a bleeding-edge frontend and the cover doesn't render, that's the first thing to suspect, not your install.

    The trick that makes this pleasant

    You don't have to rebuild your graph. Right-click any core Load Image and this pack adds a convert-in-place option that swaps it for the Private version and keeps the settings and the links. Same for the built-in Save and Preview nodes, and for Primitive → Remote. It also means you can flip a whole graph private at the end of a session rather than thinking about it while wiring.

    One more: the convert path keeps the privacy settings, so if you've dialled in a mosaic style you like, it comes along.

    CategoryGeN13/image

    Inputs (1)

    NameTypeDefaultDescription
    imageCOMBOImage: a file in the input folder; add one with the node's upload button or by drag and drop.

    Outputs (4)

    NameTypeDescription
    IMAGEIMAGEImage: multi-frame files are output as a batch.
    MASKMASKMask: 1 in transparent areas; all 0 when the image has no alpha channel.
    widthINTWidth: image width in px; for a batch, the first image.
    heightINTHeight: image height in px; for a batch, the first image.