How it works
Step 1
Create an IAM user
Give it
s3:PutObjecton your bucket ands3:GetObjecton the Shotstack output bucket. Adds3:PutObjectAclif you set an ACL.Step 2
Add the keys in your dashboard
Open Integrations, choose AWS S3 and enter the access key ID and secret. Sandbox and production can use different keys.
Step 3
Add the destination
Set the
s3destination in the render output, or at the root of an ingest request, with your region and bucket.
One parameter in your render
Add destinations to the output of a render. When the video is ready, Shotstack copies it into your bucket under the prefix and filename you set.
{
"output": {
"format": "mp4",
"destinations": [{
"provider": "s3",
"options": {
"region": "ap-southeast-2",
"bucket": "my-s3-bucket",
"prefix": "renders",
"filename": "video",
"acl": "public-read"
}
}]
}
}What you can do with AWS S3
Several buckets at once
List more than one S3 destination to send the same file to buckets in different regions.
Only your bucket
Add the Shotstack destination with
"exclude": trueand the file goes to S3 without being hosted by Shotstack.Ingested files too
Source files and renditions from the Ingest API use the same destination, so originals and outputs land in one place.
Questions
Why does the IAM user need read access to a Shotstack bucket?
shotstack-api-v1-output for production and shotstack-api-stage-output for the sandbox.Can I make the uploaded file public?
acl option, for example to public-read, and give the IAM user s3:PutObjectAcl.More integrations
Google Cloud Storage
Transfer files to your Google Cloud Storage buckets.
Azure Blob Storage
Transfer files to your Azure Blob Storage containers.
Google Drive
Transfer files to folders in your Google Drive.