Skip to main content
For the deepgram/* models and reson8/prerecorded. Returns 400 (model_config is only allowed with deepgram models and reson8/prerecorded) if used with other models.
Pass-through to Deepgram’s pre-recorded API query parameters. Every key-value pair in model_config is forwarded directly — Telnyx does not validate individual options.

Commonly Used Options

Example

model_config can be sent as a JSON string in the multipart form field. The server parses it before forwarding.

Unvalidated Pass-Through

Any Deepgram query parameter can be passed. If Deepgram adds new options, they work immediately without a Telnyx API update. Conversely, invalid keys are forwarded and may cause Deepgram to return an error. Refer to Deepgram’s API reference for the full list of supported parameters.

Diarization

Set diarize: true to label who speaks each word. Works with all deepgram/* models, including the -medical variants, and with reson8/prerecorded. Other models reject model_config, so they return no speaker information. Diarization quality depends on the audio. It works best when each speaker has enough speech. Use diarize, not diarize_model. Telnyx’s Deepgram deployment does not support diarize_model (for example latest or v2) and returns 400 Deepgram API error: Bad Request: Unknown diarization model. Enabling diarize does not change billing.

Multichannel

Set multichannel: true to transcribe each channel of a multichannel file (for example, a stereo call recording with one party per channel) independently. Deepgram requests accept only mp3 and wav files.
  • Each segment gets a channel index, starting at 0. A single-channel file returns no channel field.
  • Segments from all channels are merged into one segments list, ordered by start.
  • Silent channels produce no segments, but are still billed: billing counts every channel in the file.
  • Without multichannel, a stereo file is mixed down and transcribed as one channel.
Billing: billed duration is the file duration multiplied by the number of channels. A 73.17 s stereo file with multichannel: true bills 146 s. Without multichannel, the same file bills once.

Combine with diarization

diarize and multichannel combine. Speaker IDs are per channel: each channel numbers its speakers from 0. Identify a speaker by the pair (channel, speaker), never by speaker alone.
Response (trimmed):
Segment 0 and segment 2 both have speakers: [0], but they are different people: speaker 0 on channel 0 and speaker 0 on channel 1. See Response Format for every field.

Reson8

reson8/prerecorded accepts only these two options. Any other key returns a 400.
Response (trimmed):
Without diarize, verbose_json returns the whole transcript as one segment with its word timestamps.