AWS S3 destination - server error

Hi
I am trying to send the rendered video to Amazon S3 bucket and keep getting “Serve error Failed to copy file to S3.”
I can see the video renders fine on the temporary link and it works when using shotstack storage.

Might have the wrong output code? (bucket names and account IDs have been removed)

"output": {
        "format": "mp4",
        "size": {
            "width": 1280,
            "height": 720
        },
        "destinations": [
            {
                "provider": "s3",
                "options": {
                    "region": "ap-southeast-2",
                    "bucket": "bucket-name-removed",
                    "acl": "public-read"
                }
            },
            {
                "provider": "shotstack",
                "exclude": true
            }
        ]
    }```

or maybe the S3 bucket pollicy is incorrect for the IAM user?

{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “PublicRead”,
“Effect”: “Allow”,
“Principal”: “",
“Action”: [
“s3:GetObject”,
“s3:GetObjectVersion”
],
“Resource”: "arn:aws:s3:::bucket-name-removed/

},
{
“Sid”: “AddPublicReadCannedAcl”,
“Effect”: “Allow”,
“Principal”: {
“AWS”: “arn:aws:iam::acount-id-removed:root”
},
“Action”: [
“s3:PutObject”,
“s3:PutObjectAcl”
],
“Resource”: “arn:aws:s3:::bucket-name-removed/*”,
“Condition”: {
“StringEquals”: {
“s3:x-amz-acl”: “public-read”
}
}
}
]
}```

The IAMuser has full access to S3.
Any suggestions would be appreciated.
Thanks

First of all can I just confirm you followed all the instructions from the docs and have added credentials in the dashboard?

Second, are you using the correct bucket, ap-southeast-2 (Sydney, Australia) is in the examples but your bucket might be in another region.

Lastly, if it is a permissions issue, this is the best set of permissions we’ve been able to lock things down to so far:

See how you go with these suggestions and permissions and post back if you still have issues.

Thanks Lucas, the issue was the Object Ownership settings had ACLs disabled. All works now.
Separately, after the render the “Public URL” won’t show in make. I can see that the “CDN Link” is working with the video going into my S3 bucket in the Renders list of Shotstack, but the url won’t populate in make.com with all the other fields data. Also tried removing the S3 destination and the shotstack hosting url won’t come through either. The Render Link (Private URL) will show but not the “Public link”. Is this a sandbox limitation?

Let me take a look at why that may be occurring.

The Get Render Status module only provides a Shotstack CDN url back with your production key. We’ll look at extending this to the sandbox environment as well.

However, when using Serve API integrations such as S3 you will have to use the Look up an Asset module which retrieves the attributes related to the integrations you are using:

Thanks Derk, comes through fine there.