---
title: IBM Watson TTS
description: Instructions on how to setup IBM Watson TTS with Home Assistant.
ha_category:
- Text-to-speech
ha_release: 0.94
ha_codeowners:
- '@rutkai'
ha_domain: watson_tts
---
The `watson_tts` text-to-speech platform that works with [IBM Watson Cloud](https://www.ibm.com/watson/services/text-to-speech/) to create the spoken output.
Watson is a paid service via IBM Cloud but there is a decent [free tier](https://www.ibm.com/cloud/watson-text-to-speech/pricing) which offers 10000 free characters every month.
## Setup
For supported formats and voices please go to [IBM Cloud About section](https://cloud.ibm.com/docs/services/text-to-speech?topic=text-to-speech-about#about).
To get started please read the [Getting started tutorial](https://cloud.ibm.com/docs/services/text-to-speech?topic=text-to-speech-gettingStarted#gettingStarted).
## Configuration
To configure Watson TTS, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
tts:
- platform: watson_tts
watson_apikey: YOUR_GENERATED_APIKEY
```
You can get these tokens after you generated the credentials on the IBM Cloud console:
{% configuration %}
watson_url:
description: "The endpoint to which the service will connect."
required: false
type: string
default: "`https://stream.watsonplatform.net/text-to-speech/api`"
watson_apikey:
description: "Your secret apikey generated on the IBM Cloud admin console."
required: true
type: string
voice:
description: Voice name to be used.
required: false
type: string
default: en-US_AllisonVoice
output_format:
description: "Override the default output format. Supported formats: `audio/flac`, `audio/mp3`, `audio/mpeg`, `audio/ogg`, `audio/ogg;codecs=opus`, `audio/ogg;codecs=vorbis`, `audio/wav`"
required: false
type: string
default: audio/mp3
{% endconfiguration %}
## Usage
Say to all `media_player` device entities:
```yaml
- service: tts.watson_tts_say
data_template:
message: 'Hello from Watson'
```
or
```yaml
- service: tts.watson_tts_say
data_template:
message: >
Hello from Watson
```
Say to the `media_player.living_room` device entity:
```yaml
- service: tts.watson_tts_say
data_template:
entity_id: media_player.living_room
message: >
Hello from Watson
```
Say with break:
```yaml
- service: tts.watson_tts_say
data_template:
message: >
Hello from
Watson
```