From 541f06c60d1c66b962c9ec40f7c4e60cb26a9e4c Mon Sep 17 00:00:00 2001 From: YU XINYUAN Date: Fri, 12 Jun 2026 11:19:48 +0800 Subject: [PATCH] [Bugfix] Fix Qwen3-TTS gradio streaming TTFP by using audio/pcm (#4346) Signed-off-by: YU Xinyuan Co-authored-by: YU Xinyuan Co-authored-by: Yueqian Lin <70319226+linyueqian@users.noreply.github.com> --- .../online_serving/text_to_speech/qwen3_tts/gradio_demo.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/online_serving/text_to_speech/qwen3_tts/gradio_demo.py b/examples/online_serving/text_to_speech/qwen3_tts/gradio_demo.py index 8b39b9eab..3c99a82d3 100644 --- a/examples/online_serving/text_to_speech/qwen3_tts/gradio_demo.py +++ b/examples/online_serving/text_to_speech/qwen3_tts/gradio_demo.py @@ -408,7 +408,10 @@ def create_app(api_base: str): await resp.aclose() await client.aclose() - return StreamingResponse(relay(), media_type="application/octet-stream") + # Use audio/pcm to bypass browsers (e.g. Chromium) MIME type sniffing, which + # buffers application/octet-stream responses before delivering chunks to + # fetch().body.getReader(), inflating TTFP to total_ms. + return StreamingResponse(relay(), media_type="audio/pcm") # ── Gradio UI ──────────────────────────────────────────────── voices = fetch_voices(api_base)