PreviewVideoFromUrl
The unglamorous node that turns a video URL into something you can watch
Every cloud-video API in the world hands you back a URL instead of a video file. That's great for the API and useless in ComfyUI, where you want to see the thing. PreviewVideoFromUrl is the fix: give it a URL, it downloads the file into your output folder and shows it as an animated preview right in the UI. It's the missing bottom half of every workflow that uses this pack's Jimeng generation nodes - the ones that output a hosted video URL you can't otherwise watch.
Don't mistake it for something fancier. It doesn't encode, transcode, or understand a single frame of what it downloads. It fetches bytes and writes them to disk. Which is exactly what you want, and it's why it's dependable.
How it works
Feed it a video_url and it does one of two things: if the URL starts with http:// or https:// it downloads it with a plain GET; if it's a local filesystem path it copies that file instead. Either way the result lands in ComfyUI/output under your chosen filename_prefix, with a counter suffix so it never overwrites previous runs (tmp_preview_00001_.mp4, then 00002, and so on). Then it shows the clip in the UI as an animated image.
It's a pure output node - no data outputs at all, just the UI preview. If you turn save_output off, it skips the download entirely and only echoes the URL back to you in the UI.
The inputs
- video_url - a string, marked as force-input so you can wire it straight from another node's URL output. Also accepts a plain local path.
- filename_prefix - what the saved file is called, default
tmp_preview. - save_output - true saves to disk and previews; false just shows the URL.
- format -
autoormp4. Both resolve to an.mp4container, so in practice this is a "trust me" setting you can leave alone.
There's no model, no API key, no credits, no VRAM. It will happily grab any public video URL, which is why it's genuinely useful beyond this pack - paste in a hosted demo clip from any service and get a saved local copy plus a preview out of it.
Installing it
This node ships in the ComfyUI-Jimeng pack, so you install the whole thing. In ComfyUI Manager, search ComfyUI-Jimeng and install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/xuhongming251/ComfyUI-Jimeng
cd ComfyUI-Jimeng
pip install -r requirements.txt
The single dependency is volcengine-python-sdk[ark] - technically this node doesn't even need it, but the pack's other nodes do, and they import at the top of the same file. So if the SDK is missing, the whole pack fails to register, this node included. Install the requirement and move on.
Where people get burned
The one real gotcha: this node only handles http(s) URLs and local paths. A data: URL - the base64-in-a-string kind some APIs return - will fail, because it doesn't start with http. If you're getting errors from a signed or authenticated URL, remember it's a plain GET with no headers, so anything that needs an auth token won't work here. And be aware it downloads the whole file before the preview shows; a long 1080p clip takes a few seconds to appear, which reads as "nothing happened" the first time you run it. It's just downloading. Give it a beat.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| video_url | STRING | — | |
| filename_prefix | STRING | tmp_preview | — |
| save_output | BOOLEAN | true | — |
| format | COMBO | mp4 | 2 options: auto, mp4 |
Outputs (0)
No outputs