Text to Speech With Word Timings for Captions and Subtitles
Word timings tell you exactly when each word in a text-to-speech clip starts and ends, which is what you need to build captions, subtitles and highlighted read-along text. With Voxmint you can generate speech and request word timings alongside it, then use them to sync text to audio without transcribing the file again. This guide explains what word timings are, where they help, and how to use them well.
What are word timings?
A normal text-to-speech result is just audio. Word timings add a second layer of data: for every word in your script, the moment it begins and the moment it ends in the clip. Think of it as a map between your text and the sound.
Because the audio was generated from your script, the words are already known. There is no need to guess what was said, which means no recognition errors on brand names, product terms or unusual spellings.
Where word timings are useful
Captions and subtitles
Video platforms and editors can import timed text. With word timings you can group words into caption lines, choose where each line breaks and decide how long each stays on screen. For short vertical video, you can show a few words at a time and keep them locked to the voice.
Read-along and highlighted text
Learning apps, children's stories and accessibility tools often highlight each word as it is spoken. Word timings give you the start and end of each word, so you can move a highlight in step with playback.
Language learning
Learners benefit from seeing and hearing words together. Timings let you build click-to-replay words, slow repeats of a single phrase and shadowing exercises.
Editing and automation
If you cut or rearrange a voiceover, timings help you find the right place quickly. Build tools that jump to a phrase, trim silence between sentences or place sound effects on a specific word.
How to use word timings in the Studio
- Open the Studio and choose a voice that suits your script.
- Paste your text. Keep the script clean: the timings follow whatever words you write.
- Generate the speech.
- Open the word-level view to see the transcript linked to the audio. Play the clip and watch the words follow along.
- Download the audio and use the timings for your captions or read-along.
Always listen through once. If a name is mispronounced, adjust its spelling in the script and regenerate; the timings will update with the new audio.
Using word timings through the developer API
If you are building captions or a read-along into your own app, the developer API accepts a request for word timings when you generate speech. Streaming generation returns audio chunk by chunk for the fastest first sound, and the timings are attached to the saved record shortly after the stream ends. For most captioning workflows, that is exactly what you want: stream the audio to the listener, then fetch the finished record for the text sync.
A practical pattern:
- Send your text with a voice and ask for word timings.
- Play the audio as it arrives.
- When the generation finishes, read the record and collect the timings.
- Render captions or highlights from those values.
If you have many lines, batch generation lets you submit up to 100 lines with one set of settings, each producing its own clip. This suits lesson libraries, product videos and anything that comes as a list of short scripts.
Turning word timings into good captions
Raw word-level data is precise but not yet readable. A few rules turn it into captions people enjoy:
- Group words by phrase. Break at commas, full stops and natural pauses rather than at a fixed word count.
- Keep lines short. Two short lines are easier to read than one long one, especially on phones.
- Hold each caption long enough. A caption should stay up long enough to read comfortably, even if the spoken phrase is quick.
- Avoid splitting names and numbers. Keep "twenty twenty-six" or a full product name on one line.
- Match punctuation to speech. Because captions follow your script, tidy punctuation produces tidy captions.
Write the script for both the ear and the eye
Your script drives the voice and the captions, so it pays to polish it:
- Use short sentences. They sound better and caption better.
- Spell numbers the way you want them spoken, or the way you want them shown, and be consistent.
- Add punctuation that creates natural pauses. Pauses give captions clean break points.
- Spell tricky names phonetically if the voice stumbles, then check how the caption should read; you may want to show the original spelling in your subtitle file.
Choosing a voice for captioned content
Pick a voice whose pace suits reading. A very fast read is hard to follow even with captions, while a slightly slower, clear voice keeps text and sound together. A style prompt such as "slower and clearer" can adjust delivery without changing the speaker. Voxmint's catalogue covers 30 languages, so the same approach works for multilingual captions: generate the same script in each language and use each clip's own timings. Browse the text-to-speech page to hear what is available.
Limits to keep in mind
- Timings describe the generated audio. If you edit the audio afterwards by speeding it up or cutting it, adjust your timings to match.
- Timings are for the words in your script. If you add words in your editor, they will not have timings.
- Always review auto-built captions for line breaks and reading speed before you publish.
FAQ
Do I need to transcribe the audio to get captions?
No. Because the speech is generated from your text, the words are known. Word timings give you where each one falls, so there is no separate transcription step.
Can I use word timings for languages other than English?
Yes. Voices across the catalogue's languages can be used the same way. Check the result for any language with unusual word boundaries, and review the captions before publishing.
Do word timings work with streaming?
Yes. The audio streams while it is generated, and the timings are added to the saved record shortly after the stream closes.
What if I change the script?
Regenerate the audio. The timings belong to the specific clip they were created with, so a new script needs a new generation.
Want captions that stay in sync with your voiceover? Try Voxmint and generate your first timed clip.