models

qwen-audio-3.0-tts-plus

Markdown · JSON

qwen-audio-3.0-tts-plus

An expressive text-to-speech model for videos, audiobooks and voice content. Supports control over speaking style and selection of a preset voice or one created from a sample.

About the model

This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.

Qwen-Audio-3.0-TTS-Plus turns text into expressive speech. Alibaba positions it for professional narration of content, audiobooks, videos and material with a recognizable vocal character. Text is supplied as input and audio is generated as output; audio can also be delivered incrementally during synthesis.

Speaking style as part of the prompt

Delivery can be specified using natural-language instructions and detailed control annotations. They define emotion, tone, character, pace, volume and speaking style. This allows the performance of the same phrase to be directed from calm narration to a more energetic or emotional delivery.

Expressiveness depends on the selected voice and the text's content. For consistent pronunciation, the language of the material must match the languages supported by the voice. The model is intended to voice written material; analysis of conversational meaning and transcription of an original recording are other audio tasks.

Preset voices and voices based on a sample

There are two system voices: a warm female voice and a cheerful male voice. They support Chinese and English. More than 500 base voices and the ability to reproduce a voice from a speech sample are also provided. The manufacturer recommends the system options when consistent vocal output is required.

Sample-based voices support Chinese with regional pronunciation variants, English, French, German, Japanese, Korean, Russian, Portuguese, Thai, Indonesian, Vietnamese, Italian, Spanish, Malay, Filipino and Arabic. This language support belongs to that mode; it does not automatically apply to every preset voice.

Sample requirements concern the manufacturer's separate voice creation method; speech synthesis uses a voice that has already been prepared. The prepared voice must match the selected text-to-speech model: using another model's voice results in a synthesis error with the manufacturer. A clean speech sample lasting 10–20 seconds is recommended. The overall limit is 60 seconds and 10 MB, with at least five seconds of continuous speech required. WAV with a 16-bit representation, MP3 and M4A are supported at a sample rate of at least 16 kHz. One or two channels are allowed, but only the first is used when there are two.

The speech sample must contain a single voice without people speaking simultaneously, music or singing. The manufacturer's requirements limit short pauses in the sample to two seconds. This helps identify the timbre and pronunciation characteristics needed for subsequent synthesis. Delivery control and sample-based voice reproduction describe different aspects of the model and can be used to prepare the sound of the same material.

Ailoot · Text to speech POST /v1/audio/speech qwen-audio-3.0-tts-plus

qwen-audio-3.0-tts-plus

Alibaba /qwen-audio-3.0-tts-plus
Model ID
  • qwen-audio-3.0-tts-plus
  • qwen-tts
  • qwen-tts-latest

Overview

An expressive text-to-speech model for videos, audiobooks and voice content. Supports control over speaking style and selection of a preset voice or one created from a sample.

Accepted inputs
Text
Results
speech

Available in Ailoot · inputs & methods

Ailoot · Text to speech POST /v1/audio/speech
Input types
text
Output types
speech
Output format
selectedmp3/wav/pcm
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
qwen-audio-3.0-tts-plus
Default—
FieldinputTypestringRequirementRequiredValues & limits
Minimum length: 1
Maximum length: 600
Unit: Unicode characters
Default—
FieldvoiceTypestringRequirementOptionalValues & limits
Examples: longanlingxin, longanlufeng
Accepted custom pattern: ^qwen-audio-3\.0-tts-plus-
Conditions: Actual custom voice IDs with exactqwen-audio-3.0-tts-plus- prefix are accepted.
Defaultlonganlingxin
Fieldresponse_formatTypestringRequirementOptionalValues & limits
mp3, wav, pcm
Defaultmp3
Fieldsample_rateTypeintegerRequirementOptionalValues & limits
16,000, 24,000, 48,000
Unit: Hz
Default24,000
Input material combinations

text_to_speech · Required: input

Method parameters and lifecycle
ParameterContract
Parametermaterial_typesContracttext
ParameterrequiredContractnull
Parameteroptional_controlsContractnull

Lifecycle: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · actual returned task_id or media library record

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Method shapes and IDs are exact; supplier capability is separate from admission.

Pricing

Ailoot method rates

Ailoot Text to speechPOST /v1/audio/speech
Input
$20.00 per 1 million characters
Output
$0.00 per request

$20.00 per 1 million billable characters. A CJK ideograph counts as 2 billable characters: $40.00 per 1 million ideographs. Weight of other Unicode characters: 1. Output audio: $0.00.

Exact conditional metering rules from the catalog
{
  "cjk_ideograph_weight": 2,
  "input_usd_per_10000_counted_characters": 0.2,
  "other_unicode_character_weight": 1,
  "output_audio_usd": 0,
  "unit": "counted_unicode_characters"
}

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →

Example requests

Ailoot · Text to speech

Speech example
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen-audio-3.0-tts-plus", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]=text
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o speech.mp3

Receive and save results

Ailoot · Text to speech

selectedmp3/wav/pcm

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Keep all completed results

Keep every complete returned response, file and content part.

Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.

If the original response needs checking

Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.

Response fields
FieldType
Fieldbinary audioTypebytes
Fieldresponse headersTypeheaders
Errors and next steps
ResponseConditionNext step
Response400 · invalid_request_errorConditionInvalid required fields, material representation or parameter valueNext stepCorrect the indicated fields before a new creation request.
Responseserver_errorConditionThe returned response says the operation or result requires a checkNext stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request.

Aliases

Model aliases

Ailoot qwen-audio-3.0-tts-plus, qwen-tts, qwen-tts-latest

Method path aliases

Use the method paths shown above.

Related caller IDs

qwen-audio-3.0-tts-plus, qwen-tts, qwen-tts-latest

Ailoot · Text to speech POST /v1/audio/speech qwen-tts

qwen-tts

Alibaba /qwen-tts
Model ID
  • qwen-audio-3.0-tts-plus
  • qwen-tts
  • qwen-tts-latest

Overview

An expressive text-to-speech model for videos, audiobooks and voice content. Supports control over speaking style and selection of a preset voice or one created from a sample.

Accepted inputs
Text
Results
speech

Available in Ailoot · inputs & methods

Ailoot · Text to speech POST /v1/audio/speech
Input types
text
Output types
speech
Output format
selectedmp3/wav/pcm
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
qwen-tts
Default—
FieldinputTypestringRequirementRequiredValues & limits
Minimum length: 1
Maximum length: 600
Unit: Unicode characters
Default—
FieldvoiceTypestringRequirementOptionalValues & limits
Examples: longanlingxin, longanlufeng
Accepted custom pattern: ^qwen-audio-3\.0-tts-plus-
Conditions: Actual custom voice IDs with exactqwen-audio-3.0-tts-plus- prefix are accepted.
Defaultlonganlingxin
Fieldresponse_formatTypestringRequirementOptionalValues & limits
mp3, wav, pcm
Defaultmp3
Fieldsample_rateTypeintegerRequirementOptionalValues & limits
16,000, 24,000, 48,000
Unit: Hz
Default24,000
Input material combinations

text_to_speech · Required: input

Method parameters and lifecycle
ParameterContract
Parametermaterial_typesContracttext
ParameterrequiredContractnull
Parameteroptional_controlsContractnull

Lifecycle: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · actual returned task_id or media library record

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Method shapes and IDs are exact; supplier capability is separate from admission.

Pricing

Ailoot method rates

Ailoot Text to speechPOST /v1/audio/speech
Input
$20.00 per 1 million characters
Output
$0.00 per request

$20.00 per 1 million billable characters. A CJK ideograph counts as 2 billable characters: $40.00 per 1 million ideographs. Weight of other Unicode characters: 1. Output audio: $0.00.

Exact conditional metering rules from the catalog
{
  "cjk_ideograph_weight": 2,
  "input_usd_per_10000_counted_characters": 0.2,
  "other_unicode_character_weight": 1,
  "output_audio_usd": 0,
  "unit": "counted_unicode_characters"
}

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →

Example requests

Ailoot · Text to speech

Speech example
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen-tts", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]=text
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o speech.mp3

Receive and save results

Ailoot · Text to speech

selectedmp3/wav/pcm

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Keep all completed results

Keep every complete returned response, file and content part.

Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.

If the original response needs checking

Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.

Response fields
FieldType
Fieldbinary audioTypebytes
Fieldresponse headersTypeheaders
Errors and next steps
ResponseConditionNext step
Response400 · invalid_request_errorConditionInvalid required fields, material representation or parameter valueNext stepCorrect the indicated fields before a new creation request.
Responseserver_errorConditionThe returned response says the operation or result requires a checkNext stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request.

Aliases

Model aliases

Ailoot qwen-audio-3.0-tts-plus, qwen-tts, qwen-tts-latest

Method path aliases

Use the method paths shown above.

Related caller IDs

qwen-audio-3.0-tts-plus, qwen-tts, qwen-tts-latest

Ailoot · Text to speech POST /v1/audio/speech qwen-tts-latest

qwen-tts-latest

Alibaba /qwen-tts-latest
Model ID
  • qwen-audio-3.0-tts-plus
  • qwen-tts
  • qwen-tts-latest

Overview

An expressive text-to-speech model for videos, audiobooks and voice content. Supports control over speaking style and selection of a preset voice or one created from a sample.

Accepted inputs
Text
Results
speech

Available in Ailoot · inputs & methods

Ailoot · Text to speech POST /v1/audio/speech
Input types
text
Output types
speech
Output format
selectedmp3/wav/pcm
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
qwen-tts-latest
Default—
FieldinputTypestringRequirementRequiredValues & limits
Minimum length: 1
Maximum length: 600
Unit: Unicode characters
Default—
FieldvoiceTypestringRequirementOptionalValues & limits
Examples: longanlingxin, longanlufeng
Accepted custom pattern: ^qwen-audio-3\.0-tts-plus-
Conditions: Actual custom voice IDs with exactqwen-audio-3.0-tts-plus- prefix are accepted.
Defaultlonganlingxin
Fieldresponse_formatTypestringRequirementOptionalValues & limits
mp3, wav, pcm
Defaultmp3
Fieldsample_rateTypeintegerRequirementOptionalValues & limits
16,000, 24,000, 48,000
Unit: Hz
Default24,000
Input material combinations

text_to_speech · Required: input

Method parameters and lifecycle
ParameterContract
Parametermaterial_typesContracttext
ParameterrequiredContractnull
Parameteroptional_controlsContractnull

Lifecycle: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · actual returned task_id or media library record

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Method shapes and IDs are exact; supplier capability is separate from admission.

Pricing

Ailoot method rates

Ailoot Text to speechPOST /v1/audio/speech
Input
$20.00 per 1 million characters
Output
$0.00 per request

$20.00 per 1 million billable characters. A CJK ideograph counts as 2 billable characters: $40.00 per 1 million ideographs. Weight of other Unicode characters: 1. Output audio: $0.00.

Exact conditional metering rules from the catalog
{
  "cjk_ideograph_weight": 2,
  "input_usd_per_10000_counted_characters": 0.2,
  "other_unicode_character_weight": 1,
  "output_audio_usd": 0,
  "unit": "counted_unicode_characters"
}

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →

Example requests

Ailoot · Text to speech

Speech example
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen-tts-latest", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]=text
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o speech.mp3

Receive and save results

Ailoot · Text to speech

selectedmp3/wav/pcm

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Keep all completed results

Keep every complete returned response, file and content part.

Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.

If the original response needs checking

Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.

Response fields
FieldType
Fieldbinary audioTypebytes
Fieldresponse headersTypeheaders
Errors and next steps
ResponseConditionNext step
Response400 · invalid_request_errorConditionInvalid required fields, material representation or parameter valueNext stepCorrect the indicated fields before a new creation request.
Responseserver_errorConditionThe returned response says the operation or result requires a checkNext stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request.

Aliases

Model aliases

Ailoot qwen-audio-3.0-tts-plus, qwen-tts, qwen-tts-latest

Method path aliases

Use the method paths shown above.

Related caller IDs

qwen-audio-3.0-tts-plus, qwen-tts, qwen-tts-latest

FAQ · qwen-audio-3.0-tts-plus
What inputs and results are available?

POST /v1/audio/speech · qwen-audio-3.0-tts-plus: text → speech

POST /v1/audio/speech · qwen-tts: text → speech

POST /v1/audio/speech · qwen-tts-latest: text → speech

Which fields does the request use?

POST /v1/audio/speech · qwen-audio-3.0-tts-plus: model, input, voice, response_format, sample_rate

POST /v1/audio/speech · qwen-tts: model, input, voice, response_format, sample_rate

POST /v1/audio/speech · qwen-tts-latest: model, input, voice, response_format, sample_rate

What limits apply?

POST /v1/audio/speech · qwen-audio-3.0-tts-plus: input.maximum_length: 600

POST /v1/audio/speech · qwen-tts: input.maximum_length: 600

POST /v1/audio/speech · qwen-tts-latest: input.maximum_length: 600

More details

Connect Ailoot to Claude Code, OpenCode, Hermes or your own app.

The company and its project portfolio

The company and its project portfolio: millions of customers; monthly sales in the billions.

Buy tokens at a discount.

Subscription discounts for regular use. Promo codes offer up to 50% off token purchases.

Subscription
Choose a discounted plan for your regular requests.
Promo code: up to 50% off
Enter your code at checkout. The price updates to reflect the current promotion.
Spending in your history
The model, tokens and amount are recorded for each request.

Choose a subscription · View model prices

Connect the API to a product you sell.

Use Ailoot in SaaS, apps and bots under its official service offer and licence agreement. Request a reseller licence for resale.

Commercial application
Add text, image, video and audio generation to paid features in your service.
Reseller licence
Send a description of your project and how you provide access. Request written terms for use and resale.
Documents on the website
The service offer, licence agreement and data processing policy are available before you connect.

Request a reseller licence · Service offer and licence agreement