From 28c2200b47c9ae8acb87ad761462fe20b7290db0 Mon Sep 17 00:00:00 2001 From: Lidang Jiang <119769478+Lidang-Jiang@users.noreply.github.com> Date: Thu, 5 Mar 2026 23:38:20 +0800 Subject: [PATCH] [BugFix] Return proper HTTP status for ErrorResponse in create_speech (#1687) Signed-off-by: Lidang-Jiang --- vllm_omni/entrypoints/openai/api_server.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/vllm_omni/entrypoints/openai/api_server.py b/vllm_omni/entrypoints/openai/api_server.py index 84a81a861..5b1f25824 100644 --- a/vllm_omni/entrypoints/openai/api_server.py +++ b/vllm_omni/entrypoints/openai/api_server.py @@ -855,7 +855,13 @@ async def create_speech(request: OpenAICreateSpeechRequest, raw_request: Request ) return base_server.create_error_response(message="The model does not support Speech API") try: - return await handler.create_speech(request, raw_request) + result = await handler.create_speech(request, raw_request) + if isinstance(result, ErrorResponse): + return JSONResponse( + content=result.model_dump(), + status_code=result.error.code if result.error else 400, + ) + return result except Exception as e: raise HTTPException(status_code=HTTPStatus.INTERNAL_SERVER_ERROR.value, detail=str(e)) from e