Nodes/Customizable API Call Nodes by BillBum/Load Video From URL (VHS Compatible)
ComfyUI Node

Load Video From URL (VHS Compatible)

Paste a video URL, get frames — no hand-downloading

By AhBumm·Created 2 years ago·Updated 3 months ago· 11
Load Video From URL (VHS Compatible)
    • image
    • video_info
    url

    The situation this node exists for: some API just handed you a URL pointing at a video file, and you want those frames sitting on a wire in your ComfyUI graph. That's the whole job of Load Video From URL (VHS Compatible). It downloads the file, rips it into an IMAGE tensor frame by frame, and hands you a video_info dict that speaks the same language as VideoHelperSuite - hence the "VHS Compatible" in the name.

    It slots right into the pack's media pattern. The Doubao Seedance node returns a raw response string containing a video URL; this node is what turns that string into something you can preview, analyze frame-by-frame, or feed into a video-to-video pipeline. You can also just paste any direct .mp4 link and skip the download step entirely.

    How it works

    Under the hood it's three steps with real engineering around them. First it streams the URL down to a temp file with requests, wrapped in tenacity retries (exponential backoff, three attempts) so flaky CDNs don't kill your run. Then it shells out to ffmpeg to probe the file - resolution, fps, duration - and pipes out raw RGBA frames. Those get stacked into a float tensor (IMAGE). No model files, no VRAM; this is pure I/O.

    The VHS compatibility is the part worth understanding. VideoHelperSuite's video loader returns a VHS_VIDEOINFO dict with keys like source_fps, source_frame_count, loaded_duration, loaded_width. This node builds exactly that shape, so any downstream node that consumes VHS_VIDEOINFO - frame extractors, video info viewers, anything in the VHS family - accepts its output without adaptation. That's the kind of compatibility you stop noticing until it's missing.

    The inputs and outputs that matter

    There's exactly one input, which is refreshing:

    • url (STRING) - a direct http:// or https:// link to a video file. It validates this, and it has to be a media file, not a page.

    Outputs:

    • image (IMAGE) - the full video as frames, batch dimension = frame count.
    • video_info (VHS_VIDEOINFO) - fps, duration, resolution, and the loaded/ source split.

    Installing it

    It ships in the AhBumm/ComfyUI_BillBum_Nodes pack. ComfyUI Manager: search "billbum" and install. Manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AhBumm/ComfyUI_BillBum_APIset_Nodes.git
    cd ComfyUI_BillBum_APIset_Nodes && pip install -r requirements.txt
    

    Then restart ComfyUI. The one dependency that's easy to miss: this node needs ffmpeg on your system PATH. It's not a pip package in the pack's requirements - it shells out to the binary. On Windows you'll want ffmpeg reachable from PATH; on most Linux distros it's one apt install away. If it's missing, the node raises a runtime error.

    Where people get burned

    • No ffmpeg - the classic first failure. Check it with ffmpeg -version before blaming the node.
    • Whole video in RAM. It decodes every frame to raw RGBA in memory. A 1080p clip at 30fps is roughly 25MB per second of video in decoded form; a 5-minute 4K file will genuinely hurt. Keep inputs short or downscale first.
    • Non-direct links. YouTube or streaming-page URLs won't work - only direct media files. If your provider returns a signed CDN link that expires, grab it while it's fresh.
    • The source error messages are in Chinese; don't panic at the console garble, it's just this node complaining.

    For the newer ComfyUI core version of this idea (saves the file instead of returning frames), the pack also ships Load&Save Video From URL (Comfy Core). This one is the frame machine; that one is the file saver.

    CategoryBillBum_API/Utils

    Inputs (1)

    NameTypeDefaultDescription
    urlSTRING

    Outputs (2)

    NameTypeDescription
    imageIMAGE
    video_infoVHS_VIDEOINFO