From 778c63d512f7c0a9f6f3c888172841afde556897 Mon Sep 17 00:00:00 2001 From: Katrina Date: Tue, 28 Apr 2026 18:26:09 -0400 Subject: [PATCH 1/2] process elevenlabs as cascade --- src/eva/models/config.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/eva/models/config.py b/src/eva/models/config.py index 0463ef96..04c759e0 100644 --- a/src/eva/models/config.py +++ b/src/eva/models/config.py @@ -195,6 +195,14 @@ class SpeechToSpeechConfig(BaseModel): @property def pipeline_parts(self) -> dict[str, str]: """Component names for this pipeline.""" + if self.s2s == "elevenlabs": + # hardcoded for now. Models are set on the agent UI + return { + "s2s": _param_alias(self.s2s_params) or self.s2s, + "stt": "scribe_v2.2_realtime", + "llm": "gemini-3-flash-preview", + "tts": "v3-conversational", + } return {"s2s": _param_alias(self.s2s_params) or self.s2s} @field_serializer("s2s_params") @@ -360,6 +368,10 @@ def get_pipeline_type(model_data: dict | Any) -> PipelineType: """ mode = _model_config_discriminator(model_data) if mode == "s2s": + # ElevenLabs uses s2s_params for configuration but is a cascade pipeline internally + s2s_value = model_data.get("s2s") == "elevenlabs" + if s2s_value == "elevenlabs": + return PipelineType.CASCADE return PipelineType.S2S if mode == "audio_llm": return PipelineType.AUDIO_LLM From 465936885cbc37c9b067c03289f4b0d733a63341 Mon Sep 17 00:00:00 2001 From: Katrina Date: Tue, 28 Apr 2026 18:40:42 -0400 Subject: [PATCH 2/2] fix bug --- src/eva/models/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/eva/models/config.py b/src/eva/models/config.py index 04c759e0..352163c6 100644 --- a/src/eva/models/config.py +++ b/src/eva/models/config.py @@ -369,7 +369,7 @@ def get_pipeline_type(model_data: dict | Any) -> PipelineType: mode = _model_config_discriminator(model_data) if mode == "s2s": # ElevenLabs uses s2s_params for configuration but is a cascade pipeline internally - s2s_value = model_data.get("s2s") == "elevenlabs" + s2s_value = model_data.get("s2s") if s2s_value == "elevenlabs": return PipelineType.CASCADE return PipelineType.S2S