BytePlus Seed TTS 2.0
Provider list prices: no platform markup, pay-as-you-go. These are official list prices. Logged-in customers may see effective prices including workspace discounts on /console/pricing.
Use BytePlus Seed TTS 2.0 in 30 seconds
OpenAI-compatible: swap the base_url, keep your SDK. POST /v1/chat/completions
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="seed-tts-2.0",
messages=[{"role": "user", "content": "Summarize this diff"}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "seed-tts-2.0",
messages: [{ role: "user", content: "Summarize this diff" }],
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "seed-tts-2.0",
"messages": [{"role": "user", "content": "Hello"}]
}'package main
import (
"context"
"fmt"
"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-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "seed-tts-2.0",
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("seed-tts-2.0")
.addUserMessage("Summarize this diff")
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));Specs & limits
Audio
- Languages
- English, Chinese, Japanese, German, French, Mexican Spanish, Indonesian Bahasa, Brazilian Portuguese, Italian and Korean
- Audio limits
-
- 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
Realtime
- Voices
- 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].
- Session
- 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.
Model
- Modalities
- text → audio
- Query-Response TTS that understands the query and the response text together, adding text prompts for emotion, tone, rate and pitch, sentence-level emotion tags and context understanding over TTS 1.0. Selected with the X-Api-Resource-Id seed-tts-2.0
- enable_subtitle returns word and phoneme timestamps on TTS 2.0 voices (Chinese and English only)
- optional response cache retained for 1 hour
About BytePlus Seed TTS 2.0
Seed TTS 2.0 is ByteDance's current text-to-speech generation on BytePlus, and the official overview builds it around a query-response mechanism: the model reads both the user's query and the response text it is about to speak, which BytePlus says expands contextual comprehension and sharpens the human-likeness and emotional expression of a conversation.
- It names AI assistants, AI companions, call centres, and video dubbing as the target scenarios.
- Three features are listed as exclusive to 2.0 over the 1.0 line: a text prompt that steers emotion, tone, speech rate, and pitch in plain language; a sentence-level emotion tag; and context understanding, where you supply surrounding dialogue and the model carries its emotional tone into the synthesis.
- Ten languages are covered, spanning English, Chinese, Japanese, German, French, Mexican Spanish, Indonesian, Brazilian Portuguese, Italian, and Korean, reachable over unidirectional streaming HTTP, unidirectional or bidirectional streaming WebSocket, and the online SDK.
- Audio comes back as PCM by default, or OGG_OPUS or MP3, at a 24 kHz default sampling rate, and WAV is documented as not supporting streaming at all.
- The request surface is deep: a voice id chosen from the published list, speech rate and volume each on a -50 to 100 scale, an emotion setting with an intensity from 1 to 5 that only some voices accept, optional word and phoneme timestamps for Chinese and English, and an hour-long synthesis cache for repeated text.
- Two practical notes: SSML is not currently supported in the input text, and the context passed for emotional steering is not billed.
- Billing is otherwise per character, counting spaces and punctuation.
- Synthorai serves it through the OpenAI-compatible /v1/audio/speech endpoint alongside the rest of its speech catalog.
FAQ
Is the BytePlus Seed TTS 2.0 API free to try?
Yes: new accounts get 10 trial calls and up to $1 in free credit, no card required. At $30/M input tokens, that credit alone covers roughly 8 requests of ~4K tokens against BytePlus Seed TTS 2.0.
What is BytePlus Seed TTS 2.0 best at?
Aimed at AI assistants, call centres, and video dubbing; plain-language prompt steers emotion, tone, speech rate, and pitch; reads the user's query alongside the response text it speaks. See the About section for the full picture from the vendor's own release notes.
How much does BytePlus Seed TTS 2.0 cost?
BytePlus Seed TTS 2.0 costs $30 per million input tokens and $0 per million output tokens on Synthorai. That is the provider's list price, with no platform markup.
Does BytePlus Seed TTS 2.0 support prompt caching?
BytePlus Seed TTS 2.0 has no cache-read discount on Synthorai today. Prompt caching still applies to other models on the gateway; see the pricing table for cache-enabled alternatives. Provider caching comparison →
How do I get access to BytePlus Seed TTS 2.0?
Point your existing OpenAI SDK at base_url="https://synthorai.io/v1", set model="seed-tts-2.0", and you're done. One API key covers every model on the gateway.