$npx -y skills add cinience/alicloud-skills --skill aliyun-qwen-tts-voice-cloneUse when cloning voices with Alibaba Cloud Model Studio Qwen TTS VC models. Use when creating cloned voices from sample audio and synthesizing text with cloned timbre.
| 1 | Category: provider |
| 2 | |
| 3 | # Model Studio Qwen TTS Voice Clone |
| 4 | |
| 5 | Use voice cloning models to replicate timbre from enrollment audio samples. |
| 6 | |
| 7 | ## Critical model names |
| 8 | |
| 9 | Use one of these exact model strings: |
| 10 | - `qwen3-tts-vc-2026-01-22` |
| 11 | - `qwen3-tts-vc-realtime-2026-01-15` |
| 12 | |
| 13 | ## Prerequisites |
| 14 | |
| 15 | - Install SDK in a virtual environment: |
| 16 | |
| 17 | ```bash |
| 18 | python3 -m venv .venv |
| 19 | . .venv/bin/activate |
| 20 | python -m pip install dashscope |
| 21 | ``` |
| 22 | - Set `DASHSCOPE_API_KEY` in your environment, or add `dashscope_api_key` to `~/.alibabacloud/credentials`. |
| 23 | |
| 24 | ## Normalized interface (tts.voice_clone) |
| 25 | |
| 26 | ### Request |
| 27 | - `text` (string, required) |
| 28 | - `voice_sample` (string | bytes, required) enrollment sample |
| 29 | - `voice_name` (string, optional) |
| 30 | - `stream` (bool, optional) |
| 31 | |
| 32 | ### Response |
| 33 | - `audio_url` (string) or streaming PCM chunks |
| 34 | - `voice_id` (string) |
| 35 | - `request_id` (string) |
| 36 | |
| 37 | ## Operational guidance |
| 38 | |
| 39 | - Use clean speech samples with low background noise. |
| 40 | - Respect consent and policy requirements for cloned voices. |
| 41 | - Persist generated `voice_id` and reuse for future synthesis requests. |
| 42 | |
| 43 | ## Local helper script |
| 44 | |
| 45 | Prepare a normalized request JSON and validate response schema: |
| 46 | |
| 47 | ```bash |
| 48 | .venv/bin/python skills/ai/audio/aliyun-qwen-tts-voice-clone/scripts/prepare_voice_clone_request.py \ |
| 49 | --text "Welcome to this voice-clone demo" \ |
| 50 | --voice-sample "https://example.com/voice-sample.wav" |
| 51 | ``` |
| 52 | |
| 53 | ## Output location |
| 54 | |
| 55 | - Default output: `output/ai-audio-tts-voice-clone/audio/` |
| 56 | - Override base dir with `OUTPUT_DIR`. |
| 57 | |
| 58 | ## Validation |
| 59 | |
| 60 | ```bash |
| 61 | mkdir -p output/aliyun-qwen-tts-voice-clone |
| 62 | for f in skills/ai/audio/aliyun-qwen-tts-voice-clone/scripts/*.py; do |
| 63 | python3 -m py_compile "$f" |
| 64 | done |
| 65 | echo "py_compile_ok" > output/aliyun-qwen-tts-voice-clone/validate.txt |
| 66 | ``` |
| 67 | |
| 68 | Pass criteria: command exits 0 and `output/aliyun-qwen-tts-voice-clone/validate.txt` is generated. |
| 69 | |
| 70 | ## Output And Evidence |
| 71 | |
| 72 | - Save artifacts, command outputs, and API response summaries under `output/aliyun-qwen-tts-voice-clone/`. |
| 73 | - Include key parameters (region/resource id/time range) in evidence files for reproducibility. |
| 74 | |
| 75 | ## Workflow |
| 76 | |
| 77 | 1) Confirm user intent, region, identifiers, and whether the operation is read-only or mutating. |
| 78 | 2) Run one minimal read-only query first to verify connectivity and permissions. |
| 79 | 3) Execute the target operation with explicit parameters and bounded scope. |
| 80 | 4) Verify results and save output/evidence files. |
| 81 | |
| 82 | ## References |
| 83 | |
| 84 | - `references/sources.md` |