ComfyUI Node

Cloud VAE Encode

Turn a local image into cloud latents — img2img minus the local VRAM

By Dobidop·Created 5 months ago·Updated 5 months ago· 0
Cloud VAE Encode
  • image
  • vae
  • latent

If Cloud Upload Image is the door that gets local pixels into a cloud workflow, Cloud VAE Encode is the door that gets them into latent space. It takes a real local IMAGE tensor, uploads it to the cloud, appends a VAEEncode node to the assembled workflow, and returns a CLOUD_LATENT - exactly what your sampler expects. That makes it the node you want for img2img on the cloud: load an image locally, encode it cloud-side, sample, decode, fetch.

How it works

Under the hood it's Cloud Upload Image plus one more step. It converts the IMAGE tensor to a PNG and uploads it via /api/upload/image, then builds two nodes into the workflow: a LoadImage referencing the upload, and a VAEEncode fed by that LoadImage and your VAE handle. The output is a CLOUD_LATENT pointing at the VAEEncode's output slot. All the actual encoding math happens on the cloud instance, not your machine - which is the whole selling point when you're starting from a model too big for your card.

The inputs and outputs that matter

  • image (IMAGE) - a real local tensor. Load Image works, as does anything else that produces IMAGE.
  • vae (CLOUD_VAE) - from Cloud VAE Loader, or a checkpoint's bundled VAE handle if you loaded one that way.
  • Output: latent (CLOUD_LATENT) - feed it straight into a sampler's latent_image input.

The sibling you might actually want

Compare with Cloud Upload Image, which stops at CLOUD_IMAGE (a LoadImage reference) and doesn't encode. Cloud VAE Encode goes the extra step. If the downstream cloud node wants pixels - like the start_image input on Cloud Wan Image To Video, which accepts a plain local IMAGE and uploads it itself - Cloud Upload Image (or that direct input) is right. If it wants latents, this is the node. One thing to keep in mind: comfy-cloud has no LoadLatent support, so you can bring a local image into latent space cloud-side, but you can't push a local latent into a cloud chain.

Installing it

Install via ComfyUI Manager (search "ComfyUI-CloudAPI-worker") or:

cd ComfyUI/custom_nodes
git clone https://github.com/Dobidop/ComfyUI-CloudAPI-worker
cd ComfyUI-CloudAPI-worker
cp config.json.example config.json

Paste your API key from https://platform.comfy.org/profile/api-keys into config.json and restart ComfyUI. Locally you only need requests, Pillow and safetensors.

Common issues & troubleshooting

  • It uploads on every execution - that's a real network call, so an unset or wrong API key fails at this node first. The console prints an "Uploaded image as ..." line on success.
  • The VAE has to be a cloud handle - you can't pass a local VAE object you loaded yourself. Grab one from Cloud VAE Loader so the cloud instance knows what to encode with.
  • Security note - this is a node that ships a key and phones home by design. That's the pack's whole job, so keep the API key in config.json and install the pack from the official repo, not from a pasted workflow.
Categorycloud

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
vaeCLOUD_VAE

Outputs (1)

NameTypeDescription
latentCLOUD_LATENT