@@ -499,6 +499,31 @@ class LanguageDetectionOptions(BaseModel):
499499 None ,
500500 description = "The language to fallback to in case the language detection does not predict any of the expected ones." ,
501501 )
502+ code_switching : Optional [bool ] = Field (
503+ None ,
504+ description = "Enable code switching detection for multilingual transcription." ,
505+ )
506+ code_switching_confidence_threshold : Optional [float ] = Field (
507+ None ,
508+ description = "The confidence threshold for code switching detection. Valid values are in the range [0,1] inclusive." ,
509+ )
510+
511+
512+ class CodeSwitchingLanguage (BaseModel ):
513+ """Code switching language detection result"""
514+
515+ language_code : str
516+ "The language code detected"
517+
518+ confidence : float
519+ "The confidence score for this language detection, between 0.0 and 1.0"
520+
521+
522+ class LanguageDetectionResults (BaseModel ):
523+ """Language detection results including code switching languages"""
524+
525+ code_switching_languages : Optional [List [CodeSwitchingLanguage ]] = None
526+ "List of detected languages with confidence scores when code switching is enabled"
502527
503528
504529class SpeakerType (str , Enum ):
@@ -815,6 +840,9 @@ class RawTranscriptionConfig(BaseModel):
815840 language_codes : Optional [List [Union [str , LanguageCode ]]] = None
816841 "List of language codes detected in the audio file when language detection is enabled"
817842
843+ code_switching_languages : Optional [List [CodeSwitchingLanguage ]] = None
844+ "List of detected languages with confidence scores when code switching is enabled"
845+
818846 speech_understanding : Optional [SpeechUnderstandingRequest ] = None
819847 "Speech understanding configuration for LLM Gateway features"
820848
@@ -1408,6 +1436,12 @@ def language_codes(self) -> Optional[List[Union[str, LanguageCode]]]:
14081436
14091437 return self ._raw_transcription_config .language_codes
14101438
1439+ @property
1440+ def code_switching_languages (self ) -> Optional [List [CodeSwitchingLanguage ]]:
1441+ "Returns the list of detected languages with confidence scores when code switching is enabled."
1442+
1443+ return self ._raw_transcription_config .code_switching_languages
1444+
14111445 # endregion
14121446
14131447 # region: Convenience (helper) methods
@@ -2089,6 +2123,9 @@ class BaseTranscript(BaseModel):
20892123 language_codes : Optional [List [Union [str , LanguageCode ]]] = None
20902124 "List of language codes detected in the audio file when language detection is enabled"
20912125
2126+ code_switching_languages : Optional [List [CodeSwitchingLanguage ]] = None
2127+ "List of detected languages with confidence scores when code switching is enabled"
2128+
20922129 speech_threshold : Optional [float ] = None
20932130 "Reject audio files that contain less than this fraction of speech. Valid values are in the range [0,1] inclusive"
20942131
0 commit comments