Nabu Casa Cloud TTS
With Cloud TTS you are able to have text read aloud with natural sounding voices. This service is automatically enabled when you are signed in to your Nabu Casa cloud account and can be called using the tts.cloud_say
service in your automations.
Home Assistant versions below 2020.12.0 are limited to the original en-US, de-DE, and es-ES
standard voices. In order to use the Neural voices and additional languages shown below, Home Assistant version 2020.12.0 or newer is required.
Supported gender options are male
or female
The supported languages are:
Neural voices Language | Locale | Gender |
---|---|---|
Arabic (Egypt) | ar-EG | Female |
Arabic (Saudi Arabia) | ar-SA | Female |
Bulgarian (Bulgary) | bg-BG | Female |
Catalan (Spain) | ca-ES | Female |
Chinese (Cantonese, Traditional) | zh-HK | Female |
Chinese (Mandarin, Simplified) | zh-CN | Female |
Chinese (Mandarin, Simplified) | zh-CN | Male |
Chinese (Taiwanese Mandarin) | zh-TW | Female |
Croatian (Croatia) | hr-HR | Female |
Czech (Czech) | cs-CZ | Female |
Danish (Denmark) | da-DK | Female |
Dutch (Netherlands) | nl-NL | Female |
English (Australia) | en-AU | Female |
English (Australia) | en-AU | Male |
English (Canada) | en-CA | Female |
English (India) | en-IN | Female |
English (Ireland) | en-IE | Female |
English (United Kingdom) | en-GB | Female |
English (United Kingdom) | en-GB | Male |
English (United States) | en-US | Male |
English (United States) | en-US | Female |
Finnish (Finland) | fi-FI | Female |
French (Canada) | fr-CA | Female |
French (Canada) | fr-CA | Male |
French (France) | fr-FR | Female |
French (France) | fr-FR | Male |
French (Switzerland) | fr-CH | Female |
German (Austria) | de-AT | Female |
German (Germany) | de-DE | Female |
German (Germany) | de-DE | Male |
German (Switzerland) | de-CH | Female |
Greek (Greece) | el-GR | Female |
Hebrew (Israel) | he-IL | Female |
Hindi (India) | hi-IN | Female |
Hungarian (Hungary) | hu-HU | Female |
Indonesian (Indonesia) | id-ID | Male |
Italian (Italy) | it-IT | Female |
Italian (Italy) | it-IT | Male |
Japanese (Japan) | ja-JP | Female |
Japanese (Japan) | ja-JP | Male |
Korean (Korea) | ko-KR | Female |
Korean (Korea) | ko-KR | Male |
Malay (Malaysia) | ms-MY | Female |
Norwegian (Bokmål, Norway) | nb-NO | Female |
Polish (Poland) | pl-PL | Female |
Portuguese (Brazil) | pt-BR | Female |
Portuguese (Brazil) | pt-BR | Male |
Portuguese (Portugal) | pt-PT | Female |
Romanian (Romania) | ro-RO | Female |
Russian (Russia) | ru-RU | Female |
Slovak (Slovakia) | sk-SK | Female |
Slovenian (Slovenia) | sl-SI | Female |
Spanish (Mexico) | es-MX | Female |
Spanish (Mexico) | es-MX | Male |
Spanish (Spain) | es-ES | Female |
Spanish (Spain) | es-ES | Male |
Swedish (Sweden) | sv-SE | Female |
Tamil (India) | ta-IN | Female |
Telugu (India) | te-IN | Female |
Thai (Thailand) | th-TH | Female |
Turkish (Turkey) | tr-TR | Female |
Vietnamese (Vietnam) | vi-VN | Female |
Testing the TTS service
You can select the tts.cloud_say service from the dropdown on the Services page from Developer Tools > Services in the UI, and send text to a compatible media player.

Example Automation
Below is an automation which plays a spoken message to a specific media player when a sensor has had an open state for 10 minutes.
- id: DoorOpen10min
alias: Door is still open
trigger:
platform: state
entity_id: sensor.garage_status
to: Open
for:
minutes: 10
action:
service: tts.cloud_say
data:
entity_id: media_player.family_room_speaker
message: the door has been open for 10 minutes
options:
gender: female
language: en-US