Nodes/Save Image To Google Drive/Save Image to Google Drive (Creepybits)
ComfyUI Node

Save Image to Google Drive (Creepybits)

Push your renders to Google Drive without leaving ComfyUI

By Creepybits·Created about a year ago·Updated 2 months ago· 7
Save Image to Google Drive (Creepybits)
  • image
  • image
  • status
google_drive_folder_pathComfyUI_Saves
filename_prefixComfyUI_Image_
file_formatPNG
quality90

You've been saving a render, then dragging it from ComfyUI's output folder into Drive like it's 2019. Stop. SaveImageToGoogleDrive is an output node from Creepybits that uploads the finished image straight to a folder in your Google Drive the moment the graph finishes. No API keys to pay for, no external service, no copy-paste dance - the image goes from the sampler to the cloud in one step.

It's a small quality-of-life node, and honestly that's the right scope. If you batch-generate on a desktop box but want to review results on your phone, or you collab with someone and keep all your finals in a shared Drive folder, this is the missing wire. It also puts the image outside your ComfyUI output directory, which is the real point if you wipe output/ regularly.

How it works

Under the hood it's Google's free Drive API with a standard OAuth flow. The node writes your image to ComfyUI's temp folder, then uploads it with a resumable upload to Drive. The tricky part is auth, and it's a one-time setup: it reads credentials.json from the node's own json/ folder, pops a browser window to log into your Google account, and caches the result in json/token.json so you don't re-auth every run.

Two details worth knowing. It uses the drive.file scope, which means the app can only see files it created - it can't rummage through your whole Drive, which is the right call for a custom node that runs arbitrary code. And despite a "videos" mention here and there, this node only handles images. Don't wire a video tensor into it.

The inputs that matter

Only five, and three of them are the whole story:

  • image - wire your VAE Decode (or whatever) output in here.
  • google_drive_folder_path - default ComfyUI_Saves. Use / to nest, like projects/album. Folders that don't exist get created for you, walking the path segment by segment.
  • filename_prefix - default ComfyUI_Image_. Here's the catch: every image gets the same name - prefix.png (or .jpeg/.webp). Save twice and the second run overwrites the first in Drive. Read that again, because it's the #1 way to lose a batch.
  • file_format - PNG, JPEG, or WEBP. JPEG and WEBP honor the quality slider (1–100, default 90); PNG ignores it and embeds your workflow metadata.

The node passes your image through untouched, and also outputs a status string - "Successfully uploaded ... File ID: …" or an error message. Wire that into a text display node if you want a visible confirmation; otherwise it's mostly console chatter.

Installing it

ComfyUI Manager is the easy route: search "Save To Google Drive" and install. Or the manual way:

cd ComfyUI/custom_nodes
git clone https://github.com/Creepybits/ComfyUI-Save_To_GDrive

then restart ComfyUI. Manager handles the Python deps (google-api-python-client, google-auth-oauthlib, google-auth-httplib2, Pillow); if you cloned by hand, let Manager install missing dependencies or pip install -r requirements.txt into your ComfyUI environment. No models to download - this is all API glue.

Where people get burned

The credentials are the whole setup. The repo ships placeholder credentials.json and token.json files, so the node will not work until you create an OAuth client in Google Cloud Console, download it, and drop it in custom_nodes/ComfyUI-Save_To_GDrive/json/. The README points at the author's Patreon for a step-by-step credential guide (Creepybits is a ComfyUI tutorial YouTuber, so this is his thing) - but the steps themselves are standard Google OAuth, and the error message in the console tells you exactly which file it's missing. run_local_server auth also needs a browser, so a headless server will stall on first auth.

Other gotchas, in order of how often they bite: the same filename overwrites issue above; only the first frame saves if you feed it a batch - the code takes image[0] and ignores the rest; and Drive's 15 GB free quota is your ceiling. Finally, remember the obvious: this uploads your images to Google's servers. Fine for your own finals, worth a second thought if you're processing something you'd rather not leave the machine.

CategoryCreepybits/Google Drive

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
google_drive_folder_pathSTRINGComfyUI_Saves
filename_prefixSTRINGComfyUI_Image_
file_formatCOMBOPNG3 options: PNG, JPEG, WEBP
qualityINT901–100

Outputs (2)

NameTypeDescription
imageIMAGE
statusSTRING