Cloud VAE Encode
Turn a local image into cloud latents — img2img minus the local VRAM
- 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_imageinput.
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.jsonand install the pack from the official repo, not from a pasted workflow.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| vae | CLOUD_VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent | CLOUD_LATENT | — |