ComfyUI-CloudAPI-worker
A set of PoC ComfyUI cloud API nodes for connecting the cloud API with a local ComfyUI instance
Nodes (48)
Guidance strength, computed a thousand miles away
The loader that loads nothing — and that's the whole point
The single text encoder, on someone else's GPU
Your prompt, encoded at a datacenter
Paste a whole workflow in, get a cloud version out
Mux your frames into a video on the cloud's dime
Two text encoders, zero local VRAM
A blank canvas that only exists in the cloud
The cloud's blank latent, where text-to-image starts
A blank video latent, sized for Wan or LTX — you choose
The node that actually finishes the job and hands you audio
The terminal that turns cloud handles back into pixels
Bring the video home as a VIDEO object, a file, or both
Know a cloud image's size without ever downloading it
Rescale a cloud image by a factor without pulling it home
One node. Checkpoint, prompts, sampler, result. Done.
The sampler for two-stage chains, with the advanced dials
The cloud KSampler that's shaped exactly like the one you know
63 samplers, none of them running on your machine
Load a latent upscaler that lives in the cloud
The refresh button for the cloud's model dropdowns
Slap a LoRA on a cloud model without downloading anything
The LoRA loader for models that skipped the text encoder
LTX-2's text encoder, rented instead of downloaded
Turn LTX-2's audio latents into something you can actually hear
The audio half of LTX-2's joint latent, loaded cloud-side
Splice video and audio latents into one LTX-2 blob
Tell LTX-2 how fast your clip should play
Trim the guide frames out of your LTX latent
A blank canvas for LTX-2 audio
Start an LTX-2 video from a still image, in place
Upscale the latent, not the pixels
Give LTX-2 an image it can actually start from
The shift knobs that LTX wants, cloud-side
Split LTX-2's joint AV latent back into its halves
Type your noise schedule by hand
Drag a cloud latent back onto your own GPU
The shift dial for flow-matching models
A seed for the cloud's noise generator
One number to get your input images cloud-ready
Assemble your sampling from noise, guider, sampler, and sigmas
When you just want the MP4 saved to disk, not a VIDEO tensor to mux
Load a bare diffusion model on the cloud — no checkpoint bundle required
The one-way door that gets local images into a cloud workflow
Where the cloud chain finishes decoding — and your GPU genuinely does nothing
Turn a local image into cloud latents — img2img minus the local VRAM
A whole node for one dropdown — but when your model has no bundled VAE, it's the only way
Wan 2.2 image-to-video on the cloud — no 24GB card required
ComfyUI-CloudAPI-worker
Proof-of-concept ComfyUI custom node pack that runs workflows on the ComfyUI Cloud from inside a local ComfyUI graph. You wire up familiar-looking nodes (Cloud Checkpoint Loader, Cloud KSampler, Cloud VAE Decode, etc.) and they assemble a workflow JSON, ship it to the cloud, poll for completion, and return images as a normal IMAGE tensor.
How it works
The cloud nodes don't run anything locally. Each one returns a lightweight handle (CLOUD_MODEL, CLOUD_CLIP, CLOUD_VAE, CLOUD_CONDITIONING, CLOUD_LATENT) that carries the partial workflow JSON accumulated so far plus a reference to a node-output slot. Only the terminal node — Cloud VAE Decode — actually submits to the cloud, polls, and downloads the results. Whatever shape you wire up locally translates 1:1 into the JSON sent to the cloud, so LoRAs, separate CLIP loaders, dual-text-encoder setups, two-stage samplers, etc. all just work.
Models, LoRAs, VAEs, and text encoders all live cloud-side and never traverse the wire. Local images (e.g. for img2img or Wan I2V) are uploaded once via /api/upload/image and referenced as a LoadImage node in the assembled workflow.
Installation
- Clone or copy this folder into
ComfyUI/custom_nodes/. - Copy
config.json.exampletoconfig.jsonand paste your API key from https://platform.comfy.org/profile/api-keys. - Restart ComfyUI. Model dropdowns populate automatically in the background — checkpoints, loras, vae, diffusion_models, text_encoders, clip_vision are prefetched on startup.
Nodes
All nodes appear under the cloud category.
Loaders: Cloud Checkpoint Loader, Cloud UNET Loader, Cloud VAE Loader, Cloud CLIP Loader, Cloud Dual CLIP Loader, Cloud Lora Loader, Cloud Lora Loader (Model Only)
Conditioning: Cloud CLIP Text Encode, Cloud Model Sampling SD3, Cloud Wan Image To Video
Latents: Cloud Empty Latent, Cloud Empty Latent Video, Cloud VAE Encode
Sampling: Cloud KSampler, Cloud KSampler Advanced, Cloud KSampler (Quick) (monolithic txt2img/img2img all-in-one)
Cloud-side decoding (non-terminal): Cloud VAE Decode (returns CLOUD_IMAGE), Cloud LTXV Audio VAE Decode (returns CLOUD_AUDIO), Cloud Create Video (returns CLOUD_VIDEO)
Terminals (cloud → local bridges):
- Cloud Fetch Images (CLOUD_IMAGE → IMAGE batch)
- Cloud Fetch Audio (CLOUD_AUDIO → AUDIO)
- Cloud Fetch Video (CLOUD_VIDEO → VIDEO + local file path)
- Cloud Save Video (CLOUD_VIDEO → STRING; saves MP4 to local output dir without wrapping as VIDEO)
Image utilities: Cloud Empty Image, Cloud Get Image Size, Cloud Image Scale By, Cloud Resize Images By Longer Edge
Sampling primitives: Cloud CFG Guider, Cloud KSampler Select, Cloud Sampler Custom Advanced, Cloud Random Noise, Cloud Manual Sigmas
LTX 2.0 video: Cloud LTXV Conditioning, Cloud LTXV Scheduler, Cloud LTXV Preprocess, Cloud LTXV Img To Video Inplace, Cloud LTXV Crop Guides, Cloud LTXV Latent Upsampler
LTX 2.0 audio: Cloud LTXAV Text Encoder Loader, Cloud LTXV Audio VAE Loader, Cloud LTXV Audio VAE Decode, Cloud LTXV Concat AV Latent, Cloud LTXV Separate AV Latent, Cloud LTXV Empty Latent Audio
Misc loaders: Cloud Latent Upscale Model Loader
Bridges:
- Cloud Materialize Latent (runs the cloud chain so far, downloads the latent as a local LATENT — useful for inserting a local-only operation like a 3rd-party latent upscaler. One-way: comfy-cloud has no LoadLatent support, so a local LATENT can't be pushed back into a cloud chain.)
- Cloud Upload Image (uploads a local IMAGE to the cloud and returns a CLOUD_IMAGE handle — the bridge from local LoadImage into a graph-style cloud chain.)
Utility: Cloud List Models (refreshes a folder's dropdown cache on demand), Cloud Convert Workflow (translates a local workflow JSON into its cloud equivalent and writes it to ComfyUI's output dir; accepts both editor format and API format — use API format for any workflow with subgraphs, e.g. LTX 2.0 templates)
Notes
- Polling status updates print to the console (
queued_waiting → allocated → preparing → executing → success). - Bump the
timeouton Cloud VAE Decode for long jobs. Wan 2.2 14B I2V with the 4-step LoRA finishes in ~70-100s; without the LoRA it can take 8-10 minutes. - For video workflows, the IMAGE batch returned by Cloud VAE Decode is N frames — wire it into VHS_VideoCombine to mux locally.
- The dropdown cache lives in
config.jsonand refreshes every 24h on startup. Run a Cloud List Models node to force-refresh a specific folder, then restart ComfyUI.
Status
Proof of concept. Architecture is solid for image and video diffusion workflows; missing pieces include ControlNet, CLIP Vision conditioning, dedicated cloud-side video encoding (SaveVideo/SaveAnimatedWebP), and per-model I2V conditioners other than Wan. Add as needed.
License
MIT — see LICENSE.