Nodes/ComfyUI_NetDist_Plus/Extracts base64 encoded latent and conditioning data from an image's metadata.
ComfyUI Node

Extracts base64 encoded latent and conditioning data from an image's metadata.

Recover the latent and conditioning baked into a saved PNG

By nux1111·Created 2 years ago·Updated 2 years ago· 39
Extracts base64 encoded latent and conditioning data from an image's metadata.
    • latent_base64
    • conditioning_base64
    image

    ComfyUI already has a neat trick baked in: every image it saves carries the full workflow graph as embedded metadata, which is why you can drag any output PNG back onto the canvas and get the exact pipeline that made it. NetDist_Plus pushes that same idea further - its SaveImageWithBase64-Nux node can stash the actual latent tensor and both conditioning channels from a render into that same PNG, base64-encoded, riding alongside the image. This node is how you get them back out: pick a saved image and it hands you the raw latent and conditioning strings that were baked into it.

    Where it fits

    This is the manual, offline counterpart to the pack's automatic remote round trip. Normally, if you've dispatched a job with RemoteQueueSimple-Nux and collected it with FetchRemoteWithExtras-Nux, the latent and conditioning come back to you automatically as part of that handshake. But if you're working from a file that's already sitting on disk - something you saved earlier, or an image someone handed you from their own remote setup - this node reconstructs the same payload from the file itself, no live remote connection required.

    Inputs and outputs

    One input: image, a standard upload picker, exactly like the core Load Image node - pick a file from what's already in your input folder or drop a new one in.

    Two outputs: latent_base64 and conditioning_base64, both plain strings. From here you'd typically wire latent_base64 into LoadLatentFromBase64-Nux and conditioning_base64 into ConditioningFromBase64-Nux to turn them back into a real LATENT and CONDITIONING you can actually plug into a sampler.

    Installing it

    ComfyUI Manager: search ComfyUI_NetDist_Plus. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/nux1111/ComfyUI_NetDist_Plus
    pip install requests
    

    Restart ComfyUI. No model downloads - this node just reads metadata off a file you already have.

    Where people get burned

    The obvious one: this only produces something useful on images that actually had the payload embedded by SaveImageWithBase64-Nux in the first place. A normal ComfyUI output - even one with a perfectly intact workflow graph - won't have latent or conditioning data sitting in it unless that specific node was used to save it. Feed it an ordinary image and expect empty or missing outputs, not an error.

    The second is the same trap that hits any metadata-embedding trick: re-saving or re-compressing the file strips it. If the image has passed through Discord, a messaging app, or an image editor's "save as" dialog, the embedded payload is very likely gone. Work from the original file NetDist_Plus produced, not a re-shared copy.

    Worth flagging honestly: the pack's own author admits in the README that he never got a chance to fully test the remote-latent path end to end. If latent_base64 comes back looking wrong or fails downstream in LoadLatentFromBase64-Nux, you're not necessarily doing anything wrong - that's the least battle-tested corner of the pack. The conditioning half is the one the author actually built and demonstrated working (it's the whole point of the pack's "remote conditioning" example workflow), so lean on that side with more confidence than the latent side.

    Categoryimage

    Inputs (1)

    NameTypeDefaultDescription
    imageCOMBO1 options: example.png

    Outputs (2)

    NameTypeDescription
    latent_base64STRING
    conditioning_base64STRING