Alibaba
Qwen Audio 3.0 TTS
qwen-audio-3.0-tts-plus
Alibaba Tongyi's managed multilingual speech synthesis series, with two tiers—low-latency Flash and high-quality Plus—supporting natural language instructions to control emotion and expressive style
Try qwen-audio-3.0-tts-plus
Input
Output
Pricing
qwen-audio-3.0-tts-plus per 1,000 characters
| Unit Price | $0.040 |
|---|
Positioning Overview
Qwen Audio 3.0 TTS Plus is the hosted model in Alibaba's Qwen Audio 3.0 TTS series aimed at high-quality speech generation. It is called through the unified HiAPI.ai interface, and text input is turned into natural, faithful speech output. It supports multilingual synthesis of long text, allows natural-language instructions to guide emotion and expressive style, and offers parameter controls such as speech rate, pitch, volume, sample rate, and output format. It is suited to generative scenarios where audio quality and timbre performance matter more than real-time responsiveness, such as spoken-word content, course narration, customer-service announcements, and multilingual dubbing.
Core Highlights
- A Plus tier focused on audio quality — compared with the Flash model in the same series, it emphasizes naturalness and timbre fidelity more, making it suitable for offline or batch speech production that does not require strict real-time performance.
- Instruction-based control of expressive style — synthesis instructions can describe emotion and delivery, reducing rework from segment-by-segment auditioning and post-editing.
- Up to 20,000 characters of text per synthesis — a single task accepts up to 20,000 Unicode code points, so long documents can be submitted in one piece, reducing segment stitching and boundary handling.
- Finely tunable output parameters — speech rate, pitch, and volume are all adjustable within ranges, and sample rate and container format are selectable, making it easy to integrate with downstream audio pipelines.
Capability Details
Multilingual speech synthesis: supports synthesis prompts for more than ten languages, so a single integration can generate speech for Chinese, English, Japanese, Korean, and other multilingual content, lowering the cost of integrating multilingual content.
Natural-language instruction-guided style: synthesis instructions describe tone, emotion, and delivery, letting the same text produce different narration styles without changing the voice or post-processing.
Audio parameter control: speech rate, pitch, volume, and output sample rate can be set, and output formats such as mp3, wav, pcm, and opus can be chosen as needed, making it convenient to connect directly to playback or transcoding pipelines.
Deterministic synthesis: a random seed can be set to reproduce consistent synthesis results for the same text, which helps with regression testing and content version management.
Adjustable Opus bitrate: the bitrate can be specified when outputting Opus, balancing audio quality and file size in bandwidth-sensitive distribution scenarios.
Applicable Scenarios
- Turning manuscripts into speech for spoken-content creators — submit a long article or chapter text once and produce audio that can be published directly on podcast and audiobook platforms, reducing segment synthesis and stitching work.
- Course-script narration for online education providers — synthesize course scripts into consistently styled instructional audio for courseware voiceover and review audio, shortening the recording cycle.
- Announcement script generation for customer-service teams — convert standardized script text into audio assets for fixed announcements in call centers and self-service channels.
- Cross-language dubbing for content teams — use language prompts to generate corresponding speech for multilingual versions of scripts, for localization of product introductions and marketing materials.
Limitations and Selection Advice
The Plus tier prioritizes audio quality over speed and is slower than the Flash model in the same series, so it is not suitable for real-time conversation scenarios that are sensitive to first-packet latency; such needs should prioritize Flash. Currently only two system voices are offered, and designing voices from text descriptions is not supported; voice cloning capability is not available on all channels, so confirm before integration. In addition, it is a hosted synthesis service and does not offer self-hosted deployment; if localized deployment or deep model customization is required, a different choice should be made.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: qwen-audio-3.0-tts-plus
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for qwen-audio-3.0-tts-plus and route default — see the parameter table below.
ratenumberOptionalDefault: 1min 0.5max 2Speech rate multiplier, numeric; default 1.
seedintegerOptionalDefault: 0min 0max 65535Random seed for deterministic synthesis, integer; default 0, synthesis results are reproducible with the same seed.
textstringRequiredminLength 1maxLength 20000The text content to synthesize; a single request accepts up to 20,000 Unicode code points, and upstream billing counts CJK ideographs as two characters and other characters as one character.
pitchnumberOptionalDefault: 1min 0.5max 2Pitch multiplier, numeric; default 1.
voicestringRequiredDefault: "longanlingxin"The official system voice to use, string, voices supported by the Plus tier; default longanlingxin.
longanlingxinlonganlufengformatstringOptionalDefault: "mp3"The container format or raw PCM format of the output audio, string; default mp3.
pcmwavmp3opusvolumeintegerOptionalDefault: 50min 0max 100Output volume, integer from 0 to 100; default 50.
bit_rateintegerOptionalDefault: 32min 6max 510Opus encoding bitrate in kbps, integer; default 32, only effective when format is opus.
instructionstringOptionalminLength 1Optional synthesis instruction, string, used to add notes to the synthesis result; when not provided, the default synthesis behavior is used.
sample_rateintegerOptionalDefault: 22050Output audio sample rate in Hz, integer; default 22050.
80001600022050240004410048000language_hintsarrayOptionalminItems 1maxItems 1Optional array of language hints, whose elements are language hint strings; upstream only processes the first element in the array.
Array [ string ]
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-audio-3.0-tts-plus",
"input": {
"rate": 1,
"seed": 0,
"text": "…",
"pitch": 1,
"voice": "longanlingxin",
"format": "mp3",
"volume": 50,
"bit_rate": 32,
"sample_rate": 22050
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen-audio-3.0-tts-plus",
input: {
"rate": 1,
"seed": 0,
"text": "…",
"pitch": 1,
"voice": "longanlingxin",
"format": "mp3",
"volume": 50,
"bit_rate": 32,
"sample_rate": 22050
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "qwen-audio-3.0-tts-plus",
"input": {
"rate": 1,
"seed": 0,
"text": "…",
"pitch": 1,
"voice": "longanlingxin",
"format": "mp3",
"volume": 50,
"bit_rate": 32,
"sample_rate": 22050
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Lyria 3.5 Google $0.090 /song -
MiniMax Music 1.5 MiniMax $0.070 /song -
MiniMax Music 3 MiniMax $0.0026 /second -
Qwen Audio 3.0 TTS Alibaba $0.030 /1,000 characters -
MiniMax Music 2.6 MiniMax $0.210 /song -
ElevenLabs ElevenLabs $0.0029 /second -
Mirelo SFX 2.0 Mirelo AI $0.021 /second -
Lyria 3 Pro Google $0.140 /song -
Gemini 3.1 Flash TTS Google -- -
Mureka 9.5 Mureka $0.322 per request
Same Provider
-
HappyHorse 1.0 Alibaba $0.168 /second -
Qwen Image 3.0 Alibaba $0.036 /image -
HappyHorse 1.1 Alibaba $0.160 /second -
Wan 2.6 Flash Alibaba $0.043 /second -
Z-Image Alibaba $0.008 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
Wan 3.0 Video Alibaba $0.040 /second -
Qwen Image 2.1 Alibaba $0.020 /image -
Qwen Audio 3.0 TTS Alibaba $0.030 /1,000 characters -
Wan 2.7 Image Alibaba $0.035 /image -
Wan 2.7 Video Alibaba $0.100 /second