Nodes/ComfyUI-Light-Tool/Light-Tool: Load Video
ComfyUI Node

Light-Tool: Load Video

Pull a video from a URL into your ComfyUI input folder

By ihmily·Created 2 years ago·Updated 4 months ago· 20
Light-Tool: Load Video
    • video_name
    • video_path
    • video_url
    video_url
    server
    save_dir

    Video workflows in ComfyUI need frames, and frames need to come from somewhere. Light-Tool: LoadVideo is the pack's downloader: give it a video URL, it fetches the file into your ComfyUI input directory and hands back the local path plus a preview URL you can feed into the pack's PreviewVideo node. It's a fetch node, not a decode node - it doesn't split frames for you, it just gets the video onto disk where the rest of your graph can reach it.

    Inputs: video_url (required), server (an address for building a viewable URL), and save_dir (a subfolder inside ComfyUI's input directory). Outputs: video_name (the generated filename), video_path (the full local path), and video_url (a URL suitable for previewing, if you gave a server).

    How it works. The video is downloaded over HTTPS with httpx in streaming chunks and saved under a fresh UUID-based filename in the input directory (in save_dir if provided). The returned video_path is an absolute path on your machine, so it's the one you'd hand to a frame-extraction node. The video_url output is synthesized from the server input: it builds an /api/view?filename=...&type=input&subfolder=... URL, which is ComfyUI's own endpoint for serving files - leave server empty and that output is just an empty-ish string, so it's the local path you actually want for processing.

    The gotchas, and they're real ones.

    • It re-downloads every run. There's no caching and no "reuse if exists" logic. Queue the workflow twice and the video is fetched twice, new filename each time. For a multi-GB clip that's wasted bandwidth and disk. If your source is stable, download it once and use the pack's LoadImage-style local loader path instead.
    • The extension is cosmetic. Everything is saved with a .mp4 name, regardless of what the source actually is. If the URL serves a .webm or .mov, the file on disk is still named .mp4 - which mostly works until a downstream tool sniffs the container and objects. Check your actual source format.
    • It's synchronous. The whole download blocks the queue. Big files mean a frozen progress bar until it's done.

    When you'd reach for it. Grabbing a reference clip from a URL at the start of a video-to-video or frame-interpolation workflow, pulling a hosted sample into local processing, or any time you want the video on disk without a manual browser download. It pairs naturally with PreviewVideo, which plays back the returned URL right in the node.

    Installing. Standard pack install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ihmily/ComfyUI-Light-Tool.git
    pip install -r requirements.txt
    # restart ComfyUI
    

    Or ComfyUI Manager → search ComfyUI-Light-Tool → Install. No models; the workhorse is httpx.

    Verdict: fine as a convenience downloader for quick reference clips, but the no-cache behavior makes it a poor fit for repeated runs on large files. One-and-done fetching is its happy place.

    CategoryComfyUI-Light-Tool/Video

    Inputs (3)

    NameTypeDefaultDescription
    video_urlSTRING
    serverSTRING
    save_dirSTRING

    Outputs (3)

    NameTypeDescription
    video_nameSTRING
    video_pathSTRING
    video_urlSTRING