Skip to content

ByteDance Seed Speech Text to Speech

POST/v1/run

Seed Speech TTS 2.0 is ByteDance's text-to-speech AI model. Generate human-like voiceovers with expressive intonation, multilingual support, and customizable voice characteristics.

Request body

Submit an async generation request. The model field selects the model; other fields are model-specific input parameters.

stringmodelrequired

Model identifier. Set to bytedance/seed-speech/tts/2.0.

Default: bytedance/seed-speech/tts/2.0

Optional<string>text

The text to synthesize into speech.

Optional<string>output_format

Output audio format. 'mp3' returns MP3 audio; 'opus' returns Opus audio in an Ogg container.

Allowed values: mp3, opus

Default: mp3

Optional<integer>sample_rate

Sample rate of the output audio in Hz.

Allowed values: 8000, 16000, 22050, 24000, 32000, 44100, 48000

Default: 24000

Optional<number>volume

Volume. 1.0 is normal volume, 0.5 is half, 2.0 is double.

Range: 0.5 to 2

Default: 1

Optional<string>voice

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.

Allowed values: 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

Optional<integer>pitch

Voice pitch shift in semitones. 0 is normal pitch, -12 lowers by one octave, 12 raises by one octave.

Range: -12 to 12

Default: 0

Optional<string>language

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).

Allowed values: zh, en, ja, es-mx, id, pt-br, ko, it, de, fr

Optional<string>voice_instruction

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.

Optional<number>speed

Speech speed. 1.0 is normal speed, 0.5 is half speed, 2.0 is double speed.

Range: 0.5 to 2

Default: 1

Response Schema

The submit endpoint returns a run response. If its status is pending or running, poll GET /v1/run/{id} with the returned opaque ID until it reaches a terminal state.

stringidrequired

Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.

stringstatusrequired

Current public run status.

Allowed values: pending, running, completed, failed, timeout

Optional<string>model

Public SandBase model name used for this run.

Optional<array<object>>outputs

Present only for completed runs. Each object is capability-specific; inspect the selected model schema for its fields.

Optional<object>error

Present only for failed or timeout runs. Contains a public error type and sanitized message.

Optional<string>error.type

Stable public error category.

Optional<string>error.message

Sanitized error message safe to show to clients.

Optional<object>usage

Usage details when available.

Model capabilities

array<string>capability_tagsrequired

Capabilities declared by the model registry.

Default: text-to-speech

stringexecution_moderequired

Execution mode declared by the model registry.

Default: async