home-assistant.io/source/_integrations/elevenlabs.markdown
Simon 7a1cbb4a2b
Add speak action configuration for ElevenLabs (#36522)
* Add speak action configuration for ElevenLabs

* tiny tweak

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2025-01-28 14:29:28 +01:00

2.5 KiB

title description ha_category ha_release ha_iot_class ha_domain ha_platforms ha_config_flow ha_integration_type ha_codeowners
ElevenLabs Instructions on how to setup ElevenLabs text-to-speech with Home Assistant.
Text-to-speech
2024.8 Cloud Polling elevenlabs
tts
true service
@sorgfresser

The ElevenLabs text-to-speech {% term integrations %} adds support for ElevenLabs as text-to-speech to read a text with natural sounding voices.

Prerequisites

  • You need an ElevenLabs account to use this integration. A free account suffices for basic usage.
  • For custom voices or more quota you need a subscription.
  • You need your API key from the ElevenLabs website.

{% include integrations/config_flow.md %}

For an overview of which languages can be used, check the complete list of supported languages.

For a description of which voices are available for use, check your VoiceLab voices.

To see the available models and their benefits, check the models documentation.

Action speak

The tts.speak action is the modern way to use TTS. Add the speak action, select the entity for your ElevenLabs TTS (it's named ElevenLabs by default), select the media player entity or group to send the TTS audio to, and enter the message to speak.

For more options about speak, see the Speak section on the main TTS building block page.

In YAML, your action will look like this:

action: tts.speak
target:
  entity_id: tts.elevenlabs
data:
  media_player_entity_id: media_player.giant_tv
  message: Hello, can you hear me now?
  options:
    voice: <voice-id>
    model: <model-id>

Configuration

Below settings can be configured in the options of the integration and in the options parameter of the tts.speak service.

{% configuration %}

voice: description: "Voice ID for the ElevenLabs voice to use. Will override the default voice of the entity!" required: false type: string model: description: "Model ID for the model to use. Will override the default model of the entity!" required: false type: string

{% endconfiguration %}

For more information about using text-to-speech with Home Assistant and more details on all the options it provides, see the TTS documentation.

Removing the integration

This integration follows standard integration removal. No extra steps are required.

{% include integrations/remove_device_service.md %}