{
  "$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"
}