--- layout: page title: "Amazon Polly" description: "Instructions on how to setup Amazon Polly with Home Assistant." date: 2017-01-28 09:00 sidebar: true comments: false sharing: true footer: true logo: polly.png ha_category: Text-to-speech ha_release: 0.37 --- 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. ## {% linkable_title Setup %} For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) to get the needed details. Also, check the [boto3 Documentation](http://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](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html). ## {% linkable_title 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. required: false type: string region_name: description: The region identifier to connect to. required: false type: string or list default: us-east-1 name: description: "Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`." required: false type: string text_type: description: "Specify wherever to use text (default) or ssml markup by default." required: false type: string default: text voice: description: Voice name to be used. 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." required: false type: string default: 22050 for MP3 and Ogg Vorbis, 16000 for pcm {% endconfiguration %} ## {% linkable_title Usage %} Say to all `media_player` device entities: ```yaml - service: tts.amazon_polly_say data_template: message: 'Hello from Amazon Polly' ``` or ```yaml - service: tts.amazon_polly_say data_template: message: > Hello from Amazon Polly ``` Say to the `media_player.living_room` device entity: ```yaml - service: tts.amazon_polly_say data_template: entity_id: media_player.living_room message: > Hello from Amazon Polly ``` Say with break: ```yaml - service: tts.amazon_polly_say data_template: message: > Hello from Amazon Polly ```