Nodes/ComfyUI-CloudStorage/Upload File To Cloud
ComfyUI Node

Upload File To Cloud

Upload File To Cloud — the pack's undocumented node that ships anything to a bucket

By philipy1219·Created about a year ago·Updated about a year ago· 2
Upload File To Cloud
    • url
    file_path
    storage_typeoss
    endpoint
    bucket
    prefixuploads/
    regionus-east-1

    Upload File To Cloud is the pack's odd one out, and its least-advertised member: it's shipped in the code and registers in the node list, but the README never mentions it. What it does is simple and broadly useful - take any local file, upload it to an Aliyun OSS or AWS S3 bucket, and hand you back the URL. Images, LoRAs, safetensors checkpoints, logs, whatever the ComfyUI process can read.

    That makes it the node to reach for when a workflow produces a file that isn't an image and you want it out of your box - say you trained a LoRA, want a shareable download link, or need to stage a model file into a bucket another machine reads from.

    How it works

    Give it a local path in file_path, and it checks the file exists, uploads it with put_object_from_file (OSS) or upload_fileobj (S3), and renames it to {prefix}{timestamp}_{original-filename} so collisions don't clobber earlier uploads. The single output, url, is a JSON string - [{"url": ..., "filename": ..., "timestamp": ..., "storage_type": ...}] - not a bare URL, so read it with a text display node rather than expecting a plain link.

    A small tell that this node was written for the author's own workflow: its input tooltips are in Chinese (the file_path tooltip translates to "the local file path to upload"). The rest of the pack is in English. It works identically either way - it's just a clue this was the "scratch" node that got shipped with the pack.

    Inputs that matter

    • file_path - the local file to upload. Relative paths resolve from the ComfyUI working directory, so an absolute path is safer.
    • storage_type - oss or s3.
    • endpoint - OSS: oss-cn-beijing.aliyuncs.com style (no scheme). S3: optional.
    • bucket - destination bucket.
    • prefix - where in the bucket it lands; defaults to uploads/.
    • region - S3 only, defaults to us-east-1.

    Credentials - same story as the rest of the pack

    No key inputs on the node. Credentials come from environment variables: ALIYUN_ACCESS_KEY_ID / ALIYUN_ACCESS_KEY_SECRET for OSS, AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY for S3. Set them where ComfyUI launches and restart, or the node raises Missing required environment variables for oss/s3 storage. The silver lining of the no-key design: your access keys can never leak into a saved workflow JSON or PNG metadata.

    Install

    Via ComfyUI Manager (search "ComfyUI-CloudStorage"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/philipy1219/ComfyUI-CloudStorage
    pip install oss2 boto3
    

    Restart ComfyUI. No model downloads - the only real dependencies are the two storage SDKs.

    Common issues

    • "File does not exist" - the error surfaces whatever path you typed; double-check it's a path the ComfyUI process can actually read (a relative path against ComfyUI's working directory is the usual culprit).
    • Private bucket gives you a dead link - the upload succeeds but the URL 403s for anyone else until you set the bucket's read policy.
    • It's not in the README - if you loaded a workflow that references it and got "missing node," it's this pack. Install the pack and it appears under cloud_storage like its siblings.

    If all you ever do is save generated images, Save Image To Cloud is the better node - it takes the image tensor directly. This one's for the files that aren't images, and for that job it's genuinely the only node in the pack that does it.

    Categorycloud_storage

    Inputs (6)

    NameTypeDefaultDescription
    file_pathSTRING要上传的本地文件路径
    storage_typeCOMBOoss2 options: oss, s3
    endpointSTRING
    bucketSTRING
    prefixSTRINGuploads/存储路径前缀
    regionoptSTRINGus-east-1S3存储区域

    Outputs (1)

    NameTypeDescription
    urlSTRING