Load Video from GCS
Your videos live in a GCS bucket — this node pulls them back out
- video_path
If your videos live in Google Cloud Storage, Load Video from GCS is the download button you were missing. It takes a gs:// URI, fetches the file, and hands you a local path ComfyUI can actually work with. That's the whole job, and it's a genuinely useful one once you understand why the file was in the cloud to begin with.
This node is part of Adforge, a toolkit Google's Vertex AI built by Creditas, a Brazilian fintech, to generate its own ad creative. In that workflow, footage and generated clips live in GCS buckets as a matter of course - the pack's own Veo nodes write their output there. But ComfyUI's local tools (loaders, video-editing nodes, previews) want a file on disk. LoadVideoGCS bridges that gap.
How it works
Under the hood it's a thin wrapper over the google-cloud-storage client. You feed it a URI like gs://my-bucket/adshots/summer.mp4, it parses out the bucket and the blob path, and downloads the whole file. Authentication is the standard Google Cloud story: it picks up a service-account key from GOOGLE_APPLICATION_CREDENTIALS, uses gcloud auth application-default login if you've done that locally, or a service account if you're running on GCP. No API key involved - this is the one node in the pack that costs nothing but storage egress.
The result lands in ~/Documents/ComfyUI/output/gcs_downloads/ (hardcoded, more on that below) and comes out the single output: video_path, a plain STRING. The node's own code says it's designed to feed VideoHelperSuite's LoadVideoPath node, but any node that takes a file path will do. It also keeps an IS_CHANGED keyed on the URI, so re-running a workflow with the same URI won't re-download it - change the URI and it fetches the new file.
The one input that matters
video_uri- the only input, aSTRINGings://bucket/path/to/video.mp4form. If it doesn't start withgs://, the node throws aValueErrorbefore doing anything. Paste a full URI; there's no bucket-picker.
Where people get burned
- The output directory is hardcoded. It writes to
~/Documents/ComfyUI/output/gcs_downloadsregardless of where your ComfyUI actually stores output. If you've moved your install elsewhere, that path won't match - hunt for your downloads in your home Documents folder, not ComfyUI'soutputdir. - No size guard. It downloads the entire file into memory of your disk. A 2 GB clip will happily land on your drive. Fine for short ad spots, annoying for raw footage.
- Permissions. A bucket that exists but that your credentials can't read gives you a cryptic
google.autherror. Make sure the service account or your logged-in user hasstorage.objectVieweron the bucket.
Installing it
Everything installs as one pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Creditas-labs/ComfyUI-Adforge
cd ComfyUI-Adforge
pip install -r requirements.txt # or: uv sync
Restart ComfyUI. Easier still: ComfyUI Manager, search for adforge, hit install. There are no model files to download - this is all cloud plumbing, and the pack wants Python 3.12 or newer. If you're only after LoadVideoGCS you can skip the whole .env setup in the README; it doesn't need API_KEY or a bucket config, just GCS read credentials. The Veo siblings are the ones that need the full auth ceremony.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| video_uri | STRING | gs://your-bucket/video.mp4 | GCS URI of the video (gs://bucket/path/to/video.mp4) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_path | STRING | — |