{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-audio-transcription-request-schema.json", "title": "AudioTranscriptionRequest", "x-generated": "2026-10-08", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/telnyx-audio-api-openapi.yml#/components/schemas/AudioTranscriptionRequest", "properties": { "file": { "description": "The audio file object to transcribe, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. File uploads are limited to 100 MB. Cannot be used together with `file_url`. Note: `deepgram/nova-3` only supports mp3 and wav formats.", "format": "binary", "type": "string" }, "file_url": { "description": "Link to audio file in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. Support for hosted files is limited to 100MB. Cannot be used together with `file`. Note: `deepgram/nova-3` only supports mp3 and wav formats.", "type": "string" }, "language": { "description": "The language of the audio to be transcribed. For `deepgram/nova-3`, only English variants are supported: `en`, `en-US`, `en-GB`, `en-AU`, `en-NZ`, `en-IN`. For `openai/whisper-large-v3-turbo`, supports multiple languages. `distil-whisper/distil-large-v2` does not support language parameter.", "type": "string" }, "model": { "default": "distil-whisper/distil-large-v2", "description": "ID of the model to use. `distil-whisper/distil-large-v2` is lower latency but English-only. `openai/whisper-large-v3-turbo` is multi-lingual but slightly higher latency. `deepgram/nova-3` supports English variants (en, en-US, en-GB, en-AU, en-NZ, en-IN) and only accepts mp3/wav files.", "enum": [ "distil-whisper/distil-large-v2", "openai/whisper-large-v3-turbo", "deepgram/nova-3" ], "type": "string" }, "model_config": { "additionalProperties": true, "description": "Additional model-specific configuration parameters. Only allowed with `deepgram/nova-3` model. Can include Deepgram-specific options such as `smart_format`, `punctuate`, `diarize`, `utterance`, `numerals`, and `language`. If `language` is provided both as a top-level parameter and in `model_config`, the top-level parameter takes precedence.", "type": "object" }, "response_format": { "default": "json", "description": "The format of the transcript output. Use `verbose_json` to take advantage of timestamps.", "enum": [ "json", "verbose_json" ], "type": "string" }, "timestamp_granularities[]": { "description": "The timestamp granularities to populate for this transcription. `response_format` must be set verbose_json to use timestamp granularities. Currently `segment` is supported.", "enum": [ "segment" ], "type": "string" } }, "required": [ "model" ], "type": "object" }