Google TTS Chirp 3 HD vs Google TTS Neural2
どんなときに、どちらを選ぶか
google-tts-neural2 は 1.9 分の 1(100万文字あたり $16 対 $30)で SSML を正式にサポートします。google-tts-chirp3-hd は SSML をプレビュー扱いです。ただし neural2 はストリーミングできず、公開ロケールもはるかに短く、名前付き音声 id を持つのは 17 ロケールです。どちらも 1 リクエスト 5000 バイトを受け付け、数値パラメータによる音声制御を備えます。対応ロケール内で SSML 主導のバッチ処理なら google-tts-neural2、ストリーミングとロケールの広さなら google-tts-chirp3-hd を選んでください。
料金
| Google TTS Chirp 3 HD | Google TTS Neural2 | Δ | |
|---|---|---|---|
| 100 万文字あたり | $30 | $16 | 1.9× |
ビルド時点の現行カタログの料金です。最新の料金表は各モデルのページに掲載しています。
両モデルの位置:100 万文字あたりの料金(この課金単位の音声合成モデル全 7 件、対数スケール)
対応機能
| Google TTS Chirp 3 HD | Google TTS Neural2 | |
|---|---|---|
| ストリーミング | あり | なし |
| SSML | preview | supported |
| 課金単位 | character | character |
仕様
| Google TTS Chirp 3 HD | Google TTS Neural2 | |
|---|---|---|
| 入力モダリティ | テキスト | テキスト |
| 出力モダリティ | 音声 | 音声 |
| リリース | 2025-03 | 2022-06-27 |
| リクエストあたりの上限 | 5000 bytes | 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. | Voice ids follow the locale-plus-letter pattern (en-US-Neural2-F, ja-JP-Neural2-B). Google's comparison table lists Neural2 as general purpose, generally available, controllable via SSML and not streaming-capable, and the docs state the voices are based on the same technology used to create a Custom Voice, letting anyone use Custom Voice technology without training their own. |
| 言語 | 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. | A much shorter locale list than Standard. Neural2 voice ids are published for da-DK, de-DE, en-AU, en-GB, en-IN, en-US, es-ES, es-US, fr-CA, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, pt-BR, th-TH and vi-VN. Google notes Neural2 voices are available on global and single-region endpoints. |
| ボイス調整 |
|
|
| 制限 | 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. | Content limit of 5,000 total bytes per synthesize request. Output LINEAR16 (with a WAV header), MP3 at 32 kbps, OGG_OPUS, or G.711 MULAW and ALAW optional sampleRateHertz resamples and fails the request if the rate is unsupported for the encoding. Not offered over streaming synthesis. Billed per character including spaces and newlines, with all SSML tags except <mark> counted the multi-byte-counts-once note applies to Standard and WaveNet only. |
仕様は各ベンダーのドキュメントから転記しています。ベンダーが公表していない項目は、推測で埋めずに省いています。 出典の一覧: Google TTS Chirp 3 HD · Google TTS Neural2
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="google-tts-chirp3-hd",
# model="google-tts-neural2", # この行のコメントを外し、上の行をコメントアウト
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: "google-tts-neural2", // この行のコメントを外し、上の行をコメントアウト
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="google-tts-neural2" \ # この行のコメントを外し、上の行をコメントアウト
-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: "google-tts-neural2", // この行のコメントを外し、上の行をコメントアウト
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("google-tts-neural2") // この行のコメントを外し、上の行をコメントアウト
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());よくある質問
Google TTS Chirp 3 HD と Google TTS Neural2 ではどちらが安いですか?
100 万文字あたりは Google TTS Neural2 のほうが安くなります($16 対 $30、1.9 倍の差)。ほかの行では逆になることもあります。料金の全体は上の表に掲載しており、実際のコストは利用の内訳によって変わります。
Google TTS Chirp 3 HD と Google TTS Neural2 の A/B テストは、実装を 2 つ用意せずにできますか?
はい。どちらも同じ OpenAI 互換エンドポイントから 1 つの API キーで利用できます。切り替えはモデル名の文字列を 1 行変えるだけなので、トラフィックの一部をそれぞれに振り分けて、請求額を直接比較できます。
音声合成(Text-to-Speech)の課金方法は?
入力テキストの文字数に応じて課金されます。1 リクエストあたりの文字数上限は仕様表に掲載しています。どちらのモデルでも、長い原稿は複数のリクエストに分けて送る必要があります。