Google TTS Chirp 3 HD vs BytePlus Seed TTS 2.0
何時該用哪一個 — 綜合評斷,而非基準測試數據表
就型錄規格而言,這兩者是可以互換的:google-tts-chirp3-hd 和 seed-tts-2.0 對每百萬輸入 token 皆收費 $30,兩者都具備 4096-token 的上下文視窗,並且皆接收文字輸入並在相同的語音能力下回傳音訊。由於在費率、上下文或模態上沒有需要權衡的落差,選擇取決於對供應商的偏好(google-tts-chirp3-hd 為 Google,seed-tts-2.0 為 ByteDance),以及你的聽眾在 A/B 測試中實際偏好的語音輸出。兩者的預算與提示長度規劃可以完全相同。
定價
| Google TTS Chirp 3 HD | BytePlus Seed TTS 2.0 | Δ | |
|---|---|---|---|
| 每 1M 字元 | $30 | $30 | = |
費率取自建置時的即時目錄;各模型頁面皆附有目前的費率卡。
它們的相對位置 — 在此計費單位下,所有 7 個 文字轉語音 模型的 每 1M 字元的價格(對數尺度)
能力
| Google TTS Chirp 3 HD | BytePlus Seed TTS 2.0 | |
|---|---|---|
| 串流 | 是 | 是 |
| SSML | preview | unsupported |
| 計費單位 | character | character |
規格
| Google TTS Chirp 3 HD | BytePlus Seed TTS 2.0 | |
|---|---|---|
| 輸入模態 | 文字 | 文字 |
| 輸出模態 | 音訊 | 音訊 |
| 請求限制 | 5000 bytes | — |
| 語音 | Voices are named after stars and published with a gender: Achernar, Achird, Algenib, Algieba, Alnilam, Aoede, Autonoe, Callirrhoe, Charon, Despina, Enceladus, Erinome, Fenrir, Gacrux, Iapetus, Kore, Laomedeia, Leda, Orus, Pulcherrima, Puck, Rasalgethi, Sadachbia, Sadaltager, Schedar, Sulafat, Umbriel, Vindemiatrix, Zephyr and Zubenelgenubi. A locale prefix forms the id, e.g. en-US-Chirp3-HD-Charon. Google describes the set as 30 distinct styles across many languages. | 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]. |
| 語言 | ar-XA, bn-IN, bg-BG, yue-HK, hr-HR, cs-CZ, da-DK, nl-BE, nl-NL, en-AU, en-IN, en-GB, en-US, et-EE, fi-FI, fr-CA, fr-FR, de-DE, el-GR, gu-IN, he-IL, hi-IN, hu-HU, id-ID, it-IT, ja-JP, kn-IN, ko-KR, lv-LV, lt-LT, ml-IN, cmn-CN, mr-IN, nb-NO, pl-PL, pt-BR, pa-IN, ro-RO, ru-RU, sr-RS, sk-SK, sl-SI, es-ES, es-US, sw-KE, sv-SE, ta-IN, te-IN, th-TH, tr-TR, uk-UA, ur-IN and vi-VN. | 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. |
| 限制 | Content limit of 5,000 total bytes per synthesize request. Default response format LINEAR16 streaming supports ALAW, MULAW, OGG_OPUS and PCM, batch adds MP3, so MP3 is not available on the streaming path. The only voice type Google's comparison table marks as streaming-capable. Generally available in the global, us and eu endpoints plus asia-southeast1, europe-west2 and asia-northeast1, but out of scope for regionalization and data residency. Billed per character including spaces and newlines, with all SSML tags except <mark> counted. | 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 |
規格摘錄自各供應商的文件;供應商未發布的資料列會直接省略,而非自行推測。 完整來源: Google TTS Chirp 3 HD · 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="google-tts-chirp3-hd",
# 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: "google-tts-chirp3-hd",
// 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="google-tts-chirp3-hd" \
# -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: "google-tts-chirp3-hd",
// 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("google-tts-chirp3-hd")
// .model("seed-tts-2.0") // 取消註解此行,並註解上一行
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());常見問題
Google TTS Chirp 3 HD 和 BytePlus Seed TTS 2.0 哪個比較便宜?
兩者列出的 每 1m 字元 相同($30),因此價格無法決定勝負 — 請參閱下方的規格與功能。
我可以在不進行兩次整合的情況下,對 Google TTS Chirp 3 HD 和 BytePlus Seed TTS 2.0 進行 A/B 測試嗎?
可以。兩者皆透過同一個相容 OpenAI 的端點提供服務,並使用同一把 API 金鑰 — 切換只需更改一行的模型字串,因此您可以將部分流量分別導向兩者並直接比較帳單。
文字轉語音是如何計費的?
依輸入文字的字元數計費,規格表中會顯示每個請求的字元上限。較長的稿件在這兩個模型上都必須分拆成多個請求。