BytePlus Seed TTS 2.0 vs TTS-1 HD
どんなときに、どちらを選ぶか
与えられた事実において、これら2つは互換性があります。seed-tts-2.0とtts-1-hdはどちらもテキストを入力として音声を出力し、speech機能を備え、最大4096トークンのコンテキストを持ち、100万トークンあたり$30で入力を請求します。料金表と単位が完全に一致しているため、どちらを選ぶにしてもコストやコンテキストに関する議論の余地はありません。ベンダーの好み、製品に合う音声出力、またはすでに統合しているプロバイダーに基づいて選択してください。自身のスクリプトの短いサンプルをそれぞれで実行し、適切に聞こえる方を使用してください。
料金
| BytePlus Seed TTS 2.0 | TTS-1 HD | Δ | |
|---|---|---|---|
| 100 万文字あたり | $30 | $30 | = |
ビルド時点の現行カタログの料金です。最新の料金表は各モデルのページに掲載しています。
両モデルの位置:100 万文字あたりの料金(この課金単位の音声合成モデル全 7 件、対数スケール)
対応機能
| BytePlus Seed TTS 2.0 | TTS-1 HD | |
|---|---|---|
| ストリーミング | あり | あり |
| SSML | unsupported | undocumented |
| 課金単位 | character | character |
仕様
| BytePlus Seed TTS 2.0 | TTS-1 HD | |
|---|---|---|
| 入力モダリティ | テキスト | テキスト |
| 出力モダリティ | 音声 | 音声 |
| リリース | 2025-10-16 | 2023-11-06 |
| リクエストあたりの上限 | - | 4096 characters |
| ボイス | 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]. | 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. |
| 言語 | English, Chinese, Japanese, German, French, Mexican Spanish, Indonesian Bahasa, Brazilian Portuguese, Italian and Korean | 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 |
| ボイス調整 | 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. | none |
| 制限 | 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 | 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 |
仕様は各ベンダーのドキュメントから転記しています。ベンダーが公表していない項目は、推測で埋めずに省いています。 出典の一覧: BytePlus Seed TTS 2.0 · 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="seed-tts-2.0",
# 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: "seed-tts-2.0",
// 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="seed-tts-2.0" \
# -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: "seed-tts-2.0",
// 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("seed-tts-2.0")
// .model("tts-1-hd") // この行のコメントを外し、上の行をコメントアウト
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());よくある質問
BytePlus Seed TTS 2.0 と TTS-1 HD ではどちらが安いですか?
100 万文字あたりはどちらも同じ($30)なので、価格は決め手になりません。以下の仕様と対応機能を見比べてください。
BytePlus Seed TTS 2.0 と TTS-1 HD の A/B テストは、実装を 2 つ用意せずにできますか?
はい。どちらも同じ OpenAI 互換エンドポイントから 1 つの API キーで利用できます。切り替えはモデル名の文字列を 1 行変えるだけなので、トラフィックの一部をそれぞれに振り分けて、請求額を直接比較できます。
音声合成(Text-to-Speech)の課金方法は?
入力テキストの文字数に応じて課金されます。1 リクエストあたりの文字数上限は仕様表に掲載しています。どちらのモデルでも、長い原稿は複数のリクエストに分けて送る必要があります。