Move generated audio files off your WordPress server and onto Amazon S3. Reduces disk use, speeds up audio delivery with CloudFront, and makes your library scalable.
Two options
Option 1: TTSWP-managed cloud (default for paid plans)
On Pro and Agency plans, audio is automatically stored on TTSWP's S3 bucket and served from CloudFront. No setup. Your site simply plays audio from fast URLs.
No AWS account needed. No credentials to manage.
Option 2: Your own S3 bucket
Advanced users can configure their own S3 bucket. Files are stored in your AWS account and billed to you directly.
This option is for:
- Enterprise customers with existing AWS infrastructure
- Sites needing full data residency control
- Agencies managing storage separately for clients
Setting up your own S3
Prerequisites
- An AWS account
- Basic familiarity with IAM and S3
Step 1: Create an S3 bucket
- Log in to AWS Console → S3.
- Click Create bucket.
- Give it a unique name (example:
ttswp-audio-yourdomain). - Pick a region close to most of your visitors.
- Leave "Block all public access" OFF for this bucket (audio needs public read).
- Create the bucket.
Step 2: Create an IAM user
- Go to IAM → Users → Create user.
- Username:
ttswp-audio-uploader. - Attach a policy that allows
s3:PutObject,s3:GetObject,s3:DeleteObject,s3:ListBucketon your new bucket. - Create access key pair and copy both the Access Key ID and Secret Access Key.
Step 3: Add credentials to TTSWP
- Go to Text to Speech → Overview → Quick Settings.
- Flip Cloud audio storage to on.
- Fill in:
- S3 Provider: Amazon S3
- Access Key ID: from step 2
- Secret Access Key: from step 2
- Bucket: your bucket name from step 1
- Region: the region you picked
- Path prefix (optional): subfolder inside the bucket, like
audio/
- Save.
Step 4: Test
Generate audio for a new post. Check your S3 bucket - you should see the new file there.
Optional: CloudFront CDN
For faster delivery to global visitors, put CloudFront in front of your S3 bucket.
- AWS Console → CloudFront → Create distribution.
- Origin: your S3 bucket.
- Viewer protocol policy: Redirect HTTP to HTTPS.
- Create.
- Copy the CloudFront domain (like
d1234abcd.cloudfront.net). - In TTSWP Cloud audio storage settings, set CDN URL to your CloudFront domain.
- Save.
New audio files are served from CloudFront. Existing files are migrated on next play.
Costs
TTSWP-managed cloud
Included in your paid plan. No extra cost per GB.
Your own S3
Billed by AWS. Typical costs for a 1,000-post site:
- Storage: ~$0.01 per month per GB (cheap)
- Bandwidth: ~$0.09 per GB of audio served (adds up if you get heavy plays)
- CloudFront: ~$0.085 per GB served (similar)
Most blogs stay under $1-2 per month. Heavy-traffic podcasts can reach $20-50 per month.
Migrating from local to cloud
After enabling cloud storage, new audio is uploaded to S3. Existing audio stays on your WordPress server until you regenerate it.
Bulk migration tool: Tools → Audio Library → Migrate to cloud (PRO).
Disabling cloud storage
Turn the toggle off. New audio saves to your WordPress server. Existing cloud audio stays on S3 (you can delete or keep it).