Nodes/ComfyUI-MinioConnector/Aliyun OSS Upload File ๐Ÿ‘
ComfyUI Node

Aliyun OSS Upload File ๐Ÿ‘

Send a file to Alibaba Cloud OSS from your workflow โ€” progress bar included

By MieMieeeeeยทCreated about a year agoยทUpdated about a year agoยท 5
Aliyun OSS Upload File ๐Ÿ‘
  • aliyun_oss_connector
  • log
โ—„object_nameโ–บ
โ—„file_pathโ–บ
โ—„path_prefixโ–บ

If your storage lives on Alibaba Cloud instead of a home NAS, this is the single-file upload node for you. AliyunOSSUploadFile takes one file (or a glob of files) from under your ComfyUI directory and pushes it to your OSS bucket, with the nice touch of a real progress bar while it's at it - which, on a cloud connection with a few hundred megabytes to move, is a lot more useful than it sounds.

What it does. It uploads a file to your Aliyun OSS bucket as an object. Same path-safety rule as the whole pack: everything is resolved under the ComfyUI base directory, so output/my_image.png and temp/refs/*.jpg are in, anything with an absolute or .. path is out by design. The node globs your path, so wildcards genuinely work here too.

The inputs that matter:

  • aliyun_oss_connector - from InitAliyunOSSConnector. Note: no bucket input here - the bucket is baked into the connector.
  • file_path - relative to the ComfyUI root.
  • object_name - the remote key. Empty defaults to the file's basename.
  • path_prefix - a folder prefix prepended to the remote key. This is the Aliyun side's answer to the MinIO upload node: leave it empty to upload flat, or set it to experiments/round3 to namespace objects without restructuring your local folders.

The remote key math is worth spelling out, because it's the one thing people get wrong. The final object name is os.path.join(path_prefix, object_name or basename). So path_prefix = "logs/2026" + object_name = "run_a.png" โ†’ object logs/2026/run_a.png. Leave object_name empty and it becomes logs/2026/my_file.png using the local filename.

How it works. It uses Alibaba's oss2 SDK, computes the local MD5, and compares it against the remote ETag before uploading - so unchanged files get skipped and re-runs are cheap, same trick as the MinIO family. Then it streams the file up with a tqdm progress bar driven by the SDK's progress callback. Output is a single log string, one line per file uploaded. The download direction has progress bars too, so you always know the pipe is actually moving.

Install. This is one pack; install it once. ComfyUI Manager โ†’ search "ComfyUI-MinioConnector" โ†’ install โ†’ restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/MieMieeeee/ComfyUI-MinioConnector
cd ComfyUI-MinioConnector
pip install -r requirements.txt

Deps: oss2, tqdm, and two Aliyun SDK helper packages. No models, no GPU.

Gotchas. Credential errors surface here, not at the init node - the OSS client is lazy too. And since this is real cloud storage, the path-prefix habit is your friend: a namespace costs nothing and saves you from a flat bucket full of image.png, image (1).png chaos. Also, the safety restriction is real: paths outside the ComfyUI directory will simply not match, and the node raises "No files matched the pattern" rather than doing nothing quietly.

Category๐Ÿ‘ Minio-Connector/๐Ÿ‘ Aliyun OSS Connector

Inputs (4)

NameTypeDefaultDescription
aliyun_oss_connectorALIYUN_OSS_CONNECTORโ€”
object_nameSTRINGโ€”
file_pathSTRINGโ€”
path_prefixSTRINGโ€”

Outputs (1)

NameTypeDescription
logSTRINGโ€”