Enhance Home Assistant’s voice assistant with OpenAI’s latest natural-sounding text-to-speech (TTS) model.
This integration allows you to use GPT-4o Mini TTS, OpenAI’s newest and most expressive TTS model, as a speech provider in Home Assistant.
🗣️ Built for Home Assistant Voice Assistants
This integration enables GPT-4o Mini TTS in Assist.
This integration is based on GPT-4o Mini TTS, OpenAI’s latest TTS model.
It offers high-quality, human-like speech with adjustable affect, tone, pronunciation, pauses, and emotion.
OpenAI Quote:
"Hear and play with these voices in OpenAI.fm, our interactive demo for trying the latest text-to-speech model in the OpenAI API. Voices are currently optimized for English."
With 11 built-in voices, you can customise how speech is rendered to match different scenarios.
✅ Uses GPT-4o Mini TTS, OpenAI’s latest speech model
✅ Fully UI-based setup—no YAML required
✅ 11 voices (alloy
, ash
, ballad
, coral
, echo
, etc.)
✅ Customisable speech—affect, tone, pronunciation, pauses, emotion
✅ Works with Home Assistant’s Assist
✅ Easily installable via HACS
✅ Playback speed control for faster or slower speech
✅ Streaming audio for quicker responses
✅ Changes take effect immediately – no restart required
✅ Improved error handling and logging
Since this is a custom repository, you must add it manually:
- Open HACS in Home Assistant.
- Go to Integrations → Click the three-dot menu → Custom repositories.
- Add this repository:
https://github.com/wifiuk/OpenAI-GPT-4o-Mini-TTS-Home-Assistant-Integration.git - Select Integration as the category and click Add.
- Click Download and install OpenAI GPT-4o Mini TTS.
- Restart Home Assistant after installation.
- Download this repository as a ZIP file and extract it.
- Copy the
openai_gpt4o_tts
folder to: /config/custom_components/ - Restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration.
- Search for OpenAI GPT-4o Mini TTS and follow the setup process.
- Go to: Settings → Devices & Services → Integrations.
- Click “+ Add Integration” → Select OpenAI GPT-4o Mini TTS.
- Enter your OpenAI API Key.
- Choose a Voice from the dropdown (e.g.,
nova
,onyx
,sage
). - Customise the speech settings:
- Affect/Personality (e.g., "A cheerful guide")
- Tone (e.g., "Friendly, clear, and reassuring")
- Pronunciation (e.g., "Clear, articulate, and steady")
- Pauses (e.g., "Brief, purposeful pauses after key instructions")
- Emotion (e.g., "Warm and supportive")
- Playback Speed (e.g.,
1.2
for 20% faster) - Model (e.g.,
gpt-4o-mini-tts
) - Audio Format (e.g.,
mp3
,wav
) - Stream Format – choose
sse
to stream audio while it is generated oraudio
to wait for the full file
- Click Submit. 🎉 Done!
Now, Home Assistant's voice assistant will use GPT-4o Mini TTS as its speech provider.
Once the repo is installed, follow these steps:
- Go to:
Settings → Voice Assistants
. - Choose your assistant (e.g., Assist).
- Scroll down to Text-to-Speech settings.
- Select "OpenAI GPT-4o Mini TTS" from the dropdown.
- Choose the same voice you set up earlier
- Save settings and test voice output.
👉 See Home Assistant’s Voice Control Guide for setup.
You need an API key from OpenAI to use this integration. Get one from:
👉 https://platform.openai.com/signup/
The integration supports the following 11 voices: alloy, ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer
No, OpenAI’s API is a paid service. You are charged per character generated. Check OpenAI’s pricing page for more details.
✔️ Additional voices (as OpenAI adds more)
✔️ Figure out how to stream the replies quickly, rather than waiting for the entire file to download and play
Want to help improve this project? Contributions are welcome!
- Fork the repo
- Submit pull requests for features/fixes
- Report issues or suggest improvements
Have questions or need help?
Enjoy human-like, expressive TTS in Home Assistant! 🎤🔊