Skip to content
Cloud Speech Install

← Back to all guides

Setup guide

Set up Amazon Polly

Amazon Polly is AWS's text-to-speech service, with hundreds of voices across Standard, Neural, Generative, and Long-form engines. This guide walks you through creating AWS credentials from scratch. No developer experience needed. It takes about 10 minutes.

What you'll need

  • An AWS account (free tier available; a payment method is required to sign up)
  • About 10 minutes
  1. 1

    Create an AWS account

    If you don't have an AWS account yet:

    1. Go to aws.amazon.com
    2. Click Create an AWS Account
    3. Follow the registration process
    4. Add a payment method (the free tier covers basic usage; see the costs box below)

    Already have an AWS account? Skip straight to step 2.

  2. 2

    Create an IAM user with Polly access

    For security, create a dedicated user that can only use Polly. Never use your root account credentials in the extension:

    1. Sign in to the AWS Console
    2. Search for and open the IAM service
    3. Click Users → Create user
    4. Enter a username, e.g. cloud-speech-extension
    5. Select Attach policies directly
    6. Search for and select AmazonPollyReadOnlyAccess
    7. Click Create user
  3. 3

    Generate access keys

    Create the keys the extension will use to talk to Polly:

    1. Click on your newly created user
    2. Open the Security credentials tab
    3. Click Create access key
    4. Select Application running outside AWS
    5. Add a description, e.g. Cloud Speech extension
    6. Click Create access key
    7. Copy both the Access Key ID and the Secret Access Key

    Security warning

    Save your Secret Access Key immediately, because AWS will never show it again. Keep these credentials secure and never share them.
  4. 4

    Choose your region

    Select the AWS region closest to you for better performance. Popular choices:

    • us-east-1: N. Virginia (cheapest)
    • us-west-2: Oregon
    • eu-west-1: Ireland
    • ap-southeast-1: Singapore

    See the AWS Polly regions list for all options. Note that not every engine (e.g. Generative) is available in every region.

  5. 5

    Connect the extension

    1. Click the extension icon in your browser toolbar
    2. Open Settings → Amazon Polly
    3. Paste your Access Key ID
    4. Paste your Secret Access Key
    5. Enter your chosen Region (e.g. us-east-1)
    6. Click Save & test

    Once the test passes, the Polly voices appear in the voice picker. Press ▶ to preview any voice and ★ to favorite the ones you like. Then highlight text on any page, right-click, and choose Read aloud, or press Ctrl/Cmd+Shift+S.

Costs

AWS's free tier includes 5 million characters per month for standard voices and 1 million characters per month for neural voices during your first 12 months. After that (or beyond the free tier):

  • Standard voices: $4.00 per 1 million characters
  • Neural voices: $16.00 per 1 million characters
  • Generative voices: $30.00 per 1 million characters
  • Long-form voices: $100.00 per 1 million characters

Every character, including spaces, counts. See the official Polly pricing page and our provider comparison.

Remove access when you're done

  1. Open the IAM Users page and select the user you created (e.g. polly-tts).
  2. On the Security credentials tab, find the access key, choose Actions → Deactivate, then Delete. The key stops working immediately.
  3. To remove everything, delete the user itself with Delete user.
  4. In the extension, open Settings → Amazon Polly and clear the saved keys (or turn the provider off).

Prefer the command line?

With the AWS CLI signed in as an administrator, this creates the same locked-down user and key as the steps above:

aws iam create-user --user-name polly-tts

aws iam put-user-policy --user-name polly-tts --policy-name polly-synthesize \
  --policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow",
    "Action":["polly:SynthesizeSpeech","polly:DescribeVoices"],"Resource":"*"}]}'

aws iam create-access-key --user-name polly-tts
# Paste AccessKeyId and SecretAccessKey into the extension; pick any region.

And to remove it all later:

aws iam list-access-keys --user-name polly-tts
aws iam delete-access-key --user-name polly-tts --access-key-id AKIA...
aws iam delete-user-policy --user-name polly-tts --policy-name polly-synthesize
aws iam delete-user --user-name polly-tts

Troubleshooting

"Credentials are missing or invalid"

Double-check the values you pasted; a stray space or missing character is the most common cause. Ensure your IAM user has the AmazonPollyReadOnlyAccess policy, your region is correct (e.g. us-east-1), and the access keys are still active in the AWS Console. Then click Save & test again.

"Access denied" errors

Your credentials are valid but lack permission. Attach AmazonPollyReadOnlyAccess, and check that the engine you picked (e.g. Generative) is available in your selected region.

For no audio, missing voices, or keyboard shortcut problems, see the troubleshooting guide.

Prefer a different provider? See Azure Speech, Google Cloud TTS, or OpenAI.