Nodes/ComfyUI-CloudStorage/Load Video From Cloud
ComfyUI Node

Load Video From Cloud

Load Video From Cloud — a VideoHelperSuite loader with the download step deleted

By philipy1219·Created about a year ago·Updated about a year ago· 2
Load Video From Cloud
  • meta_batch
  • vae
  • IMAGE
  • frame_count
  • audio
  • video_info
storage_typeoss
endpoint
bucket
file_key
force_rate0
custom_width0
custom_height0
frame_load_cap0
skip_first_frames0
select_every_nth1
regionus-east-1
formatAnimateDiff

Load Video From Cloud is the most interesting node in this pack, and the reason it exists. It does one thing: download a video from an Aliyun OSS or AWS S3 bucket and hand it to ComfyUI as frames - no manual download, no file sitting in your input folder. The wrinkle is how it does it: under the hood it's running VideoHelperSuite's video-loading machinery, so you get all of VHS's video smarts with a cloud download bolted on the front.

How it works

Pull the file down to a temp path, run it through a VHS-derived loader (the load_video code in this pack's utils.py is straight from Kosinkadink's VideoHelperSuite - same VHS_BatchManager, same VHS_VIDEOINFO output, same AnimateDiff/Mochi/LTXV/Hunyuan/Cosmos/Wan format presets), then delete the temp file. It decodes with OpenCV for frames and ffmpeg for audio. If you're migrating a VHS workflow, this is close to a drop-in.

Inputs that matter

Beyond the usual storage_type / endpoint / bucket / file_key / region (file_key being the video's path in the bucket):

  • force_rate - retime to a fixed FPS; 0 keeps the source rate.
  • frame_load_cap - cap how many frames load. Set this; a long video can blow through VRAM and this is your guardrail.
  • skip_first_frames / select_every_nth - skip the intro, or sample every Nth frame.
  • custom_width / custom_height - resize on load; 0 keeps the original.
  • vae (optional) - connect a VAE and it returns a LATENT instead of IMAGE, saving you the encode step.
  • format (optional) - picks the target rate/dimensions for the model you're feeding (LTXV, Wan, etc.).

Outputs

  • IMAGE (or LATENT if a VAE is connected) - frames in, sampler-ready.
  • frame_count - INT, how many frames came out.
  • audio - the video's audio track as an AUDIO tensor, lazy-loaded.
  • video_info - a VHS_VIDEOINFO dict, so anything that expects VHS metadata (like video-combine or interpolation nodes) can consume it.

The catches

First, the dependency footprint. The README sells this pack as "just pip install oss2 boto3," but the actual requirements.txt also pulls opencv-python and imageio-ffmpeg - and the loader code imports psutil too, which isn't in the requirements file at all. If you hit a No module named 'psutil' error on a bare install, that's why. You also need ffmpeg, which the pack finds via imageio-ffmpeg or a system install.

Second, this node forces a reload every time - its IS_CHANGED always returns NaN, on the assumption that cloud content can change. So every run re-downloads the whole video to temp and deletes it after. Long videos on a slow link will make your runs feel glacial, and the download is unbounded by your frame cap (it pulls the entire file before reading a frame).

And one architectural note: if you already run VHS, you're double-installing all this machinery just to skip a manual download. If the bucket part isn't the point, VHS's own Load Video on a local file is the lighter path. But if you want the download-free workflow - generate on a rented box, source video from a shared bucket - this is the pack's reason to exist.

Categorycloud_storage

Inputs (14)

NameTypeDefaultDescription
storage_typeCOMBOoss2 options: oss, s3
endpointSTRING
bucketSTRING
file_keySTRINGVideo file path in cloud storage
force_rateFLOAT00–60
custom_widthINT00–8192
custom_heightINT00–8192
frame_load_capINT00–9007199254740991
skip_first_framesINT00–9007199254740991
select_every_nthINT11–9007199254740991
regionoptSTRINGus-east-1Region for S3 storage only
meta_batchoptVHS_BatchManager
vaeoptVAE
formatoptCOMBOAnimateDiff7 options: None, AnimateDiff, Mochi, LTXV, Hunyuan, Cosmos, +1

Outputs (4)

NameTypeDescription
IMAGEIMAGE
frame_countINT
audioAUDIO
video_infoVHS_VIDEOINFO