TTS parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Target model in provider/model:variant format |
text | string | Yes | Text to synthesize |
voice | string | No | Voice identifier — accepted values depend on the provider and model |
config.sample_rate | integer | No | Output sample rate in Hz |
config.encoding | string | No | Output encoding format |
config.language | string | No | Language code — accepted values depend on the provider |
config.speed | number | No | Speech speed multiplier |
TTS provider support
| Parameter | Orpheus | Rime Arcana | Deepgram Aura 2 | Sarvam Bulbul |
|---|---|---|---|---|
voice | Yes | Yes | Yes | Yes |
config.sample_rate | Yes | Yes | Yes | Yes |
config.encoding | Yes | Yes | Yes | Yes |
config.language | — | Yes | Yes | Yes |
config.speed | — | — | Yes | — |
Provider-specific values
Thevoice and config.language fields accept provider-specific values. For example:
- Orpheus voices:
tara,leah,jess,leo,dan,mia - Deepgram Aura 2 voices:
asteria-en,luna-en,athena-en - Rime Arcana language codes:
en,fr,es,hi,ar,de
Supported sample rates
All TTS models accept:8000, 16000, 22050, 24000, 32000, 48000 Hz.
Supported encodings
All TTS models accept:linear16, mp3, opus, mulaw, alaw.
STT parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
audio | file | Yes | Audio file to transcribe |
language | string | No | Language code — accepted values depend on the provider |
sample_rate | integer | No | Audio sample rate in Hz |
encoding | string | No | Audio encoding format |
enable_vad | boolean | No | Enable voice activity detection |
enable_partials | boolean | No | Enable partial transcription results |
STT provider support
| Parameter | Deepgram Nova 3 | Whisper Large v3 | Deepgram Nova 2 |
|---|---|---|---|
language | Yes | Auto-detect | Yes |
sample_rate | Yes | Yes | Yes |
encoding | Yes | Yes | Yes |
enable_vad | Yes | — | Yes |
enable_partials | Yes | — | Yes |
Supported STT encodings
linear16, mp3, opus.
How provider-specific parameters work
The Unified API uses a schema-driven approach. All parameters are defined in the request schema — there is no generic passthrough or arbitrary key-value mechanism. Thevoice, language, and config fields accept provider-specific values as strings, and the gateway forwards them to the underlying provider without transformation.
This means:
- You use the same field names regardless of provider
- Provider-specific values (voice names, language codes) go into the same fields
- Validation happens at the provider level — if a value is not supported, you get a standard error response with the provider’s error message
Model identifiers
Models follow the patternprovider/model:variant for third-party and slng/provider/model:variant for SLNG-hosted. For example:
deepgram/aura:2— third-party, proxied to Deepgramslng/deepgram/aura:2— SLNG-hosted Deepgram Aura 2slng/canopylabs/orpheus:en— SLNG-hosted Orpheus English