Cloud Fetch Video
Bring the video home as a VIDEO object, a file, or both
- video
- video
- file_path
- prompt_id
Cloud Fetch Video is the terminal of the pack's video path - the node that turns a CLOUD_VIDEO handle into a file you can actually watch. It appends a cloud SaveVideo node to the assembled workflow, submits the whole graph, polls the job, downloads the MP4, and does two things with it: wraps it as a real ComfyUI VIDEO object (so you can wire it into local video nodes for further processing) and writes it to your output directory as a side effect (so it's backed by a file on disk). You get the video object, the file path, and the cloud job ID.
Where does a CLOUD_VIDEO come from? Cloud Create Video, which muxes a CLOUD_IMAGE frame batch plus fps (and optionally audio) into a video handle cloud-side. So the full chain is: sample → VAE Decode → Create Video → Fetch Video. The alternative - decode to N frames, fetch them as an IMAGE batch, and mux locally with VHS_VideoCombine - still exists, but this node is the path of least resistance when you just want the finished clip.
The inputs that matter
- video (
CLOUD_VIDEO) - the handle from Cloud Create Video. - filename_prefix - default
cloud_fetch_video; names the local file (a timestamp gets appended). - format -
autoormp4.autois the right answer unless you have a specific reason. - codec -
autoorh264. Same deal;autopasses through whatever the cloud's SaveVideo produces. - poll_interval / timeout - the usual status-check cadence and 30-minute kill switch. Raise
timeoutfor long generations.
Outputs: video (VIDEO) - wire into local video nodes; file_path (STRING) - where the MP4 landed; prompt_id (STRING) - the cloud job ID.
How it works
Same submit→poll→download engine as the other terminals, plus one wrinkle that's a genuine gotcha: to return a VIDEO object it has to wrap the downloaded file in ComfyUI's VideoFromFile class, and that class has moved between ComfyUI versions. The node tries a couple of known import paths and, if it can't find the class on your install, raises a helpful error pointing you at Cloud Save Video (which just writes the file and returns the path). If you hit that error, you're not doing anything wrong - your ComfyUI version's import layout just isn't one the node knows yet, and the fallback is painless.
How to install
cd ComfyUI/custom_nodes
git clone https://github.com/Dobidop/ComfyUI-CloudAPI-worker
Copy config.json.example to config.json, paste an API key from https://platform.comfy.org/profile/api-keys, restart. Or use ComfyUI Manager. Dependencies are just requests, Pillow, safetensors - the encoding happens cloud-side, so no ffmpeg needed on your end for the mux.
Common issues
- "Could not locate ComfyUI's VideoFromFile class" - a ComfyUI-version mismatch, not your fault. Use Cloud Save Video instead; it skips the VIDEO-object wrapping.
- Timeout - long video jobs exceed the 30-minute default faster than you'd think. Raise
timeoutand watch the console for the status stream. - PoC caveats - video is the newest territory for this pack, and the author's "very hacked together" disclaimer applies with interest. The Wan and LTX example workflows are the tested paths; anything custom is a field test.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| video | CLOUD_VIDEO | — | |
| filename_prefix | STRING | cloud_fetch_video | — |
| format | COMBO | auto | 2 options: auto, mp4 |
| codec | COMBO | auto | 2 options: auto, h264 |
| poll_interval | FLOAT | 3.00.5–60 | — |
| timeout | INT | 180010–7200 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| file_path | STRING | — |
| prompt_id | STRING | — |