#7485: TTS: add Resemble AI provider support
gateway
Cluster:
Text-to-Speech Provider Enhancements
## Summary
- Add Resemble AI as a new TTS provider alongside ElevenLabs, OpenAI, and Edge TTS
- Implement `resembleTTS()` function using Resemble's synthesis API
- Add config options: `apiKey`, `voiceUuid`, `sampleRate`, `outputFormat`
- Update gateway RPC handlers, CLI commands, and UI labels
## Test plan
- [x] Verified TTS generation works with Resemble API
- [x] Confirmed Resemble config section appears in Control UI
- [x] Tested `/tts provider resemble` command
🤖 Generated with [Claude Code](https://claude.ai/code)
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
Adds **Resemble AI** as a new TTS provider across config/schema, gateway RPC handlers, and runtime TTS execution.
Key updates:
- Extends `TtsProvider`/zod schemas to include `resemble` and adds config fields (`apiKey`, `voiceUuid`, `sampleRate`, `outputFormat`).
- Adds a `resembleTTS()` fetch-based implementation and wires it into `textToSpeech()` provider selection.
- Updates gateway `tts.status`, `tts.providers`, and provider validation to expose/configure Resemble.
- Updates `/tts provider …` command output to show Resemble key status.
Main concern is correctness of returned metadata for Resemble (reported `outputFormat`/file extension), plus a small UX inconsistency in `/tts help` provider listing.
<h3>Confidence Score: 3/5</h3>
- Mostly safe to merge, but there is a correctness issue in Resemble output metadata that can misreport formats to callers.
- The PR is straightforward schema/plumbing plus a new provider implementation. However, the current `textToSpeech()` success response reports `outputFormat` as if the provider were ElevenLabs for any non-OpenAI provider, which will be wrong for Resemble and likely impacts UI/status consumers. No other high-confidence runtime breakers were found in the reviewed files.
- src/tts/tts.ts (provider output/format handling)
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
<!-- /greptile_comment -->
Most Similar PRs
#7965: feat(tts): add Speechify as TTS provider
by chaerla · 2026-02-03
82.1%
#20794: feat(tts): add Fish Audio provider with full docs, tests & gateway ...
by twangodev · 2026-02-19
74.2%
#7258: feat(tts): add Inworld AI TTS provider
by willsinghwilson · 2026-02-02
73.8%
#8922: feat(voice-call): Add ElevenLabs WebSocket streaming TTS
by mikiships · 2026-02-04
72.6%
#22086: fix(tts): honor explicit config provider and model/voice settings
by AIflow-Labs · 2026-02-20
71.5%
#22618: feat(tts): add OpenAI TTS speed parameter support
by useramuser · 2026-02-21
71.2%
#11745: ui: add server-side TTS for web chat via gateway endpoint
by wjlgatech · 2026-02-08
71.0%
#8317: fix(tts): add dynamic timeout and retry logic for ElevenLabs TTS
by camtang26 · 2026-02-03
70.4%
#16569: feat(tts): add optional piper provider core support
by akalypse · 2026-02-14
70.1%
#6677: fix(tts): always load fresh config for voice selection
by Jinqiao · 2026-02-01
69.7%