TTS-1 vs TTS-1 HD
언제 어떤 모델을 사용할까 — 벤치마크 표가 아닌 선별된 평가
같은 4096자 상한, 같은 스트리밍, 같은 음성 세트, 그리고 똑같이 음성 제어 없음. tts-1-hd는 100만 자당 $30 대 $15로 정확히 2배이며 그 대가로 더 높은 품질의 합성을 얻습니다. 공개된 사양에 다른 차이는 없습니다. 초안과 물량에는 tts-1, 사용자에게 나가는 오디오에는 tts-1-hd를 고르세요.
가격
빌드 시점의 라이브 카탈로그 요금입니다. 각 모델 페이지에 현재 요금표가 표시됩니다.
현재 위치 — 이 청구 단위를 사용하는 모든 7개의 텍스트 음성 변환 모델 전체의 1M 문자당 가격 (로그 스케일)
기능
사양
| TTS-1 | TTS-1 HD | |
|---|---|---|
| 입력 모달리티 | 텍스트 | 텍스트 |
| 출력 모달리티 | 오디오 | 오디오 |
| 요청 제한 | 4096 characters | 4096 characters |
| 음성 | 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. | 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. |
| 언어 | 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 | 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 |
| 음성 제어 | none | none |
| 제한 | 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 | 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 |
사양은 각 공급업체의 문서를 그대로 기록한 것입니다. 공급업체가 공개하지 않은 항목은 추론하지 않고 제외했습니다. 전체 출처: TTS-1 · TTS-1 HD
코드 한 줄로 모델 전환
두 id는 아래의 모든 탭에 있습니다 — 강조 표시된 두 줄이 유일한 수정 사항입니다. 동일한 엔드포인트, 동일한 키, 동일한 요청 형태입니다.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.audio.transcriptions.create(
model="tts-1",
# 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: "tts-1",
// 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="tts-1" \
# -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: "tts-1",
// 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("tts-1")
// .model("tts-1-hd") // 이 줄의 주석을 해제하고, 윗줄을 주석 처리하세요
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
TTS-1와(과) TTS-1 HD 중 어느 것이 더 저렴한가요?
1m 문자당 항목에서는 TTS-1이(가) 더 저렴합니다($15 대 $30, 2.0× 차이). 다른 항목에서는 결과가 다를 수 있습니다 — 위의 표에 전체 정보가 있으며, 실제 비용은 사용 조합에 따라 달라집니다.
두 번의 연동 과정 없이 TTS-1와(과) TTS-1 HD를 A/B 테스트할 수 있나요?
네. 둘 다 하나의 API 키를 사용하여 동일한 OpenAI 호환 엔드포인트를 통해 제공됩니다 — 모델 문자열을 한 줄만 변경하면 전환되므로, 트래픽의 일부를 각각 라우팅하여 요금을 직접 비교할 수 있습니다.
텍스트 음성 변환은 어떻게 과금되나요?
입력 텍스트의 글자당 청구되며, 사양 표에 요청당 글자 수 한도가 표시되어 있습니다. 긴 스크립트는 어느 모델에서든 여러 요청으로 분할해야 합니다.