Repository navigation
feat!: move Qwen TTS to the 3.1 ids (flash, plus); drop qwen-tts and the 3.0 ids - #56
Conversation
|
Updating scope: also dropping `qwen-audio-3.0-tts-plus` and moving `qwen-audio-3.0-tts-flash` to `qwen-audio-3.1-tts-flash`. Alibaba doesn't ship a 3.1 `-plus` tier, so plus has no replacement and is removed rather than left orphaned on 3.0. This SDK now exposes exactly one Qwen (non-CosyVoice) model, matching what `background`'s compat map already terminates every qwen-family target_model on. `tsc --noEmit` clean, `vitest run` 207/207, `biome check --formatter-enabled=false` clean. |
|
Do not publish before new-api's dramatiq adaptor accepts |
neta-zjj
left a comment
There was a problem hiding this comment.
LGTM (7e29d3b). tsc clean, vitest 207/207, biome check .(含 formatter)现已干净。
发布门槛: new-api 适配器支持 qwen-audio-3.1-tts-flash 之前不要合并/发布(见上方评论)。顺序:background #110 → new-api → router #208 / 本 PR。cohub 升级到 0.2.0 时需同步改硬编码的 qwen-tts / qwen-audio-3.0-* id。
Nit:PR 描述里 "confirmed present ... safe to publish" 和 "biome --formatter-enabled=false" 两句已过时,建议更新。
qwen-tts was retired upstream on 2026-10-10, and the speech service already runs every Qwen speech id as qwen-audio-3.1-tts-flash. The SDK now declares only that id: qwen-tts and qwen-audio-3.0-tts-plus are removed, qwen-audio-3.0-tts-flash becomes qwen-audio-3.1-tts-flash, and every request needs at least 15 Unicode code points. Version 0.2.0. Rebased onto main after higgs-tts was removed there (0.1.42): the README's model-choice rows and the tests that used qwen-tts as sample data now use qwen-audio-3.1-tts-flash, the short-text note no longer points at higgs-tts, and the README says which ids this release removes.
7e29d3b to
1df5058
Compare
The product adds Alibaba's quality tier of Qwen-Audio-TTS. qwen-audio-3.1-tts-plus has the same request shape as 3.1-flash (voice_prompt design or one-reference clone, at least 15 Unicode code points), so both declarations now come from one helper and the adapter applies the Qwen checks to both ids. The README keeps Flash as the default and uses Plus only when the user or an external policy selects it. Alibaba describes Flash as low latency and Plus as quality, but the SDK has not measured either, and since 0.1.x the README has not asked agents to infer a ranking from model names. Each declaration's description says its tier, and both model YAMLs are regenerated from the built-ins.
Review follow-up: the descriptions now say what each tier is (Flash: default, Alibaba's low-latency tier; Plus: Alibaba's quality tier, only when the user or an external policy selects it), the README says the table names the default tier and Plus may replace it in any row, the Qwen request and input-length tests run over both ids, and the description test asserts literal strings.
Summary
qwen-ttswas retired upstream on 2026-10-10 (https://www.alibabacloud.com/en/notice/model_studio_notice_of_retirement_for_selected_legacy_models_7d9). The SDK now declares the two Qwen-Audio-TTS 3.1 ids and drops the older ones.Three commits on top of main:
1df5058collapses Qwen TTS toqwen-audio-3.1-tts-flash(rebased onto main on 2026-10-27, afterhiggs-ttswas removed in feat: remove higgs-tts from the built-in models and audio speech adapter #81 / 0.1.42). The README's model-choice rows point design, clone and default voice at 3.1-flash; the short-text note says input under 15 code points is rejected and the caller should lengthen it; the text-to-speech section names the removed ids.72789c3addsqwen-audio-3.1-tts-plus, Alibaba's quality tier. Both declarations come from one helper; the adapter applies the Qwen checks to both. The README keeps Flash as the default and uses Plus only when the user or an external policy selects it: Alibaba describes Flash as low latency and Plus as quality, but the SDK has not measured either, and the README has not asked agents to infer a ranking from model names since 0.1.x. Each declaration's description states its tier.d2c9128review follow-up: the descriptions say what each tier is (Flash: default, Alibaba's low-latency tier; Plus: Alibaba's quality tier, only when the user or an external policy selects it), the README says its table names the default tier, and the Qwen request and input-length tests run over both ids.Evidence
72789c3's source change (tests only): 8 tests fail, e.g.rejects qwen-audio-3.1-tts-plus input below 15 Unicode code points,sends qwen-audio-3.1-tts-plus as given,parses published model declaration files.After, on
d2c9128in node:24-slim: typecheck passes, vitest 403 passed (19 files),biome checkclean. Deliberate break: with plus removed from the adapter's Qwen set, 6 plus tests fail. Both model YAMLs are regenerated from the built-ins withstringifyBuiltinModelConfig. Live tests not run.Merge Danger
Door: two-way for the code; a published version stays.
Blast Radius: every caller of the three removed ids, once they upgrade to 0.2.0.
^0.1.xranges do not pick up 0.2.0, so nobody gets it without an explicit upgrade.qwen-audio-3.0-tts-plus) must rename it before upgrading, or its speech requests fail validation.qwen-audio-3.1-tts-flashandqwen-audio-3.1-tts-pluson the production channel, and the speech worker must pass plus through instead of rewriting it to flash.Supersedes #55 (closed; that PR's scope -- adding
qwen3-tts-vc-2026-01-22-- was wrong: that model is also on the 2026-10-10 retirement list).