Qwen3 TTS Instruct Flash vs TTS-1 HD
どんなときに、どちらを選ぶか
qwen3-tts-instruct-flash は 100万文字あたり $11.5 対 $30、およそ 2.6 分の 1 で、二つのうち自然な言葉で声を指示できるのはこちらだけです — tts-1-hd に音声制御はありません。代償はリクエストの大きさで、600 文字 対 4096、長い原稿は分割が要ります。どちらもストリーミングします。長い文章を一度に読ませるなら tts-1-hd、演出を付けた短い台詞を安く回すなら qwen3-tts-instruct-flash。
料金
| Qwen3 TTS Instruct Flash | TTS-1 HD | Δ | |
|---|---|---|---|
| 100 万文字あたり | $11.5 | $30 | 0.38× |
ビルド時点の現行カタログの料金です。最新の料金表は各モデルのページに掲載しています。
両モデルの位置:100 万文字あたりの料金(この課金単位の音声合成モデル全 7 件、対数スケール)
対応機能
| Qwen3 TTS Instruct Flash | TTS-1 HD | |
|---|---|---|
| ストリーミング | あり | あり |
| SSML | undocumented | undocumented |
| 課金単位 | character | character |
仕様
| Qwen3 TTS Instruct Flash | TTS-1 HD | |
|---|---|---|
| 入力モダリティ | テキスト | テキスト |
| 出力モダリティ | 音声 | 音声 |
| リリース | - | 2023-11-06 |
| リクエストあたりの上限 | 600 characters | 4096 characters |
| ボイス | 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. |
| 言語 | 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 |
| ボイス調整 |
| none |
| 制限 | 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 |
仕様は各ベンダーのドキュメントから転記しています。ベンダーが公表していない項目は、推測で埋めずに省いています。 出典の一覧: Qwen3 TTS Instruct Flash · TTS-1 HD
1 行の変更で切り替え
以下のどのタブにも両方のモデル ID が入っています。書き換えるのはハイライトされた 2 行だけで、エンドポイント、キー、リクエスト形式はすべて同じです。
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", # この行のコメントを外し、上の行をコメントアウト
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", // この行のコメントを外し、上の行をコメントアウト
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" \ # この行のコメントを外し、上の行をコメントアウト
-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", // この行のコメントを外し、上の行をコメントアウト
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") // この行のコメントを外し、上の行をコメントアウト
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());よくある質問
Qwen3 TTS Instruct Flash と TTS-1 HD ではどちらが安いですか?
100 万文字あたりは Qwen3 TTS Instruct Flash のほうが安くなります($11.5 対 $30、2.6 倍の差)。ほかの行では逆になることもあります。料金の全体は上の表に掲載しており、実際のコストは利用の内訳によって変わります。
Qwen3 TTS Instruct Flash と TTS-1 HD の A/B テストは、実装を 2 つ用意せずにできますか?
はい。どちらも同じ OpenAI 互換エンドポイントから 1 つの API キーで利用できます。切り替えはモデル名の文字列を 1 行変えるだけなので、トラフィックの一部をそれぞれに振り分けて、請求額を直接比較できます。
音声合成(Text-to-Speech)の課金方法は?
入力テキストの文字数に応じて課金されます。1 リクエストあたりの文字数上限は仕様表に掲載しています。どちらのモデルでも、長い原稿は複数のリクエストに分けて送る必要があります。