TTS-1 vs TTS-1 HD
Welches und wann — kuratiertes Fazit, keine Benchmark-Tabelle
Gleiche 4096-Zeichen-Grenze, gleiches Streaming, gleiche Stimmen und dieselbe fehlende Stimmkontrolle; tts-1-hd berechnet $30 pro Million Zeichen gegenüber $15, exakt das Doppelte, für die höherwertige Wiedergabe. Nichts sonst in den veröffentlichten Spezifikationen trennt sie. Nehmen Sie tts-1 für Entwürfe und Menge, tts-1-hd, wenn das Audio zu Nutzern geht.
Preise
Preise aus dem Live-Katalog zum Zeitpunkt des Builds; jede Modellseite enthält die aktuelle Übersicht.
Wo sie stehen — Preis pro 1M Zeichen über alle 7 Text-to-Speech-Modelle mit dieser Abrechnungseinheit (logarithmische Skala)
Fähigkeiten
Spezifikationen
| TTS-1 | TTS-1 HD | |
|---|---|---|
| Input-Modalitäten | Text | Text |
| Ausgabemodalitäten | Audio | Audio |
| Request-Limit | 4096 characters | 4096 characters |
| Stimmen | 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. |
| Sprachen | 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 |
| Sprachsteuerung | none | none |
| Limits | 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 |
Die Spezifikationen sind aus der Dokumentation der jeweiligen Anbieter übernommen; eine Zeile, die ein Anbieter nicht veröffentlicht, wird weggelassen und nicht abgeleitet. Vollständige Quellen: TTS-1 · TTS-1 HD
Mit einer Zeile zwischen ihnen wechseln
Beide IDs befinden sich in jedem Tab unten — das hervorgehobene Zeilenpaar ist die einzige Änderung. Gleicher Endpunkt, gleicher Schlüssel, gleiche Request-Struktur.
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", # diese Zeile einkommentieren, die darüberliegende auskommentieren
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", // diese Zeile einkommentieren, die darüberliegende auskommentieren
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" \ # diese Zeile einkommentieren, die darüberliegende auskommentieren
-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", // diese Zeile einkommentieren, die darüberliegende auskommentieren
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") // diese Zeile einkommentieren, die darüberliegende auskommentieren
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
Welches ist günstiger, TTS-1 oder TTS-1 HD?
TTS-1 ist günstiger bei pro 1m zeichen ($15 vs. $30, 2.0× Unterschied). Andere Zeilen können in die andere Richtung deuten — die obige Tabelle enthält alle Daten, und die tatsächlichen Kosten hängen von Ihrem Mix ab.
Kann ich TTS-1 gegen TTS-1 HD ohne zwei Integrationen A/B-testen?
Ja. Beide werden über denselben OpenAI-kompatiblen Endpunkt mit einem API-Schlüssel bereitgestellt — der Wechsel ist eine einzeilige Änderung des Modell-Strings, sodass Sie einen Bruchteil des Traffics an jedes Modell leiten und die Rechnungen direkt vergleichen können.
Wie wird Text-to-Speech abgerechnet?
Pro Zeichen des Eingabetextes, mit einer Zeichenobergrenze pro Anfrage, die in der Spezifikationstabelle angegeben ist. Lange Skripte müssen bei beiden Modellen über mehrere Anfragen hinweg aufgeteilt werden.