Skip to main content
The SLNG Unified API accepts a common set of parameters across all providers. Some parameters are universal, others depend on the model. Provider-specific values (like voice identifiers or language codes) are passed through the same fields. The platform forwards them to the underlying provider.

TTS parameters

TTS provider support

The matrix below covers the most commonly used SLNG-hosted models. Providers not listed here (Cartesia Sonic 3, Murf Falcon, Kugel, Soniox TTS v1) accept the same text and voice fields. Check each model’s API reference for the exact list of supported config.* fields.

Provider-specific values

The voice and config.language fields accept provider-specific values. For example:
  • Rime Arcana voices: luna, orion, astra, nova
  • Deepgram Aura 2 voices: aura-2-thalia-en, aura-2-asteria-en, aura-2-celeste-es (set the voice field explicitly)
  • Rime Arcana language codes: en, fr, es, hi, ar, de
  • Cartesia Sonic 3, Murf Falcon, Kugel, Soniox TTS v1: see the voice catalog for each provider’s voice_id values
The platform passes these values directly to the provider. If you send a voice identifier that the selected model does not support, the provider returns an error through the standard error response format.

Supported sample rates and encodings

Sample-rate and encoding support varies by model and protocol. The Unified API uses a common request shape, but the selected model still controls which audio formats are valid. For exact allowed values, use the model-specific API reference page as the source of truth.

STT parameters

STT provider support

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. The voice, language, and config fields accept provider-specific values as strings, and the platform 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 pattern provider/model:variant for third-party and slng/provider/model:variant for SLNG-hosted. For example:
  • deepgram/aura:2: third-party, proxied to Deepgram
  • slng/deepgram/aura:2-en: SLNG-hosted Deepgram Aura 2 (English)
  • slng/rime/arcana:3-en: SLNG-hosted Rime Arcana v3 (English)
For the full list of model identifiers, see Supported models.