Generate Qwen images through DashScope with normalized requests, responses, and saved run evidence.
Design & media
Alibaba Cloud AI Audio TTS
Convert text into WAV audio URLs or streamed 24 kHz PCM using DashScope Qwen TTS models.
What it does
Generate speech from text with DashScope Qwen TTS, choosing a required voice and an optional language or delivery instruction. Non-streaming calls return a WAV audio URL; streaming calls return Base64-encoded 24 kHz PCM chunks. Save links, samples, request payloads, and a validation log under the configured output directory.
When to use it
- Narration from short text
- Voice lines with tone instructions
- Streaming PCM audio playback
- Repeatable TTS generation with saved evidence
The skill document
Category: provider
Model Studio Qwen TTS
Validation
mkdir -p output/alicloud-ai-audio-tts
python -m py_compile skills/ai/audio/alicloud-ai-audio-tts/scripts/generate_tts.py && echo "py_compile_ok" > output/alicloud-ai-audio-tts/validate.txt
Pass criteria: command exits 0 and output/alicloud-ai-audio-tts/validate.txt is generated.
Output And Evidence
- Save generated audio links, sample audio files, and request payloads to
output/alicloud-ai-audio-tts/. - Keep one validation log per execution.
Critical model names
Use one of the recommended models:
qwen3-tts-flashqwen3-tts-instruct-flashqwen3-tts-instruct-flash-2026-01-26
Prerequisites
- Install SDK (recommended in a venv to avoid PEP 668 limits):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install dashscope
- Set
DASHSCOPE_API_KEYin your environment, or adddashscope_api_keyto~/.alibabacloud/credentials(env takes precedence).
Normalized interface (tts.generate)
Request
text(string, required)voice(string, required)language_type(string, optional; defaultAuto)instruction(string, optional; recommended for instruct models)stream(bool, optional; default false)
Response
audio_url(string, when stream=false)audio_base64_pcm(string, when stream=true)sample_rate(int, 24000)format(string, wav or pcm depending on mode)
Quick start (Python + DashScope SDK)
import os
import dashscope
# Prefer env var for auth: export DASHSCOPE_API_KEY=...
# Or use ~/.alibabacloud/credentials with dashscope_api_key under [default].
# Beijing region; for Singapore use: https://dashscope-intl.aliyuncs.com/api/v1
dashscope.base_http_api_url = "https://dashscope.aliyuncs.com/api/v1"
text = "Hello, this is a short voice line."
response = dashscope.MultiModalConversation.call(
model="qwen3-tts-instruct-flash",
api_key=os.getenv("DASHSCOPE_API_KEY"),
text=text,
voice="Cherry",
language_type="English",
instruction="Warm and calm tone, slightly slower pace.",
stream=False,
)
audio_url = response.output.audio.url
print(audio_url)
Streaming notes
stream=Truereturns Base64-encoded PCM chunks at 24kHz.- Decode chunks and play or concatenate to a pcm buffer.
- The response contains
finish_reason == "stop"when the stream ends.
Operational guidance
- Keep requests concise; split long text into multiple calls if you hit size or timeout errors.
- Use
language_typeconsistent with the text to improve pronunciation. - Use
instructiononly when you need explicit style/tone control. - Cache by
(text, voice, language_type)to avoid repeat costs.
Output location
- Default output:
output/alicloud-ai-audio-tts/audio/ - Override base dir with
OUTPUT_DIR.
Workflow
- Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.
- Run one minimal read-only query first to verify connectivity and permissions.
- Execute the target operation with explicit parameters and bounded scope.
- Verify results and save output/evidence files.
References
-
references/api_reference.mdfor parameter mapping and streaming example. -
Realtime mode is provided by
skills/ai/audio/alicloud-ai-audio-tts-realtime/. -
Voice cloning/design are provided by
skills/ai/audio/alicloud-ai-audio-tts-voice-clone/andskills/ai/audio/alicloud-ai-audio-tts-voice-design/. -
Source list:
references/sources.md
Questions people ask
- Which Qwen TTS models can I use?
- The recommended models are `qwen3-tts-flash`, `qwen3-tts-instruct-flash`, and `qwen3-tts-instruct-flash-2026-01-26`.
- What does the generation call return?
- With `stream=false`, it returns an audio URL in WAV format. With `stream=true`, it returns Base64-encoded PCM chunks at a 24 kHz sample rate and signals completion with `finish_reason == "stop"`.
- How is DashScope authentication configured?
- Set `DASHSCOPE_API_KEY` in the environment, or add `dashscope_api_key` to `~/.alibabacloud/credentials`. The environment variable takes precedence.
Related skills
Generate narration, cloned voices, sound effects, and music from text prompts.
Generate Wan text-to-video and image-to-video through a normalized DashScope Python interface.
Generate Mandarin or English speech from text with selectable Gemini 2.5 TTS voices.
Turn written replies into concise, normalized text that TTS engines can read naturally.
Convert Chinese or English text into speech with selectable voices and playback speeds.