Overview
By default, Tornado uploads files to our managed storage. You can configure your own S3-compatible bucket to receive downloads directly.Supported Providers
| Provider | Endpoint Format |
|---|---|
| AWS S3 | https://s3.{region}.amazonaws.com |
| Cloudflare R2 | https://{account_id}.r2.cloudflarestorage.com |
| MinIO | https://your-minio-server.com |
| DigitalOcean Spaces | https://{region}.digitaloceanspaces.com |
| Backblaze B2 | https://s3.{region}.backblazeb2.com |
Configure Your Bucket
Use the/user/bucket endpoint to set your S3 configuration:
Response
Required Permissions
Your IAM user/role needs these permissions:Cloudflare R2 Setup
1
Create R2 Bucket
In Cloudflare dashboard, go to R2 and create a new bucket.
2
Create API Token
Create an R2 API token with “Object Read & Write” permissions.
3
Get Account ID
Find your Account ID in the Cloudflare dashboard URL or overview page.
4
Configure Tornado
AWS S3 Setup
1
Create S3 Bucket
Create a bucket in the AWS Console with default settings.
2
Create IAM User
Create an IAM user with programmatic access and the permissions above.
3
Configure Tornado
File Organization
Downloaded files are organized in your bucket:Presigned URLs
When you poll job status, thes3_url returned is a presigned URL generated for your bucket:
Reset to Default
To switch back to our managed storage, contact support to reset your bucket configuration.Troubleshooting
| Error | Cause | Solution |
|---|---|---|
Verification failed: Access Denied | Invalid credentials | Verify access key and secret key |
Verification failed: NoSuchBucket | Bucket doesn’t exist | Create the bucket first |
Verification failed: timeout | Endpoint unreachable | Check endpoint URL format |
