Releases: sfortis/openai_tts
Releases · sfortis/openai_tts
v3.6: Multi-language & Custom Endpoint Support
What's New in v3.6
New Features
- Optional API key for custom endpoints – API key is only required for OpenAI. Local/custom TTS servers (like Alltalk, Chatterbox) can work without authentication.
- Multi-language support – 54 languages now available in HA Assist pipeline settings.
Bug Fixes
- Skip API validation for custom endpoints (fixes compatibility with Alltalk V2, Chatterbox, etc.)
Installation
Available in HACS default repository. Search for "OpenAI TTS" and download.
v3.6b3: Fix custom endpoint validation
Bug Fixes
- Skip API validation for custom endpoints (fixes #52) - Custom endpoints like Alltalk V2 may not support the model used for validation. Validation now only runs for the default OpenAI endpoint.
v3.6b2: Optional API key for custom endpoints
What's New
- Optional API key for custom endpoints - API key is now only required for OpenAI. Custom/local TTS servers can work without authentication.
- Multi-language support (from v3.6b1) - 54 supported languages for HA Assist pipeline.
v3.6b1: Multi-language support
What's New
Bug Fixes
- Multi-language support for HA Assist pipeline (fixes #50)
- Added 54 supported languages including Czech, German, French, Spanish, etc.
- Languages now appear in Home Assistant Assist pipeline settings
- OpenAI TTS auto-detects language from text (no configuration needed)
Installation
This is a beta release. Install via HACS by adding as custom repository and selecting the beta branch.
v3.5: Streaming, volume fixes, diagnostics
What's New
Features
- TTS Streaming – Reduced latency with streaming support (HA 2025.7+)
- Reconfigure flow – Change API key and URL without recreating the entity
- Sub-entries support – Multiple TTS agents under one integration (HA 2025.7+)
- Diagnostics – Added diagnostics support for troubleshooting
- Duration metadata – Reliable MP3 duration embedding using mutagen
Bug Fixes
- Fixed volume restoration timing for chime/normalize mode
- Fixed chime settings not applied from entity configuration
- Fixed voice/model changes not taking effect (cache key issue)
- Fixed ffmpeg metadata error (switched to mutagen library)
- Fixed "expected str" error on empty instructions field
Improvements
- Improved volume restoration logic and timing
- Complete translations (Czech, German, Greek, English)
- Code quality improvements and type annotations
- HACS and Hassfest validation workflows
v3.5b1: Volume timing fixes, TTS cache improvements, diagnostics
Bug Fixes
Volume Restoration Timing
- Fixed volume being restored too early when using chime or normalize features
- Volume restoration now correctly waits for full playback duration
- Added platform-specific timing buffers (Sonos: 500ms, Cast: 700ms)
Chime Configuration
- Fixed chime settings not being applied from entity configuration
- Service now reads chime/normalize settings from TTS entity subentry config
Voice Change Bug
- Added
default_optionsproperty to TTS entity - Voice/model/speed changes in config now properly invalidate HA's TTS cache
New Features
Duration Metadata with Mutagen
- Added reliable MP3 metadata embedding using mutagen library
- Duration stored in ID3 TXXX:duration_ms tag
In-Memory Duration Cache
- Added MESSAGE_DURATIONS_KEY for fast duration lookups
- Shared cache across all TTS entities
Diagnostics Support
- New diagnostics.py for troubleshooting
- Exports config entry data (API key redacted)
Code Quality
- Fixed deprecated
asyncio.get_event_loop()calls - Fixed bare
except:clauses - Removed duplicate constant definitions
- Added type annotations
reconfigure support, entity migration and handling fixes
3.4b5 entity migration fixes, strings
Bug fixes and stability enhancements.
3.4b2 Update manifest.json
bug fixes, translation updates
3.4b1 bug fixes, translation fixes
3.4b0
⭐ New Features in v0.3.4 Beta
- Volume Restoration – Automatically restores speaker volumes to their original levels after TTS announcements.
- Media Pause/Resume – Pauses currently playing media during announcements and resumes afterward (works with Sonos speakers).
- Sonos Integration – Automatically groups and ungroups Sonos speakers for synchronized announcements.
- New
openai_tts.sayService – New service parameters including volume control and pause/resume options. - Precise Audio Duration Detection – Improved timing for TTS playback with better synchronization.
- Media Player Targeting – Target speakers using areas, devices, or entity IDs for more flexible automations.
- Performance Optimizations – Improved audio processing for faster TTS responses.
Full Changelog: v3.3...3.4b0