Skip to content

feat!: replace qwen-tts with qwen3-tts-vc-2026-01-22 - #55

Closed
LingXuanYin wants to merge 1 commit into
mainfrom
feat/qwen3-tts-voice-clone
Closed

LingXuanYin wants to merge 1 commit into
mainfrom
feat/qwen3-tts-voice-clone

Conversation

@LingXuanYin

Copy link
Copy Markdown
Collaborator

Summary

  • qwen-tts is retiring on DashScope (2026-10-10). Replaces it with qwen3-tts-vc-2026-01-22, the long-term-supported voice-clone model on the worker side (background/tasks/qwen_tts_actor.py).
  • qwen3-tts-vc-2026-01-22 is clone-only (no voice-design mode exists for this DashScope model family), so it gets its own adapter validate/buildPayload path instead of joining QWEN_MODELS.
  • qwen-audio-3.0-tts-plus/-flash are untouched — already live/shipped, unrelated to this migration.
  • cosyvoice-v3.5 is intentionally not added: it never shipped (only existed on the now-closed feat!: replace qwen-tts with cosyvoice-v3.5-plus/flash #48), so there is nothing to keep exposed here. The worker independently keeps serving it for any caller with a pinned target_model.

Replaces

Closes #48, which targeted cosyvoice-v3.5 instead — superseded by the qwen3-tts-vc direction above.

Test plan

  • pnpm test (vitest run) — 214 passed
  • pnpm typecheck (tsc --noEmit) — clean
  • models/qwen3-tts-vc-2026-01-22.yaml generated via neta-generation models export and verified to round-trip against the runtime declaration

qwen-tts is retiring on DashScope (2026-10-10); qwen3-tts-vc-2026-01-22 is
the long-term-supported replacement on the worker side (see
background/tasks/qwen_tts_actor.py). Unlike qwen-tts, the new model is
clone-only -- no voice-design mode exists for this DashScope model family
-- so it gets its own adapter validate/buildPayload path instead of
joining QWEN_MODELS (which still covers qwen-audio-3.0-tts-plus/flash,
unaffected by this migration, design+clone dual mode retained as-is).

cosyvoice-v3.5 is not included: it was never shipped (only ever existed on
an abandoned PR), so there's nothing to keep exposed. The worker
independently keeps serving it for any caller with a pinned target_model.
@LingXuanYin

Copy link
Copy Markdown
Collaborator Author

Reverting this: further verification against Alibaba's own retirement notices shows qwen3-tts-vc-2026-01-22 is ALSO scheduled to retire on 2026-10-10 (same day as qwen-tts), with cosyvoice-v3.5-plus as the officially documented replacement:

Corrected direction: cosyvoice-v3.5-plus/-flash share the exact same wire shape as qwen-tts (same voice-enrollment creation model, same SpeechSynthesizer endpoint/fields) -- so this SDK's qwen-tts declaration needs no change at all; the model swap happens entirely downstream in background/new-api. Closing this PR since there is no SDK-level change to make.

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