{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/FallbackAzureSpeechTranscriber",
  "title": "FallbackAzureSpeechTranscriber",
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "description": "This is the transcription provider that will be used.",
      "enum": [
        "azure"
      ]
    },
    "language": {
      "type": "string",
      "description": "This is the language that will be set for the transcription. The list of languages Azure supports can be found here: https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=stt",
      "enum": [
        "af-ZA",
        "am-ET",
        "ar-AE",
        "ar-BH",
        "ar-DZ",
        "ar-EG",
        "ar-IL",
        "ar-IQ",
        "ar-JO",
        "ar-KW",
        "ar-LB",
        "ar-LY",
        "ar-MA",
        "ar-OM",
        "ar-PS",
        "ar-QA",
        "ar-SA",
        "ar-SY",
        "ar-TN",
        "ar-YE",
        "az-AZ",
        "bg-BG",
        "bn-IN",
        "bs-BA",
        "ca-ES",
        "cs-CZ",
        "cy-GB",
        "da-DK",
        "de-AT",
        "de-CH",
        "de-DE",
        "el-GR",
        "en-AU",
        "en-CA",
        "en-GB",
        "en-GH",
        "en-HK",
        "en-IE",
        "en-IN",
        "en-KE",
        "en-NG",
        "en-NZ",
        "en-PH",
        "en-SG",
        "en-TZ",
        "en-US",
        "en-ZA",
        "es-AR",
        "es-BO",
        "es-CL",
        "es-CO",
        "es-CR",
        "es-CU",
        "es-DO",
        "es-EC",
        "es-ES",
        "es-GQ",
        "es-GT",
        "es-HN",
        "es-MX",
        "es-NI",
        "es-PA",
        "es-PE",
        "es-PR",
        "es-PY",
        "es-SV",
        "es-US",
        "es-UY",
        "es-VE",
        "et-EE",
        "eu-ES",
        "fa-IR",
        "fi-FI",
        "fil-PH",
        "fr-BE",
        "fr-CA",
        "fr-CH",
        "fr-FR",
        "ga-IE",
        "gl-ES",
        "gu-IN",
        "he-IL",
        "hi-IN",
        "hr-HR",
        "hu-HU",
        "hy-AM",
        "id-ID",
        "is-IS",
        "it-CH",
        "it-IT",
        "ja-JP",
        "jv-ID",
        "ka-GE",
        "kk-KZ",
        "km-KH",
        "kn-IN",
        "ko-KR",
        "lo-LA",
        "lt-LT",
        "lv-LV",
        "mk-MK",
        "ml-IN",
        "mn-MN",
        "mr-IN",
        "ms-MY",
        "mt-MT",
        "my-MM",
        "nb-NO",
        "ne-NP",
        "nl-BE",
        "nl-NL",
        "pa-IN",
        "pl-PL",
        "ps-AF",
        "pt-BR",
        "pt-PT",
        "ro-RO",
        "ru-RU",
        "si-LK",
        "sk-SK",
        "sl-SI",
        "so-SO",
        "sq-AL",
        "sr-RS",
        "sv-SE",
        "sw-KE",
        "sw-TZ",
        "ta-IN",
        "te-IN",
        "th-TH",
        "tr-TR",
        "uk-UA",
        "ur-IN",
        "uz-UZ",
        "vi-VN",
        "wuu-CN",
        "yue-CN",
        "zh-CN",
        "zh-CN-shandong",
        "zh-CN-sichuan",
        "zh-HK",
        "zh-TW",
        "zu-ZA"
      ]
    },
    "segmentationStrategy": {
      "type": "string",
      "description": "Controls how phrase boundaries are detected, enabling either simple time/silence heuristics or more advanced semantic segmentation.",
      "enum": [
        "Default",
        "Time",
        "Semantic"
      ]
    },
    "segmentationSilenceTimeoutMs": {
      "type": "number",
      "description": "Duration of detected silence after which the service finalizes a phrase. Configure to adjust sensitivity to pauses in speech.",
      "minimum": 100,
      "maximum": 5000
    },
    "segmentationMaximumTimeMs": {
      "type": "number",
      "description": "Maximum duration a segment can reach before being cut off when using time-based segmentation.",
      "minimum": 20000,
      "maximum": 70000
    }
  },
  "required": [
    "provider"
  ]
}