Save Video By Url (2lab)
Batch-download videos by URL from inside ComfyUI
- video_urls
Video in ComfyUI is a chore by default - you generate, then you dig through output/ for the right .mp4. SaveVideoByUrl (2lab) is the batch version of that problem: feed it a list of video URLs and it downloads each one into your output folder under a prefix you control. It's the video sibling of SaveImageByUrl (2lab), and if you're building pipelines that ingest videos from the web, it's the node that turns a pile of links into a pile of local files.
Honestly, it lives a slightly odd life. It's filed under the pack's 2lab/image category even though it handles video - a sign that this pack grew organically rather than by design doc. Don't let that throw you; the behavior is what the name says.
Inputs
video_urls- aLISTof URLs pointing at video files. That's the whole input side.filename_prefix- where the downloads land, relative toComfyUI/output/(default2lab/video). Each file gets a unique suffix so you don't clobber earlier ones.
No outputs. Terminal node: wire in your list, queue, and the videos end up on disk.
How it works
A simple loop, exactly like the image-by-URL node: for each URL, fetch the bytes over HTTP and write them to ComfyUI/output/<prefix>... with a unique name and the original extension. It doesn't transcode, re-encode, or validate that the thing you downloaded is really a video - it just saves what the URL serves. That's usually what you want, because downstream nodes (or the published API this pack is built to feed) can handle the format themselves.
Installing it
The pack installs the normal way. ComfyUI Manager → search "comfyUI-tool-2lab" → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/AI2lab/comfyUI-tool-2lab
Restart ComfyUI. No model files to fetch, no heavyweight dependencies - this is a pure-Python utility pack.
Gotchas
- Big files, no progress bar. Videos are chunky and HTTP fetches can take a while. The node just grinds through the list, so a ten-video batch can hold the queue open for minutes. Don't assume the UI froze - it's downloading.
- The type check again.
video_urlsis aLISTof strings. Wire in something else and nothing saves, silently. Verify your upstream list node is actually producing a list of URLs. - Repo status. The pack's GitHub page currently returns 404 - the author may have made it private or moved it. If a fresh install fails, that's a known visibility thing, not your mistake. The nodes keep circulating in already-set-up environments.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| video_urls | LIST | — | |
| filename_prefix | STRING | 2lab/video | — |
Outputs (0)
No outputs