Qwen3 TTS Instruct Flash
Provider list prices: no platform markup, pay-as-you-go. These are official list prices. Logged-in customers may see effective prices including workspace discounts on /console/pricing.
Use Qwen3 TTS Instruct Flash in 30 seconds
OpenAI-compatible: swap the base_url, keep your SDK. POST /v1/chat/completions
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="qwen3-tts-instruct-flash",
messages=[{"role": "user", "content": "Summarize this diff"}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "qwen3-tts-instruct-flash",
messages: [{ role: "user", content: "Summarize this diff" }],
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-tts-instruct-flash",
"messages": [{"role": "user", "content": "Hello"}]
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "qwen3-tts-instruct-flash",
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("qwen3-tts-instruct-flash")
.addUserMessage("Summarize this diff")
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));Specs & limits
Audio
- Languages
- Chinese (Mandarin), English, German, Italian, Portuguese, Spanish, Japanese, Korean, French and Russian. language_type defaults to Auto for mixed-language or undetermined input, which Alibaba documents as not guaranteeing accuracy; naming a single language is documented to significantly improve synthesis quality. Unlike the Qwen3-TTS-Flash series, the Instruct series lists no Chinese dialect voices (Beijing, Shanghainese, Sichuan, Nanjing, Shaanxi, Hokkien, Tianjin, Cantonese).
- Audio limits
-
- HTTP non-real-time speech synthesis API
- the -realtime suffix marks the WebSocket sibling. Input text capped at 600 characters, multilingual mixed input allowed. Non-streaming returns an audio file URL valid for 24 hours
- streaming returns Base64-encoded PCM in chunks with the URL only in the final packet, played back in the official samples as 24 kHz mono 16-bit audio. Billed by input text characters, reported as usage.characters (input_tokens and output_tokens are always 0 on the Qwen3-TTS series)
- output audio is free
Realtime
- Voices
- System voices published with one-line personas, among them Cherry (a sunny, positive, friendly and natural young woman), Serena, Ethan, Chelsie, Momo, Vivian, Moon, Maia, Kai, Nofish (a designer who cannot pronounce retroflex sounds), Bella, Eldric Sage, Mia, Mochi, Bellona, Vincent, Bunny, Neil, Elias, Arthur, Nini, Seren, Pip and Stella; the Qwen-TTS voice list pairs each voice with the exact model ids that accept it.
- Session
-
- instructions steers speed, emotion and style in natural language, up to 1,600 tokens and documented for Chinese and English only
- optimize_instructions (default false) rewrites the instruction into a directive better suited to synthesis and has no effect when instructions is empty
- voice cloning and voice design are both listed as unsupported for this model id
Model
- Modalities
- text → audio
Instruction-controllable tier of Alibaba's Qwen3-TTS family on Model Studio, currently equivalent to the qwen3-tts-instruct-flash-2026-01-26 snapshot. Positioned for latency-tolerant work such as audiobook production, online education voiceovers and content creation. Priced in the Singapore region at $0.115 per 10,000 input characters in the international deployment scope, with a 110,000-character free quota valid for 90 days after activating Model Studio.
About Qwen3 TTS Instruct Flash
Qwen3-TTS-Instruct-Flash is the instruction-controllable tier of Alibaba's Qwen3-TTS family on Model Studio, priced in the Singapore region and currently equivalent to the qwen3-tts-instruct-flash-2026-01-26 snapshot.
- Model Studio splits the family by transport rather than by capability: an id carrying the realtime suffix speaks WebSocket, while this one, without it, is the HTTP model behind what Alibaba calls non-real-time speech synthesis, designed for latency-tolerant scenarios such as audiobook production, online education voiceovers, and content creation.
- Instruction control is the reason to reach for it over plain qwen3-tts-flash.
- You describe the delivery you want in ordinary language to control speed, emotion, and style per request, the documented examples being to speak gently at a slower pace or to use an excited broadcast style; the instructions field takes up to 1,600 tokens and is documented for Chinese and English only, and optimize_instructions, off by default, has the service rewrite your wording into a directive better suited to synthesis.
- Voices are the family's named personas, among them Cherry as a sunny, positive, friendly, and natural young woman and Nofish as a designer who cannot pronounce retroflex sounds, and the voice list states which model ids accept each one.
- Ten languages are covered, Chinese (Mandarin), English, German, Italian, Portuguese, Spanish, Japanese, Korean, French, and Russian, and unlike qwen3-tts-flash the Instruct line carries none of the Chinese dialect voices.
- Two limits shape integration: input text is capped at 600 characters, and language_type defaults to Auto, which Alibaba says does not guarantee accuracy and advises replacing with an explicit language for single-language text.
- Non-streaming returns an audio file URL valid for 24 hours, while streaming returns Base64-encoded PCM in chunks with the URL only in the final packet, and the official samples play that stream back as 24 kHz mono 16-bit audio.
- Billing counts input text characters, at $0.115 per 10,000 in the international deployment scope, and output audio is free.
- Synthorai serves it through the OpenAI-compatible /v1/audio/speech endpoint.
FAQ
Is the Qwen3 TTS Instruct Flash API free to try?
Yes: new accounts get 10 trial calls and up to $1 in free credit, no card required. At $11.5/M input tokens, that credit alone covers roughly 21 requests of ~4K tokens against Qwen3 TTS Instruct Flash.
What is Qwen3 TTS Instruct Flash best at?
Plain-language instructions control speed, emotion, and style; http model for audiobooks and voiceovers, not realtime; ten languages, 600-character input cap. See the About section for the full picture from the vendor's own release notes.
How much does Qwen3 TTS Instruct Flash cost?
Qwen3 TTS Instruct Flash costs $11.5 per million input tokens and $0 per million output tokens on Synthorai. That is the provider's list price, with no platform markup.
Does Qwen3 TTS Instruct Flash support prompt caching?
Qwen3 TTS Instruct Flash has no cache-read discount on Synthorai today. Prompt caching still applies to other models on the gateway; see the pricing table for cache-enabled alternatives. Provider caching comparison →
How do I get access to Qwen3 TTS Instruct Flash?
Point your existing OpenAI SDK at base_url="https://synthorai.io/v1", set model="qwen3-tts-instruct-flash", and you're done. One API key covers every model on the gateway.