Skip to main content
Speech synthesis

Non-real-time speech synthesis

Non-real-time speech synthesis converts text to speech through the HTTP API. It is designed for latency-tolerant scenarios such as audiobook production, online education voiceovers, and content creation, and supports a wide range of voices, multiple languages, voice cloning, and voice design.

Overview

Convert complete text into audio files through the HTTP API. Two output modes are available: non-streaming and streaming.
  • Non-streaming returns an audio file URL valid for 24 hours; streaming returns audio data in chunks.
  • Multiple languages are supported, including Chinese dialects.
  • Supports Voice cloning and Voice Design for creating custom voices.
  • Supports Instruction control to control speech expressiveness through natural language instructions.
For low-latency streaming scenarios, see Real-time speech synthesis. For model selection recommendations, see Speech synthesis. Audio synthesized on the voice design page in the Model Studio console can only be previewed online and cannot be downloaded as an audio file. To download the audio, call the API or the SDK. In non-streaming mode, the response returns an audio file URL valid for 24 hours.

Prerequisites

Before you begin, complete the following preparations:

Quick start

The following tabs demonstrate speech synthesis for each model series. For more language examples and detailed parameter descriptions, see API reference.
  • Qwen-TTS
All examples in this section use system voices.
  • Non-streaming output
  • Streaming output
In non-streaming mode, the response contains a url field that points to the synthesized audio file. The URL is valid for 24 hours.
  • Python
  • Java
  • cURL
import os
import dashscope

# The following is the configuration for the Singapore region.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

text = "Today is a wonderful day to build something people love!"
# Interface usage: dashscope.MultiModalConversation.call(...)
response = dashscope.MultiModalConversation.call(
    # To use the instruction control feature, replace model with qwen3-tts-instruct-flash
    model="qwen3-tts-flash",
    # The API Keys for the Singapore and Beijing regions are different. Get an API Key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # If you have not configured the environment variable, replace the following line with your Model Studio API Key: api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    text=text,
    voice="Cherry",
    language_type="English", # We recommend matching this with the language of the text for correct pronunciation and natural intonation.
    # To use the instruction control feature, uncomment the lines below and replace model with qwen3-tts-instruct-flash
    # instructions='Fast-paced speech with noticeable upward intonation, ideal for presenting fashion products.',
    # optimize_instructions=True,
    stream=False
)
print(response)

Advanced features

Instruction control

Instruction specifications by model:
  • Qwen-TTS
Supported models: Only Qwen3-TTS-Instruct-Flash series models are supported.Usage: Pass the instruction content through the instructions parameter.Supported languages for instruction text: Only Chinese and English are supported.Instruction text length limit: Up to 1,600 tokens.

Dialects

This section describes how to generate speech in Chinese dialects (such as Henan dialect and Sichuan dialect). The configuration method varies by model and voice type.
  • Qwen-TTS
  • System voices: Use system voices that support dialects. See Qwen-TTS voice list.
  • Voice cloning voices: Dialects are not supported.
  • Voice design voices: Dialects are not supported.
Supported dialects: See the "Supported languages" section for each model in Qwen3-TTS.

Supported models and regions

  • Singapore
  • China (Beijing)
To call the following models, use an API key for the Singapore region:
  • Qwen-TTS:
    • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash (stable version, currently equivalent to qwen3-tts-instruct-flash-2026-01-26), qwen3-tts-instruct-flash-2026-01-26 (latest snapshot)
    • Qwen3-TTS-VD: qwen3-tts-vd-2026-01-26 (latest snapshot)
    • Qwen3-TTS-VC: qwen3-tts-vc-2026-01-22 (latest snapshot)
    • Qwen3-TTS-Flash: qwen3-tts-flash (stable version, currently equivalent to qwen3-tts-flash-2025-11-27), qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Supported system voices

Different models support different voices. Set the voice request parameter to a value from the voice parameter column in the following tables.

API reference

FAQ

Q: How long is the audio file URL valid?

A: The audio file URL is valid for 24 hours after generation. After the URL expires, call the API again to obtain a new URL.
Token Plan
Model Playground
Statistics and Monitoring
Support
Non-real-time speech synthesis - Alibaba Cloud Model Studio