From de55f80dd3d578f9e5bf4c7180cf64af2994355c Mon Sep 17 00:00:00 2001 From: AssemblyAI Date: Wed, 5 Nov 2025 11:16:00 -0700 Subject: [PATCH] Project import generated by Copybara. GitOrigin-RevId: b23e5ed90052c77b687a544bba156914e1b47046 --- assemblyai/__version__.py | 2 +- assemblyai/types.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/assemblyai/__version__.py b/assemblyai/__version__.py index d605a06..6f70987 100644 --- a/assemblyai/__version__.py +++ b/assemblyai/__version__.py @@ -1 +1 @@ -__version__ = "0.45.5" +__version__ = "0.46.0" diff --git a/assemblyai/types.py b/assemblyai/types.py index 1f90219..a98d7ee 100644 --- a/assemblyai/types.py +++ b/assemblyai/types.py @@ -499,6 +499,31 @@ class LanguageDetectionOptions(BaseModel): None, description="The language to fallback to in case the language detection does not predict any of the expected ones.", ) + code_switching: Optional[bool] = Field( + None, + description="Enable code switching detection for multilingual transcription.", + ) + code_switching_confidence_threshold: Optional[float] = Field( + None, + description="The confidence threshold for code switching detection. Valid values are in the range [0,1] inclusive.", + ) + + +class CodeSwitchingLanguage(BaseModel): + """Code switching language detection result""" + + language_code: str + "The language code detected" + + confidence: float + "The confidence score for this language detection, between 0.0 and 1.0" + + +class LanguageDetectionResults(BaseModel): + """Language detection results including code switching languages""" + + code_switching_languages: Optional[List[CodeSwitchingLanguage]] = None + "List of detected languages with confidence scores when code switching is enabled" class SpeakerType(str, Enum): @@ -815,6 +840,9 @@ class RawTranscriptionConfig(BaseModel): language_codes: Optional[List[Union[str, LanguageCode]]] = None "List of language codes detected in the audio file when language detection is enabled" + code_switching_languages: Optional[List[CodeSwitchingLanguage]] = None + "List of detected languages with confidence scores when code switching is enabled" + speech_understanding: Optional[SpeechUnderstandingRequest] = None "Speech understanding configuration for LLM Gateway features" @@ -1408,6 +1436,12 @@ def language_codes(self) -> Optional[List[Union[str, LanguageCode]]]: return self._raw_transcription_config.language_codes + @property + def code_switching_languages(self) -> Optional[List[CodeSwitchingLanguage]]: + "Returns the list of detected languages with confidence scores when code switching is enabled." + + return self._raw_transcription_config.code_switching_languages + # endregion # region: Convenience (helper) methods @@ -2089,6 +2123,9 @@ class BaseTranscript(BaseModel): language_codes: Optional[List[Union[str, LanguageCode]]] = None "List of language codes detected in the audio file when language detection is enabled" + code_switching_languages: Optional[List[CodeSwitchingLanguage]] = None + "List of detected languages with confidence scores when code switching is enabled" + speech_threshold: Optional[float] = None "Reject audio files that contain less than this fraction of speech. Valid values are in the range [0,1] inclusive"