[BugFix] Fix diffusion TTS voice error responses (#7798)

Signed-off-by: akshatvishu <akshatnayak197@gmail.com>
This commit is contained in:
akshatvishu authored and GitHub committed 2026-09-21 15:09:32 +00:00
1 parent ef644b6112
commit e01655f4a9
3 files changed
+60 -59

No files matched your search

+4 -14
View File
@@ -1463,7 +1463,6 @@ async def list_voices(raw_request: Request):
handler = Omnispeech(raw_request)
if handler is None:
return _create_speech_error_json_response(
raw_request,
"The model does not support Speech API",
err_type="NotFoundError",
status_code=HTTPStatus.NOT_FOUND,
@@ -1578,7 +1577,6 @@ async def upload_voice(
handler = Omnispeech(raw_request)
if handler is None:
return _create_speech_error_json_response(
raw_request,
"The model does not support Speech API",
err_type="NotFoundError",
status_code=HTTPStatus.NOT_FOUND,
@@ -1586,9 +1584,7 @@ async def upload_voice(
try:
if speaker_embedding is not None and audio_sample is not None:
return _create_speech_error_json_response(
raw_request, "'audio_sample' and 'speaker_embedding' are mutually exclusive"
)
return _create_speech_error_json_response("'audio_sample' and 'speaker_embedding' are mutually exclusive")
if speaker_embedding is not None:
result = await handler.upload_voice_embedding(speaker_embedding, consent, name)
elif audio_sample is not None:
@@ -1600,18 +1596,15 @@ async def upload_voice(
speaker_description=speaker_description,
)
else:
return _create_speech_error_json_response(
raw_request, "Either 'audio_sample' or 'speaker_embedding' must be provided"
)
return _create_speech_error_json_response("Either 'audio_sample' or 'speaker_embedding' must be provided")
return JSONResponse(content={"success": True, "voice": result})
except ValueError as e:
return _create_speech_error_json_response(raw_request, str(e))
return _create_speech_error_json_response(str(e))
except Exception as e:
logger.exception(f"Failed to upload voice: {e}")
return _create_speech_error_json_response(
raw_request,
f"Failed to upload voice: {str(e)}",
err_type="InternalServerError",
status_code=HTTPStatus.INTERNAL_SERVER_ERROR,
@@ -1644,7 +1637,6 @@ async def delete_voice(name: str, raw_request: Request):
handler = Omnispeech(raw_request)
if handler is None:
return _create_speech_error_json_response(
raw_request,
"The model does not support Speech API",
err_type="NotFoundError",
status_code=HTTPStatus.NOT_FOUND,
@@ -1655,7 +1647,6 @@ async def delete_voice(name: str, raw_request: Request):
success = await handler.delete_voice(name)
if not success:
return _create_speech_error_json_response(
raw_request,
f"Voice '{name}' not found",
err_type="NotFoundError",
status_code=HTTPStatus.NOT_FOUND,
@@ -1664,11 +1655,10 @@ async def delete_voice(name: str, raw_request: Request):
return JSONResponse(content={"success": True, "message": f"Voice '{name}' deleted successfully"})
except ValueError as e:
return _create_speech_error_json_response(raw_request, str(e))
return _create_speech_error_json_response(str(e))
except Exception as e:
logger.exception(f"Failed to delete voice '{name}': {e}")
return _create_speech_error_json_response(
raw_request,
f"Failed to delete voice: {str(e)}",
err_type="InternalServerError",
status_code=HTTPStatus.INTERNAL_SERVER_ERROR,