diff --git a/vocode/models/transcriber.py b/vocode/models/transcriber.py index 508aa13..71954ec 100644 --- a/vocode/models/transcriber.py +++ b/vocode/models/transcriber.py @@ -12,8 +12,24 @@ class TranscriberType(str, Enum): ASSEMBLY_AI = "transcriber_assembly_ai" -class EndpointingConfig(BaseModel): - time_cutoff_seconds: Optional[float] = None +class EndpointingType(str, Enum): + BASE = "endpointing_base" + TIME_BASED = "endpointing_time_based" + PUNCTUATION_BASED = "endpointing_punctuation_based" + + +class EndpointingConfig(TypedModel, type=EndpointingType.BASE): + pass + + +class TimeEndpointingConfig(EndpointingConfig, type=EndpointingType.TIME_BASED): + time_cutoff_seconds: float = 0.4 + + +class PunctuationEndpointingConfig( + EndpointingConfig, type=EndpointingType.PUNCTUATION_BASED +): + time_cutoff_seconds: float = 0.4 class TranscriberConfig(TypedModel, type=TranscriberType.BASE):