Google TTS Chirp 3 HD vs Google TTS Neural2
언제 어떤 모델을 쓸까
google-tts-neural2는 1.9배 저렴하고(100만 자당 $16 대 $30) SSML을 정식 지원합니다. google-tts-chirp3-hd는 SSML을 프리뷰로 표기합니다. 다만 neural2는 스트리밍이 안 되고 공개 로케일 목록도 훨씬 짧아, 이름이 붙은 음성 id는 17개 로케일뿐입니다. 둘 다 요청당 5000바이트를 받고 수치형 음성 파라미터를 제공합니다. 지원 로케일 안에서 SSML 기반 배치 작업이면 google-tts-neural2, 스트리밍과 로케일 폭이면 google-tts-chirp3-hd를 고르세요.
가격
| Google TTS Chirp 3 HD | Google TTS Neural2 | Δ | |
|---|---|---|---|
| 1M 문자당 | $30 | $16 | 1.9× |
빌드 시점에 실시간 카탈로그에서 가져온 요금입니다. 현재 요금은 각 모델 페이지에서 확인할 수 있습니다.
가격 위치: 이 과금 단위를 쓰는 음성 합성 모델 7개 전체의 1M 문자당 가격(로그 스케일)
기능
| 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
코드 한 줄로 모델 전환
아래 탭마다 두 모델 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="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 vs Google TTS Neural2, 어느 쪽이 더 저렴한가요?
1M 문자당 기준으로는 Google TTS Neural2 쪽이 더 저렴합니다($16 대 $30, 1.9배 차이). 다른 항목에서는 반대일 수 있습니다. 전체 요금은 위 표에 있으며, 실제 비용은 사용 패턴에 따라 달라집니다.
연동을 두 번 하지 않고도 Google TTS Chirp 3 HD vs Google TTS Neural2 A/B 테스트를 할 수 있나요?
네. 두 모델 모두 API 키 하나로 같은 OpenAI 호환 엔드포인트에서 호출합니다. 모델 문자열 한 줄만 바꾸면 전환되므로, 트래픽 일부를 각 모델로 보내 청구 금액을 직접 비교할 수 있습니다.
음성 합성(TTS)은 어떻게 과금되나요?
입력 텍스트의 글자 수만큼 과금되며, 요청당 글자 수 상한은 사양 표에 있습니다. 긴 스크립트는 어느 모델이든 여러 요청으로 나눠 보내야 합니다.