Nodes/ComfyUI-CloudAPI-worker/Cloud Fetch Video
ComfyUI Node

Cloud Fetch Video

Bring the video home as a VIDEO object, a file, or both

By Dobidop·Created 5 months ago·Updated 5 months ago· 0
Cloud Fetch Video
  • video
  • video
  • file_path
  • prompt_id
filename_prefixcloud_fetch_video
formatauto
codecauto
poll_interval3.0
timeout1800

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 - auto or mp4. auto is the right answer unless you have a specific reason.
  • codec - auto or h264. Same deal; auto passes through whatever the cloud's SaveVideo produces.
  • poll_interval / timeout - the usual status-check cadence and 30-minute kill switch. Raise timeout for 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 timeout and 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.
Categorycloud

Inputs (6)

NameTypeDefaultDescription
videoCLOUD_VIDEO
filename_prefixSTRINGcloud_fetch_video
formatCOMBOauto2 options: auto, mp4
codecCOMBOauto2 options: auto, h264
poll_intervalFLOAT3.00.5–60
timeoutINT180010–7200

Outputs (3)

NameTypeDescription
videoVIDEO
file_pathSTRING
prompt_idSTRING