GET

/v1/schemas/byteplus/audio/tts/create?kind=output

kind outputactivity audiohash 32570d15…extracted Aug 15, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

probe-verified

Source trace
ebffeaf934197130d6b4cc6534a33b6b04d51a5a71ce2403b2bcf8c7e2cb627f
{
  "fetchedAt": 1786770726,
  "extractorVersion": "1",
  "verifiedAt": "2026-08-12"
}

Response body

5 properties · 0 required · 2 $defs
propertytypedescriptionconstraints
audiostringBase64-encoded audio in the requested format.
durationnumberLength of the delivered audio in SECONDS (float), after speech_rate is applied.
original_durationnumberLength in SECONDS before rate adjustment — the billing basis, capped at 120.
urlstringTemporary download URL for the same audio, signed with an x-expires deadline.
subtitleobjectPresent when audio_config.enable_subtitle was set. Word timings are NESTED inside each sentence — there is no top-level words array — and the block repeats the full text alongside them.

Types

2 $defs

TTSSubtitleSentenceobject

One timed sentence, carrying its own word-level breakdown. Times are MILLISECONDS.

textstring
start_timenumber
end_timenumber
wordsTTSSubtitleWord[]

TTSSubtitleWordobject

One timed word. Times are MILLISECONDS — unlike the response's duration fields, which are seconds. Note the tokenizer emits whitespace as its own zero-or-near-zero-width entry.

textstring
start_timenumber
end_timenumber

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"byteplus","endpointId":"tts/create","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}