Load&Save Video From URL (Comfy Core)
Download a video URL into your output folder — the Comfy Core way
- video
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 directhttp/httpslink to the media file (the author's tooltip: "http/https url"). Must be a direct file, not a page.filename_prefix(STRING) - defaults tovideo_files/url_download, which means the file lands atComfyUI/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_apiisn'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
VIDEOobject 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 undervideo_files/- check there before hunting for your download.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | http/https url | |
| filename_prefix | STRING | video_files/url_download | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |