Seedream 5.0 Pro अब लाइव है | Image Generator में आज़माएं →
साइन इन

Qwen3 TTS Text to Speech

wavespeed-ai /

Qwen3 TTS: Multi-language, multi-voice text-to-speech synthesis with style control. Supports 11 languages and 9 voice characters. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

text-to-audio
इनपुट

निष्क्रिय

$0.005प्रति रन·~200 / $1

उदाहरणसभी देखें

संबंधित मॉडल

README

Qwen3-TTS Text-to-Speech

Qwen3-TTS Text-to-Speech is a high-quality text-to-speech model with a curated selection of preset voices. Choose from 9 distinct voices spanning different genders and speaking styles, with optional style instructions to fine-tune the delivery.

Why Choose This?

  • Curated voice library 9 preset voices with distinct personalities — from professional narrators to friendly conversational tones.

  • Style instruction support Guide the speaking style with natural language instructions for customized delivery.

  • Auto language detection Set language to "auto" and the model intelligently detects the language from your text.

  • Simple and fast Straightforward interface — select a voice, enter text, and generate.

Parameters

ParameterRequiredDescription
textYesThe text to convert to speech
languageYesLanguage code or "auto" for automatic detection
voiceYesPreset voice to use (see Available Voices below)
style_instructionNoNatural language guidance for speaking style

Available Voices

VoiceDescription
VivianFemale voice
SerenaFemale voice
Ono_AnnaFemale voice
SoheeFemale voice
Uncle_FuMale voice
DylanMale voice
EricMale voice
RyanMale voice
AidenMale voice

Style Instruction Examples

  • "Speak slowly and calmly, like a meditation guide"
  • "Energetic and enthusiastic, like a sports announcer"
  • "Professional and clear, suitable for corporate presentations"
  • "Warm and friendly, like talking to a close friend"

How to Use

  1. Enter your text — write or paste the content you want to convert to speech.
  2. Select language — choose the target language or use "auto" for automatic detection.
  3. Choose a voice — select from the 9 available preset voices.
  4. Add style instruction (optional) — describe how you want the voice to sound.
  5. Run — submit and download your audio file.

Pricing

Text LengthCost
Under 100 chars$0.005
100+ chars$0.005 per 100 characters

Billing Rules

  • Minimum charge: $0.005 (for texts under 100 characters)
  • For longer texts: $0.005 × (character count / 100)

Best Use Cases

  • Video Voiceovers — Generate professional narration for YouTube, ads, or explainer videos.
  • Audiobook Production — Convert manuscripts into natural-sounding narration.
  • Podcasts & Broadcasting — Create consistent voice content without recording equipment.
  • E-learning & Training — Produce clear, engaging audio for educational materials.
  • Accessibility — Convert written content to audio for visually impaired users.

Pro Tips

  • Try different voices to find the best match for your content type.
  • Use style_instruction to adjust tone without changing the voice itself.
  • Match female voices (Vivian, Serena, Ono_Anna, Sohee) for softer content; male voices (Uncle_Fu, Dylan, Eric, Ryan, Aiden) for authoritative content.
  • Test with short text first to preview how the voice sounds before generating longer content.

Related Models

Notes

  • All 9 voices are optimized for natural, clear speech output.
  • Style instructions work best when they describe emotion, pace, or tone rather than technical audio settings.
  • For best quality, match the language parameter to your text content.
नोट:यह वेबसाइट तृतीय पक्षों द्वारा प्रदान किए गए AI मॉडलों का उपयोग करती है।

Qwen3 Tts Text To Speech API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen3-tts/text-to-speech with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Qwen3 Tts Text To Speech below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "text": "A clear example input",
    "language": "auto",
    "voice": "Vivian"
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen3-tts/text-to-speech" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen3-tts/text-to-speech";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "text": "A clear example input",
        "language": "auto",
        "voice": "Vivian"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "text": "A clear example input",
    "language": "auto",
    "voice": "Vivian"
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/wavespeed-ai/qwen3-tts/text-to-speech", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Qwen3 Tts Text To Speech API — Frequently asked questions

What is the Qwen3 Tts Text To Speech API?

Qwen3 Tts Text To Speech is a WaveSpeedAI model for audio generation, exposed as a REST API on WaveSpeedAI. Qwen3 TTS: Multi-language, multi-voice text-to-speech synthesis with style control. Supports 11 languages and 9 voice characters. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Qwen3 Tts Text To Speech API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/wavespeed-ai/qwen3-tts-text-to-speech.

How much does Qwen3 Tts Text To Speech cost per run?

Qwen3 Tts Text To Speech starts at $0.005 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Qwen3 Tts Text To Speech accept?

Key inputs: `language`, `style_instruction`, `text`, `voice`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/wavespeed-ai/qwen3-tts-text-to-speech.

How long does Qwen3 Tts Text To Speech take to generate?

Median end-to-end generation time on WaveSpeedAI is around 16 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Qwen3 Tts Text To Speech outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (WaveSpeedAI). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Qwen3 TTS Text to Speech | Realistic Voice & TTS API | WaveSpeedAI