FL Google Cloud Storage Uploader
Batch-push generations straight to a GCS bucket
- images
- status
- urls
- error_message
Batch-uploads your generated images - or a video compiled from them - straight to a Google Cloud Storage bucket, service-account-authenticated, no manual upload step. If your pipeline needs outputs to land somewhere other services can immediately pull from - a webhook, a downstream job, a client's own bucket - this gets them there without leaving ComfyUI.
The mechanism
Takes your image batch, writes each one to bucket_name/folder_path with file_prefix plus an index and your chosen file_format, and optionally compiles the whole batch into a video first via compile_video. Authentication is a full GCP service-account JSON pasted directly into credentials_json, not a file path and not an environment variable - the node expects the actual JSON contents in that multiline field.
Inputs and outputs that matter
images is required. bucket_name and folder_path (default uploads/) set the destination. file_prefix and file_format (png/jpg/webp) name the files - jpg_quality (1-100) only matters when file_format is jpg. credentials_json is your GCP service account key, pasted whole. make_public flips whether uploaded objects get public read access or stay private to your GCP project - leave it off unless you specifically want the resulting URLs shareable. If compile_video is on, video_fps (1-120, default 24), video_codec (mp4v/avc1/XVID - mp4v is the broadest-compatible default), and video_quality (1-100) govern the compiled clip. metadata (optional, JSON, default "{}") attaches custom key/value metadata to whatever gets uploaded.
Outputs: status (success/failure summary), urls (the uploaded object URLs, public if make_public was on), and error_message (populated on failure so a bad upload doesn't just silently do nothing).
Installing it
ComfyUI Manager: search Fill-Nodes, install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/filliptm/ComfyUI_Fill-Nodes, then restart. This node specifically pulls in Google's cloud-storage client libraries, a heavier dependency than most of this pack's nodes - and it's worth knowing about before you install.
A mid-2026 r/StableDiffusion thread shows a user alarmed by a wall of Google-Cloud-related text scrolling past during ComfyUI's first startup after installing this pack, worried it meant malware. It didn't - it's this node (and its Google Drive sibling, FL_GoogleDriveImageDownloader) declaring their dependencies and running their own startup checks, disclosed right there in the pack's own README under the Google Drive Nodes section. If you see it, it's this node introducing itself, not something to panic about - though the broader advice in that thread stands regardless: know what a node pack's individual nodes actually do before you wire credentials into them.
Where people get burned
credentials_json wants the raw JSON key file contents pasted in, not a file path - a common first mistake is pointing it at a path string instead. And make_public is the setting worth reading twice: it's the difference between uploading to a private bucket only your own GCP-authenticated tools can read, versus handing out public URLs to whatever you just generated. Don't flip it on by habit if the bucket's contents shouldn't be public.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| bucket_name | STRING | my-bucket | — |
| folder_path | STRING | uploads/ | — |
| file_prefix | STRING | image_ | — |
| file_format | COMBO | png | 3 options: png, jpg, webp |
| jpg_quality | INT | 951–100 | — |
| compile_video | BOOLEAN | false | — |
| video_fps | FLOAT | 24.01–120 | — |
| video_codec | COMBO | mp4v | 3 options: mp4v, avc1, XVID |
| video_quality | INT | 951–100 | — |
| credentials_json | STRING | — | |
| make_public | BOOLEAN | false | — |
| metadataopt | STRING | {} | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |
| urls | STRING | — |
| error_message | STRING | — |