Nodes/Comfyui_Attome_S3/Attome S3 Config
ComfyUI Node

Attome S3 Config

Your S3 bucket in one node (and why you might not even need it)

By attome-ai·Created 9 months ago·Updated 8 months ago· 4
Attome S3 Config
    • s3_config
    aws_access_key_idyour_access_key_here
    aws_secret_access_keyyour_secret_key_here
    region_nameus-east-1
    bucket_nameyour_bucket_name_here
    endpoint_url

    The name overpromises. Attome S3 Config doesn't call any API, doesn't validate your keys, and doesn't even make a network request. It's a tiny envelope that bundles your AWS credentials into a single s3_config object, which the other eight nodes in the Comfyui_Attome_S3 pack consume. Think of it as a plug adapter: wire it into any Attome load/save node and that node suddenly knows which bucket, region, and keypair to talk to.

    Here's the part that surprises people: you don't actually have to use this node at all. The pack reads a file called env.txt in its own install folder on startup. Put AWS_ACCESS_KEY_ID=..., AWS_SECRET_ACCESS_KEY=..., REGION_NAME=us-east-1, BUCKET_NAME=... in there, restart ComfyUI, and every load/save node uses those defaults without a config node in sight. The values are cached once per session, so it's not re-reading the file on every image. The Config node exists for when you want per-workflow overrides or you juggle several buckets - wire it in and it wins over the defaults.

    What you actually set

    Four required fields, one optional:

    • aws_access_key_id and aws_secret_access_key - your S3 credentials. Generate them in the AWS console (or whatever your S3-compatible provider calls them) with an IAM user scoped to the bucket.
    • region_name - e.g. us-east-1. Get this wrong and boto3 will happily fail with connection errors that read like a network outage.
    • bucket_name - the bucket everything reads from and writes to.
    • endpoint_url (optional) - leave blank for AWS. Fill it in for S3-compatible services: http://localhost:9000 for MinIO, https://<account>.r2.cloudflarestorage.com for R2, the Spaces or B2 URL for DigitalOcean/Backblaze.

    It outputs a single s3_config object, and that's it.

    Security note worth taking seriously

    Whatever you type into this node gets serialized into the workflow JSON - and if you leave save_metadata on in the save nodes, that whole workflow gets embedded in every file you upload. Real keys in a shared or embedded workflow is how people leak their S3 bill to the world. The whole reason the env.txt route exists is to keep secrets out of the graph. Use it.

    Install and gotchas

    ComfyUI Manager can find it (search "Comfyui_Attome_S3"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/attome-ai/Comfyui_Attome_S3
    cd Comfyui_Attome_S3
    pip install -r requirements.txt
    

    Then restart ComfyUI. The requirements file pulls in boto3 plus the media libs (opencv-python, torchaudio) that the whole pack needs - no model downloads, this pack ships zero weights. The most common failure here is Access Denied on the first real upload, which is almost always an IAM permissions problem (the user needs s3:GetObject/s3:PutObject on the bucket), a region mismatch, or a wrong endpoint_url for your MinIO/R2 setup. S3 nodes are a legit but niche slice of ComfyUI - mostly people running pipelines that need central, shareable storage - so it's worth double-checking the pack's repo before you trust it with real credentials. This one is small, MIT-licensed, and the source is one readable file, which is about what you want from code that touches your cloud account.

    CategoryAttome/S3

    Inputs (5)

    NameTypeDefaultDescription
    aws_access_key_idSTRINGyour_access_key_here
    aws_secret_access_keySTRINGyour_secret_key_here
    region_nameSTRINGus-east-1
    bucket_nameSTRINGyour_bucket_name_here
    endpoint_urloptSTRING

    Outputs (1)

    NameTypeDescription
    s3_configS3_CONFIG