Qwen3 TTS Instruct Flash vs BytePlus Seed TTS 2.0
언제 어떤 모델을 사용할까 — 벤치마크 표가 아닌 선별된 평가
qwen3-tts-instruct-flash는 100만 자당 2.6배 저렴하고($11.5 대 $30) 둘 다 자연어 음성 지시를 받지만 요청 상한이 크게 다릅니다: 600자 대 4096자. seed-tts-2.0은 서술식 제어에 더해 수치형 음성 파라미터도 제공하고 음성을 시나리오별로 묶어 공개합니다. 짧은 대사의 비용이면 qwen3-tts-instruct-flash, 긴 문단과 더 세밀한 음성 제어면 seed-tts-2.0을 고르세요.
가격
| Qwen3 TTS Instruct Flash | BytePlus Seed TTS 2.0 | Δ | |
|---|---|---|---|
| 1M 문자당 | $11.5 | $30 | 0.38× |
빌드 시점의 라이브 카탈로그 요금입니다. 각 모델 페이지에 현재 요금표가 표시됩니다.
현재 위치 — 이 청구 단위를 사용하는 모든 7개의 텍스트 음성 변환 모델 전체의 1M 문자당 가격 (로그 스케일)
기능
| Qwen3 TTS Instruct Flash | BytePlus Seed TTS 2.0 | |
|---|---|---|
| 스트리밍 | 예 | 예 |
| SSML | undocumented | unsupported |
| 과금 단위 | character | character |
사양
| Qwen3 TTS Instruct Flash | BytePlus Seed TTS 2.0 | |
|---|---|---|
| 입력 모달리티 | 텍스트 | 텍스트 |
| 출력 모달리티 | 오디오 | 오디오 |
| 요청 제한 | 600 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. | TTS 2.0 voices carry *_uranus_bigtts speaker IDs and are listed by scenario (General, Entertainment, Education, Dubbing, AudioBook, RolePlay, CustomerService) on the Voice List page per-voice emotion via audio_params.emotion with emotion_scale 1 to 5 (default 4), speech_rate and loudness_rate in [-50, 100], and post_process.pitch in [-12, 12]. |
| 언어 | 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). | English, Chinese, Japanese, German, French, Mexican Spanish, Indonesian Bahasa, Brazilian Portuguese, Italian and Korean |
| 음성 제어 |
| context_texts and section_id are TTS 2.0 only: a plain-language instruction steers rate, emotion, volume and style (only the first list value takes effect, and its text is not billed), and section_id links up to 30 rounds or 10 minutes of earlier synthesis as historical context. |
| 제한 | 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. | Integration via uni-directional streaming HTTP, uni- or bi-directional streaming WebSocket and online SDK sampling rate 24K/16K/8K on the uni-directional streaming and non-streaming interfaces, 48K/24K/16K/8K on the bi-directional interface output PCM, OGG_OPUS or MP3 (WAV is accepted but returns multiple headers when streaming) SSML is not supported |
사양은 각 공급업체의 문서를 그대로 기록한 것입니다. 공급업체가 공개하지 않은 항목은 추론하지 않고 제외했습니다. 전체 출처: Qwen3 TTS Instruct Flash · BytePlus Seed TTS 2.0
코드 한 줄로 모델 전환
두 id는 아래의 모든 탭에 있습니다 — 강조 표시된 두 줄이 유일한 수정 사항입니다. 동일한 엔드포인트, 동일한 키, 동일한 요청 형태입니다.
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="seed-tts-2.0", # 이 줄의 주석을 해제하고, 윗줄을 주석 처리하세요
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: "seed-tts-2.0", // 이 줄의 주석을 해제하고, 윗줄을 주석 처리하세요
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="seed-tts-2.0" \ # 이 줄의 주석을 해제하고, 윗줄을 주석 처리하세요
-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: "seed-tts-2.0", // 이 줄의 주석을 해제하고, 윗줄을 주석 처리하세요
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("seed-tts-2.0") // 이 줄의 주석을 해제하고, 윗줄을 주석 처리하세요
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
Qwen3 TTS Instruct Flash와(과) BytePlus Seed TTS 2.0 중 어느 것이 더 저렴한가요?
1m 문자당 항목에서는 Qwen3 TTS Instruct Flash이(가) 더 저렴합니다($11.5 대 $30, 2.6× 차이). 다른 항목에서는 결과가 다를 수 있습니다 — 위의 표에 전체 정보가 있으며, 실제 비용은 사용 조합에 따라 달라집니다.
두 번의 연동 과정 없이 Qwen3 TTS Instruct Flash와(과) BytePlus Seed TTS 2.0를 A/B 테스트할 수 있나요?
네. 둘 다 하나의 API 키를 사용하여 동일한 OpenAI 호환 엔드포인트를 통해 제공됩니다 — 모델 문자열을 한 줄만 변경하면 전환되므로, 트래픽의 일부를 각각 라우팅하여 요금을 직접 비교할 수 있습니다.
텍스트 음성 변환은 어떻게 과금되나요?
입력 텍스트의 글자당 청구되며, 사양 표에 요청당 글자 수 한도가 표시되어 있습니다. 긴 스크립트는 어느 모델에서든 여러 요청으로 분할해야 합니다.