URL to Video
Point at a video URL and get a real VIDEO object back
- video
Most video workflows start the slow way: download a clip to disk, restart or navigate to it, load it in ComfyUI. URL to Video (1hew_URLToVideo) skips the manual step - you paste a URL into the node and it comes out the other side as a VIDEO object, ready to feed frame-loaders, analysis nodes, or img2vid pipelines. It's the pack's 1hewNodes/conversion group doing its one job: URL in, video out.
This is one of those nodes you don't appreciate until you're building a workflow that ingests reference footage from the web on every run. Paste a link to a direct MP4, hit queue, done.
How it works
It's a straightforward download-and-wrap. The node fetches the URL with requests in a background thread (so it doesn't block the UI), streams the file in 8KB chunks into memory, and wraps it as a VideoFromFile object - which is ComfyUI's in-memory video type. It sends a browser-style User-Agent, which matters more than it should: some CDNs flatly refuse generic Python user agents.
The timeout input (default 30 seconds, range 5–300) guards against a hung server. If the URL isn't http:// or https://, it raises immediately instead of doing something confusing. Empty input returns a clean None rather than erroring - the pack's standard politeness.
Inputs and outputs
- video_url - the URL to fetch. Direct file links work best.
- timeout - seconds before giving up, default 30.
- video - the
VIDEOobject for downstream nodes.
Installing it
It's part of the 1hewNodes pack:
cd ComfyUI/custom_nodes
git clone https://github.com/1hew/ComfyUI-1hewNodes
or via ComfyUI Manager ("1hewNodes"), then restart. Just needs requests, which is in the pack requirements and nearly always already present.
The honest caveats
The "download into memory" design is the trade-off. The entire video lives in a BytesIO buffer, so a 2GB clip means 2GB of RAM. For reference clips that's fine; for 4K long-form footage it will hurt. Also, "URL" here means a direct file URL - this is not a YouTube downloader. If the URL is a page or a hotlink that requires cookies or redirects through an auth wall, it'll fail and you'll see a timeout. And because it's memory-only, the file is gone when the workflow ends - if you want a persistent copy, route it through a save-video node first.
For the common case - "here's a clip, use it as reference" - this is the least friction you'll get. Just keep the URLs direct and the videos reasonable in size.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| video_url | STRING | — | |
| timeout | INT | 305–300 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |