diff --git a/litellm/llms/modelslab/text_to_speech/transformation.py b/litellm/llms/modelslab/text_to_speech/transformation.py index c5151bf0fcc..8bc423cebb5 100644 --- a/litellm/llms/modelslab/text_to_speech/transformation.py +++ b/litellm/llms/modelslab/text_to_speech/transformation.py @@ -100,6 +100,12 @@ class ModelsLabTextToSpeechConfig(BaseTextToSpeechConfig): except (ValueError, TypeError): pass + # Map response_format (mp3, wav, etc.) + if "response_format" in optional_params: + fmt = optional_params["response_format"] + if fmt in ("mp3", "wav", "ogg"): + mapped["output_format"] = fmt + # Language from extra params if "language" in kwargs: lang = kwargs["language"] diff --git a/tests/test_litellm/llms/modelslab/text_to_speech/test_modelslab_tts_transformation.py b/tests/test_litellm/llms/modelslab/text_to_speech/test_modelslab_tts_transformation.py index 03d6c04f233..91d1d84d3e7 100644 --- a/tests/test_litellm/llms/modelslab/text_to_speech/test_modelslab_tts_transformation.py +++ b/tests/test_litellm/llms/modelslab/text_to_speech/test_modelslab_tts_transformation.py @@ -58,6 +58,27 @@ class TestModelsLabTTSTransformation: ) assert params["speed"] == 1.5 + def test_map_openai_params_response_format_mp3(self): + """response_format mp3 maps to output_format mp3.""" + _, params = self.config.map_openai_params( + model="default", optional_params={"response_format": "mp3"}, voice="alloy" + ) + assert params["output_format"] == "mp3" + + def test_map_openai_params_response_format_wav(self): + """response_format wav maps to output_format wav.""" + _, params = self.config.map_openai_params( + model="default", optional_params={"response_format": "wav"}, voice="alloy" + ) + assert params["output_format"] == "wav" + + def test_map_openai_params_response_format_ignored_for_invalid(self): + """Invalid response_format values are ignored.""" + _, params = self.config.map_openai_params( + model="default", optional_params={"response_format": "flac"}, voice="alloy" + ) + assert "output_format" not in params + def test_get_supported_openai_params(self): params = self.config.get_supported_openai_params("default") assert "voice" in params