#20078 [Bug]: `/v1/audio/speech` fails for Qwen3-TTS: `voice` parameter mandatory and custom parameters are stripped
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
When using LiteLLM Proxy to serve a TTS model (specifically **Qwen3-TTS** via vLLM), the `/v1/audio/speech` endpoint fails because it expects the `voice` parameter to be mandatory. However, for Qwen3-TTS voice cloning, this parameter is not required by the engine.
Furthermore, if a dummy `voice` value is provided to bypass the error, LiteLLM strips out necessary custom parameters (like `ref_audio`, `ref_text`, and `task_type`) before forwarding the request to vLLM.
Info: https://docs.vllm.ai/projects/vllm-omni/en/latest/user_guide/examples/online_serving/qwen3_tts/
### Steps to Reproduce
1. Configure LiteLLM proxy with a vLLM TTS model: ```yaml model_list: - model_name: qwen3-tts litellm_params: api_base: http://myserver/v1 model: hosted_vllm/Qwen/Qwen3-TTS-12Hz-1.7B-Base ```
2. Make a request to `/v1/audio/speech` without a `voice` parameter. ``` curl -X POST https://litellm-server/v1/audio/speech \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <secret-…