Veo Load Video (Ace Data Cloud)
Turning a CDN link into a file ComfyUI can use
- video
Every other node in this pack hands you a string: a URL pointing at a video sitting on Ace's CDN. Useful if you want to watch the clip, useless if you want to do anything with it - feed it to an interpolator, save it to disk, scrub it frame by frame.
This is the bridge. It's the only node in the pack that neither needs your API key nor spends a cent, and it's the one that makes the rest of them composable.
How it works
You give it a URL. It downloads the file with a streaming request, one megabyte at a time, and wraps the bytes in ComfyUI's native VIDEO object. That object is what the newer video nodes in core ComfyUI expect, and it's the reason this pack pins itself to ComfyUI 0.39.0 or newer - the native VIDEO type landed around there, and there's no useful way to build this against older versions.
The implementation is unusually careful in a couple of places worth knowing, because they explain the errors you might hit. The URL is checked against a whitelist of Ace's own CDN hosts, redirects are not followed, and the download aborts if the file would exceed 128 MiB. It also retries three times with a short backoff, since a failed download is just a download - nothing is being paid for by fetching it.
The input and the output
- video_url - the string you got from a Retrieve Task node (or copied out of Retrieve Tasks). It has to be an Ace Data Cloud HTTPS media link; nothing else is accepted.
The sole output is video, typed VIDEO. Wire it into Save Video to get a real file, or into any other node that accepts native video - upscalers, interpolators, whatever your local video pipeline looks like. This is the point at which a cloud-generated clip stops being a link and starts being part of your workflow.
Install and key
ComfyUI Manager → Custom Nodes → search Veo → confirm publisher acedatacloud and package Veo by Ace Data Cloud → install, restart. Or:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/AceDataCloud/VeoComfyUI.git
cd VeoComfyUI && python -m pip install -r requirements.txt
One dependency, requests. No weights to download and no GPU work. The key requirement still applies to the pack as a whole - set it in the environment of the running ComfyUI process and restart, because the paid nodes won't work without it:
export ACEDATACLOUD_API_KEY='paste-your-key-here'
python main.py
Where people get burned
This is not a general-purpose video URL loader. It looks like one, but the host whitelist means it only accepts links from cdn.acedata.cloud and its siblings. Hand it a YouTube link, a random CDN, or a file you're hosting yourself and it refuses. If you wanted a generic loader, you wanted something else.
The 128 MiB cap is the other one that bites, and it bites hardest on exactly the renders you're proudest of. A 4K clip, or a long one, can sail past it, at which case the download aborts with Video exceeds the 128 MiB limit and there's no knob to raise it - the limit is in the code. Your fallback is to grab the URL in a browser and save it manually, or feed it to whatever local tool you have. Annoying, but at least it fails loudly instead of handing you a truncated file.
Smaller thing: an empty video_url - which is what a still-pending Retrieve gives you - raises Task is still pending. Retrieve the same task ID again. That's the correct behaviour and worth wiring around by checking status first, rather than shipping a graph that half-runs and errors.
Unlike the paid nodes, this one is not an output node: it only executes when something downstream actually needs its VIDEO. So it's safe to leave sitting in a graph. The download does happen again on each run, though - there's no caching in the code - so if you're re-queuing a pipeline around a saved clip, pull the file once rather than repeatedly.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| video_url | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |