| app_model=app_model, | app_model=app_model, | ||||
| text=request.form['text'], | text=request.form['text'], | ||||
| end_user=end_user.external_user_id, | end_user=end_user.external_user_id, | ||||
| voice=request.form['voice'] if request.form.get('voice') else app_model.app_model_config.text_to_speech_dict.get('voice'), | |||||
| voice=request.form['voice'] if request.form.get('voice') else None, | |||||
| streaming=False | streaming=False | ||||
| ) | ) | ||||
| except Exception as e: | except Exception as e: | ||||
| raise e | raise e | ||||
| def get_tts_voices(self, language: str) -> list: | |||||
| def get_tts_voices(self, language: Optional[str] = None) -> list: | |||||
| """ | """ | ||||
| Invoke large language tts model voices | Invoke large language tts model voices | ||||
| raise ProviderNotSupportTextToSpeechServiceError() | raise ProviderNotSupportTextToSpeechServiceError() | ||||
| try: | try: | ||||
| if not voice: | |||||
| voices = model_instance.get_tts_voices() | |||||
| if voices: | |||||
| voice = voices[0].get('value') | |||||
| else: | |||||
| raise ValueError("Sorry, no voice available.") | |||||
| return model_instance.invoke_tts( | return model_instance.invoke_tts( | ||||
| content_text=text.strip(), | content_text=text.strip(), | ||||
| user=end_user, | user=end_user, |