API reference · Bytedance
bytedance/seed-speech/tts/2.0
Integrate this model through SandBase's unified API, with production-ready schemas and examples.
Production endpoint
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
POST
https://api.sandbase.ai/v1/runModel ID
bytedance/seed-speech/tts/2.001
Input Schema
9 parameters · 0 required · 9 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Optional | The text to synthesize into speech. · Max length: 5000 |
pitch | integer | Optional | Voice pitch shift in semitones. 0 is normal pitch, -12 lowers by one octave, 12 raises by one octave. · Min: -12 · Max: 12 · Default: 0 |
speed | number | Optional | Speech speed. 1.0 is normal speed, 0.5 is half speed, 2.0 is double speed. · Min: 0.5 · Max: 2 · Default: 1 |
voice | string | Optional | Voice to use for synthesis. The preset name encodes the voice and its supported language codes. 'mixed_en_zh' means the voice can seamlessly blend English and Chinese; separate codes (e.g. 'en_zh') mean the voice supports each language independently. · Options: vivi_mixed_en_zh_ja_es_id, mindy_en_es_id_pt_zh, stokie_en, dacey_en, tim_en, kian_en_zh, cedric_en_zh, sophie_en_zh, jean_en_zh, magnus_en_zh, mabel_en_zh, nadia_en_zh, opal_en_zh, pearl_en_zh, quentin_en_zh, vienna_mixed_en_zh, alina_mixed_en_zh, corinne_mixed_en_zh, esther_mixed_en_zh, freya_mixed_en_zh, gigi_mixed_en_zh, holly_mixed_en_zh, lyla_mixed_en_zh, daisy_mixed_en_zh, tracy_es_zh, jess_ja_es_id_pt_en_zh, pinky_es_ko_mixed_en_zh, sweety_ja_es, sandy_es_mixed_en_zh, sven_de, minimi_ja, usseau_fr, felipe_es, han_id, martins_pt, enzo_it, shane_ko, bonnie_zh, felix_zh, celeste_zh, monkey_king_zh · Default: "stokie_en" vivi_mixed_en_zh_ja_es_idmindy_en_es_id_pt_zhstokie_endacey_entim_enkian_en_zhcedric_en_zhsophie_en_zhjean_en_zhmagnus_en_zhmabel_en_zhnadia_en_zhopal_en_zhpearl_en_zhquentin_en_zhvienna_mixed_en_zhalina_mixed_en_zhcorinne_mixed_en_zhesther_mixed_en_zhfreya_mixed_en_zhgigi_mixed_en_zhholly_mixed_en_zhlyla_mixed_en_zhdaisy_mixed_en_zhtracy_es_zhjess_ja_es_id_pt_en_zhpinky_es_ko_mixed_en_zhsweety_ja_essandy_es_mixed_en_zhsven_deminimi_jausseau_frfelipe_eshan_idmartins_ptenzo_itshane_kobonnie_zhfelix_zhceleste_zhmonkey_king_zh |
volume | number | Optional | Volume. 1.0 is normal volume, 0.5 is half, 2.0 is double. · Min: 0.5 · Max: 2 · Default: 1 |
language | string | Optional | Force the text to be read as a single language, disabling automatic language detection. Leave unset for automatic detection (including seamless Chinese/English mixing on bilingual voices). Codes: zh (Chinese), en (English), ja (Japanese), es-mx (Mexican Spanish), id (Indonesian), pt-br (Brazilian Portuguese), ko (Korean), it (Italian), de (German), fr (French). · Options: zh, en, ja, es-mx, id, pt-br, ko, it, de, fr zhenjaes-mxidpt-brkoitdefr |
sample_rate | integer | Optional | Sample rate of the output audio in Hz. · Options: 8000, 16000, 22050, 24000, 32000, 44100, 48000 · Default: 24000 8000160002205024000320004410048000 |
output_format | string | Optional | Output audio format. 'mp3' returns MP3 audio; 'opus' returns Opus audio in an Ogg container. · Options: mp3, opus · Default: "mp3" mp3opus |
voice_instruction | string | Optional | Optional natural-language instruction that steers the delivery (tone, emotion, pace, volume), e.g. 'Speak in a cheerful tone' or 'Could you speak a bit slower?'. It is not spoken aloud and does not affect billing. |
02
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
03
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "bytedance/seed-speech/tts/2.0",
"text": "Hello, this is a test of ByteDance TTS 2.0 speech synthesis.",
"pitch": 0,
"speed": 1,
"voice": "stokie_en",
"volume": 1,
"sample_rate": 24000,
"output_format": "mp3",
"voice_instruction": "Speak in a warm, cheerful tone.",
"prompt": "a beautiful sunset over mountains"
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"
