API reference · Bytedance

bytedance/seed-speech/tts/2.0

Integrate this model through SandBase's unified API, with production-ready schemas and examples.

AUDIOAsyncOpen model
Production endpoint

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

POSThttps://api.sandbase.ai/v1/run
Model IDbytedance/seed-speech/tts/2.0
01

Input Schema

9 parameters · 0 required · 9 optional

ParameterTypeRequiredDescription
textstringOptionalThe text to synthesize into speech. · Max length: 5000
pitchintegerOptionalVoice pitch shift in semitones. 0 is normal pitch, -12 lowers by one octave, 12 raises by one octave. · Min: -12 · Max: 12 · Default: 0
speednumberOptionalSpeech speed. 1.0 is normal speed, 0.5 is half speed, 2.0 is double speed. · Min: 0.5 · Max: 2 · Default: 1
voicestringOptionalVoice 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
volumenumberOptionalVolume. 1.0 is normal volume, 0.5 is half, 2.0 is double. · Min: 0.5 · Max: 2 · Default: 1
languagestringOptionalForce 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_rateintegerOptionalSample rate of the output audio in Hz. · Options: 8000, 16000, 22050, 24000, 32000, 44100, 48000 · Default: 24000
8000160002205024000320004410048000
output_formatstringOptionalOutput audio format. 'mp3' returns MP3 audio; 'opus' returns Opus audio in an Ogg container. · Options: mp3, opus · Default: "mp3"
mp3opus
voice_instructionstringOptionalOptional 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

FieldTypeDescription
idstringUnique identifier for the generation task
statusstringTask status: pending, running, completed, failed, timeout
modelstringModel used for the generation
outputsarrayArray of output items
outputs[].urlstringURL of the generated artifact
outputs[].content_typestringMIME type (e.g. image/png, video/mp4)
errorobject | nullError details if failed, null on success
error.typestringMachine-readable error type code
error.messagestringHuman-readable error description

Async Workflow

This model uses asynchronous execution. Submit a request and poll for the result.

  1. Submit — POST to /v1/run, receive an id
  2. Poll — GET /v1/run/{id} until status is completed, failed, or timeout
  3. Retrieve — Read outputs from 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"