Skip to content

POST /v1/normalize POST

What the engine will say, without synthesising. Same key check as /v1/tts; free; nothing is logged to usage.

POST /v1/normalize
x-api-key: vt_live_…
content-type: application/json

{"text": "आपका OTP 482913 है। Payment 15/11/2026 तक करना होगा।", "en_digits": false}
{
  "normalized": "आपका O T P चार आठ दो नौ एक तीन है. payment पंद्रह नवंबर दो हज़ार छब्बीस तक करना होगा.",
  "chars": 85,
  "chunks": [{"text": "आपका O T P चार आठ दो नौ एक तीन है. payment पंद्रह नवंबर दो हज़ार छब्बीस तक करना होगा.", "tokens": 22}]
}
Field
text string, required ≤ 4 000 characters
en_digits bool, default false English digit names for codes

chunks is how the text will be split for synthesis (≤ 50 tokens each, on sentence boundaries), with the token count per chunk; the first chunk's length is what determines a cold time-to-first-audio.

Errors: 400 text is empty, 413 text longer than 4000 characters, 401. Rules and the canonical cases: Text normalisation.