Nodes/Customizable API Call Nodes by BillBum/Load&Save Video From URL (Comfy Core)
ComfyUI Node

Load&Save Video From URL (Comfy Core)

Download a video URL into your output folder — the Comfy Core way

By AhBumm·Created 2 years ago·Updated 3 months ago· 11
Load&Save Video From URL (Comfy Core)
    • video
    url
    filename_prefixvideo_files/url_download

    Here's the difference between the two video-from-URL nodes in this pack, because it's confusing at a glance. The other one ("Load Video From URL (VHS Compatible)") downloads a video and returns frames as an IMAGE tensor for processing. This one, Load&Save Video From URL (Comfy Core), downloads a video and saves the actual file into your ComfyUI output folder, then hands you a Comfy Core VIDEO object with a preview. Same input idea, opposite goal: one's a frame extractor, this one's a file fetcher.

    The "(Comfy Core)" name is the important part. This node is written against ComfyUI's newer core-node API - it's built as a comfyio.ComfyNode using the comfy_api module rather than the classic INPUT_TYPES pattern the rest of the pack uses. That's the new experimental node framework Comfy Org has been building into ComfyUI, and it means two things for you: you need a current ComfyUI version that ships comfy_api, and the node behaves like the official core nodes do (with previews and proper save handling) rather than like a typical third-party extension.

    How it works

    It's honestly a well-built little node. It takes your url, downloads it to a temp file with requests (streaming, with tenacity retries - three attempts, exponential backoff), figures out the file extension from the URL (.mp4, .mov, .mkv, .webm, .gif; anything else defaults to .mp4), probes the video's dimensions, and then uses ComfyUI's own get_save_image_path machinery to write it into the output directory with the standard filename_counter.ext naming. It returns a Comfy Core VideoFromFile wrapped in a preview node so the result shows up in your UI. If the URL is empty, it raises a clean error rather than silently doing nothing.

    The inputs that matter

    • url (STRING) - the direct http/https link to the media file (the author's tooltip: "http/https url"). Must be a direct file, not a page.
    • filename_prefix (STRING) - defaults to video_files/url_download, which means the file lands at ComfyUI/output/video_files/url_download_00001.mp4 (or whatever extension the source had). Change this to organize your downloads.

    Output: video (VIDEO) - a Comfy Core video object, and since this is marked as an output node, it also persists the file and shows a preview in the UI.

    Installing it

    Ships in AhBumm/ComfyUI_BillBum_Nodes. ComfyUI Manager search "billbum", or:

    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
    

    Restart ComfyUI. The real dependency is a current ComfyUI build - this node imports comfy_api.latest and comfy_api.input_impl, which only exist in recent versions. If the node fails to load while everything else in the pack loads fine, that's why: your ComfyUI is older than the node.

    Where people get burned

    • Old ComfyUI. The node literally won't load if comfy_api isn't there. Update ComfyUI before debugging anything else.
    • It's not a frame extractor. People coming from the VHS-compatible node expect IMAGE frames out. This returns a VIDEO object and a saved file; for frames, use the pack's other video node.
    • Direct links only. Signed CDN URLs work while fresh; streaming pages don't.
    • The file lands in output/, and the default prefix nests it under video_files/ - check there before hunting for your download.
    CategoryBillBum_API/Utils

    Inputs (2)

    NameTypeDefaultDescription
    urlSTRINGhttp/https url
    filename_prefixSTRINGvideo_files/url_download

    Outputs (1)

    NameTypeDescription
    videoVIDEO