Skip to content

fix(qwen3-tts): accept 'speaker' as alias for 'voice', fix embedding uploads#37

Merged
marksverdhei merged 1 commit into
htfrom
fix/speaker-voice-alias
Apr 5, 2026
Merged

fix(qwen3-tts): accept 'speaker' as alias for 'voice', fix embedding uploads#37
marksverdhei merged 1 commit into
htfrom
fix/speaker-voice-alias

Conversation

@marksverdhei
Copy link
Copy Markdown

Summary

Cherry-pick of upstream vllm-project/vllm-omni#2424 (still open upstream).

  • speaker JSON key accepted as alias for voice via pydantic AliasChoices
  • Safetensors-uploaded voices handled correctly (loads embedding instead of trying to base64-encode binary)
  • Embedding cache readiness validation for uploaded voices
  • Fix request_id undefined in create_speech

Fixes the error: Base task requires 'ref_audio' or 'speaker_embedding' for voice cloning when using named voices with Base model.

Test plan

  • Verify speaker key works in TTS requests
  • Verify voice key still works
  • Verify embedding-uploaded voices load correctly

🤖 Generated with Claude Code

…uploads

Cherry-pick of upstream vllm-project#2424:
- Add validation_alias=AliasChoices("voice", "speaker") to voice field
- Handle safetensors-uploaded voices correctly in _build_tts_params
- Add _get_uploaded_speaker_embedding method for embedding-based voices
- Validate embedding cache readiness for uploaded voices
- Fix request_id undefined in create_speech

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@marksverdhei marksverdhei merged commit d6fb908 into ht Apr 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant