Nodes/ComfyUI Ino Nodes/Ino S3 Upload File
ComfyUI Node

Ino S3 Upload File

Push a local file to S3 — and optionally delete it after

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino S3 Upload File
    • success
    • message
    • s3_file_path
    enabledtrue
    s3_path_key
    parent_folder
    folder
    filename
    delete_localtrue
    s3_config{"access_key_id": "", "access_key_secret": "", "bucket_name": "", "endpoint_url": "", "region_name": ""}

    The other half of the cloud-GPU loop: files finished locally, now they need to be in the bucket. InoS3UploadFile takes a file from a ComfyUI folder (input/output/temp) and uploads it to S3 - and here's the detail that makes it a batch-workflow tool rather than a one-off: delete_local defaults to True, so after a successful upload the local copy is removed. That's the "render to output, ship to S3, clean up the disk" pattern that keeps long batch runs from filling the drive.

    The naming logic is worth reading twice because it's slightly clever. If s3_path_key contains a filename, its stem is combined with the local file's extension; otherwise the local filename is used. So s3_path_key = "results/batch3" with a local frame_042.png uploads to results/batch3.png - you control the name via the key, and the extension follows the actual file. Keeps everything consistent even when the local filename is a timestamp hash.

    How it works

    Required inputs: enabled, s3_path_key (the destination key), parent_folder (input/output/temp), folder, and filename (the local file). Optional: s3_config and delete_local (default True - flip to False to keep the local copy).

    Outputs: success, message, and s3_file_path (the final object key, so downstream nodes know exactly where it went).

    Credentials via s3_config JSON or env vars (S3_ACCESS_KEY, S3_ACCESS_SECRET, S3_BUCKET_NAME, S3_ENDPOINT_URL, S3_REGION_NAME).

    Installing it

    Part of the 125+-node ComfyUI-InoNodes pack by nobandegani:

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

    Or search "ComfyUI Ino Nodes" in ComfyUI Manager and restart. Needs inopyutils and a current V3-schema ComfyUI.

    Common issues

    The delete-on-success default is the one to not be surprised by. If your workflow writes something you want to keep locally, set delete_local to False - and if a run half-completes, know that deletion only happens after a successful upload, so a failed upload leaves the file in place. Also, an empty s3_path_key fails validation with a success: False and an error message - the key is required, even if you want the default naming. And remember parent_folder + folder + filename must resolve to an existing file; the output s3_file_path is your confirmation of where it landed, so check it when you later try to fetch the object back with a download node.

    CategoryInoS3Helper

    Inputs (7)

    NameTypeDefaultDescription
    enabledBOOLEANtrue
    s3_path_keySTRING
    parent_folderCOMBO3 options: input, output, temp
    folderSTRING
    filenameSTRING
    delete_localBOOLEANtrue
    s3_configoptSTRING{"access_key_id": "", "access_key_secret": "", "bucket_name": "", "endpoint_url": "", "region_name": ""}you can leave it empty and pass it with env vars

    Outputs (3)

    NameTypeDescription
    successBOOLEAN
    messageSTRING
    s3_file_pathSTRING