--- title: Amazon Polly description: Instructions on how to setup Amazon Polly with Home Assistant. ha_category: - Text-to-speech ha_release: 0.37 ha_domain: amazon_polly ha_iot_class: Cloud Push ha_platforms: - tts ha_integration_type: integration --- The `amazon_polly` text-to-speech platform that works with [Amazon Polly](https://aws.amazon.com/polly/) to create the spoken output. Polly is a paid service via Amazon Web Services. There is a [free tier](https://aws.amazon.com/polly/pricing/) for the first 12 months and then a charge per million characters afterwards. ## Setup For more information, please read the [AWS General Reference regarding Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](https://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) about the profiles and the [AWS Regions and Endpoints Reference](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region) for available regions. Available voices are listed in the [Amazon Documentation](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html). ## Configuration To get started, add the following lines to your `configuration.yaml` (example for Amazon Polly): ```yaml # Example configuration.yaml entry tts: - platform: amazon_polly aws_access_key_id: AWS_ACCESS_KEY_ID aws_secret_access_key: AWS_SECRET_ACCESS_KEY ``` {% configuration %} aws_access_key_id: description: "Your AWS Access Key ID. If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name`." required: true type: string aws_secret_access_key: description: "Your AWS Secret Access Key. If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`." required: true type: string profile_name: description: A credentials profile name. If provided, you must **not** provide an `aws_access_key_id` nor an `aws_secrete_access_key`. required: false type: string region_name: description: The region identifier to connect to. required: false type: [string, list] default: us-east-1 text_type: description: "Whether to interpret messages as `text` or as [`ssml`](https://docs.aws.amazon.com/polly/latest/dg/ssml.html) by default." required: false type: string default: text voice: description: The [Voice Name/ID](https://docs.aws.amazon.com/polly/latest/dg/voicelist.html) to be used for generated speech by default. required: false type: string output_format: description: "Override the default output format. Either `mp3`, `ogg_vorbis` or `pcm`." required: false type: string default: mp3 sample_rate: description: "Override the default sample rate. Possible values are: 8000, 16000, 22050, 24000." required: false type: string default: 22050 for MP3 and Ogg Vorbis, 16000 for pcm engine: description: "Override the default engine. Can be either of `standard` or `neural`. See Amazon documentation for compatible regions and voices." required: false type: string default: standard {% endconfiguration %} ## Usage Say to all `media_player` device entities: ```yaml - service: tts.amazon_polly_say data: message: "Hello from Amazon Polly" ``` or ```yaml - service: tts.amazon_polly_say data: message: > Hello from Amazon Polly ``` Say to the `media_player.living_room` device entity: ```yaml - service: tts.amazon_polly_say target: entity_id: media_player.living_room message: > Hello from Amazon Polly ``` Say with break: ```yaml - service: tts.amazon_polly_say data: message: > Hello from Amazon Polly ```