Qwen3 TTS Instruct Flash vs TTS-1 HD
Welches Modell wofür
qwen3-tts-instruct-flash kostet $11.5 pro Million Zeichen gegenüber $30, rund 2.6x weniger, und ist das einzige der beiden, mit dem sich die Stimme in natürlicher Sprache dirigieren lässt - tts-1-hd bietet keine Stimmkontrolle. Der Tausch ist die Anfragegröße, 600 Zeichen gegenüber 4096, lange Texte müssen also geteilt werden. Beide streamen. Nehmen Sie tts-1-hd für lange Passagen in einem Aufruf, qwen3-tts-instruct-flash für dirigierte kurze Zeilen zu geringeren Kosten.
Preise
| Qwen3 TTS Instruct Flash | TTS-1 HD | Δ | |
|---|---|---|---|
| Pro 1M Zeichen | $11.5 | $30 | 0.38× |
Preise aus dem Live-Katalog, Stand des letzten Builds. Die aktuellen Preise stehen auf der jeweiligen Modellseite.
Einordnung: Preis pro 1M Zeichen aller 7 Text-to-Speech-Modelle mit dieser Abrechnungseinheit (logarithmische Skala)
Fähigkeiten
| Qwen3 TTS Instruct Flash | TTS-1 HD | |
|---|---|---|
| Streaming | ja | ja |
| SSML | undocumented | undocumented |
| Abrechnungseinheit | character | character |
Spezifikationen
| Qwen3 TTS Instruct Flash | TTS-1 HD | |
|---|---|---|
| Eingabemodalitäten | Text | Text |
| Ausgabemodalitäten | Audio | Audio |
| Veröffentlicht | - | 2023-11-06 |
| Limit pro Anfrage | 600 characters | 4096 characters |
| Stimmen | 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. | alloy, ash, coral, echo, fable, onyx, nova, sage and shimmer, a smaller set than the full 13-voice TTS list, and voices are currently optimized for English. |
| Sprachen | 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). | Generally follows the Whisper model’s language support: Afrikaans, Arabic, Armenian, Azerbaijani, Belarusian, Bosnian, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Kannada, Kazakh, Korean, Latvian, Lithuanian, Macedonian, Malay, Marathi, Maori, Nepali, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Tagalog, Tamil, Thai, Turkish, Ukrainian, Urdu, Vietnamese and Welsh, despite voices being optimized for English |
| Stimmsteuerung |
| none |
| 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. | Speech generation endpoint (v1/audio/speech) only, with Chat Completions, Responses, Realtime, Batch and Fine-tuning all listed as not supported input text is capped at 4096 characters output mp3 (default), opus, aac, flac, wav or pcm (raw 24 kHz 16-bit signed little-endian samples) realtime playback via chunked transfer encoding |
Die Spezifikationen stammen aus der Dokumentation des jeweiligen Anbieters. Veröffentlicht ein Anbieter eine Angabe nicht, lassen wir die Zeile weg, statt sie zu schätzen. Vollständige Quellen: Qwen3 TTS Instruct Flash · TTS-1 HD
Eine Zeile genügt für den Wechsel
Beide IDs stehen in jedem Tab unten. Die beiden hervorgehobenen Zeilen sind die einzige Änderung. Gleicher Endpunkt, gleicher Schlüssel, gleiches Anfrageformat.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.audio.transcriptions.create(
model="qwen3-tts-instruct-flash",
# model="tts-1-hd", # diese Zeile einkommentieren, die darüberliegende auskommentieren
file=open("meeting.mp3", "rb"),
language="en",
)
print(resp.text)import OpenAI from "openai";
import fs from "node:fs";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.audio.transcriptions.create({
model: "qwen3-tts-instruct-flash",
// model: "tts-1-hd", // diese Zeile einkommentieren, die darüberliegende auskommentieren
file: fs.createReadStream("meeting.mp3"),
});
console.log(resp.text);curl https://synthorai.io/v1/audio/transcriptions \
-H "Authorization: Bearer sk-syn-..." \
-F model="qwen3-tts-instruct-flash" \
# -F model="tts-1-hd" \ # diese Zeile einkommentieren, die darüberliegende auskommentieren
-F file=@meeting.mp3package main
import (
"context"
"fmt"
"os"
"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-..."),
)
f, _ := os.Open("meeting.mp3")
resp, _ := client.Audio.Transcriptions.New(context.TODO(), openai.AudioTranscriptionNewParams{
Model: "qwen3-tts-instruct-flash",
// Model: "tts-1-hd", // diese Zeile einkommentieren, die darüberliegende auskommentieren
File: f,
})
fmt.Println(resp.Text)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.audio.transcriptions.*;
import java.nio.file.Paths;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
Transcription resp = client.audio().transcriptions().create(
TranscriptionCreateParams.builder()
.model("qwen3-tts-instruct-flash")
// .model("tts-1-hd") // diese Zeile einkommentieren, die darüberliegende auskommentieren
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
Welches Modell ist günstiger: Qwen3 TTS Instruct Flash oder TTS-1 HD?
Qwen3 TTS Instruct Flash ist bei Pro 1M Zeichen günstiger ($11.5 vs. $30, Faktor 2.6). Bei anderen Zeilen kann es umgekehrt sein. Die Tabelle oben zeigt alle Preise, und die tatsächlichen Kosten hängen von Ihrem Mix ab.
Kann ich Qwen3 TTS Instruct Flash gegen TTS-1 HD A/B-testen, ohne zweimal zu integrieren?
Ja. Beide laufen über denselben OpenAI-kompatiblen Endpunkt mit einem API-Schlüssel. Für den Wechsel ändern Sie nur eine Zeile, den Modellnamen. So können Sie einen Teil des Traffics an jedes Modell schicken und die Kosten direkt vergleichen.
Wie wird Text-to-Speech abgerechnet?
Pro Zeichen des Eingabetexts, mit einer Obergrenze für die Zeichenzahl pro Anfrage, die in der Spezifikationstabelle steht. Lange Texte müssen Sie bei beiden Modellen auf mehrere Anfragen aufteilen.