Captions

Text to speech with subtitles

Voxmint can return subtitles with the speech it makes. Turn on word timings, generate, and download the clip with an SRT or VTT file timed to the audio. The timings come from aligning the finished audio with your script, and lines break where a subtitle should: at sentence ends, pauses and phrase boundaries.

Real output

Two catalogue samples and the SRT files Voxmint made for them, unedited. Play the audio and follow the times.

HollisMale · mature
hollis.srt
1
00:00:00,060 --> 00:00:01,100
For ten thousand years,

2
00:00:01,800 --> 00:00:03,380
this valley has kept its secrets.
YuiFemale · young adult · Tokyo standard
yui.srt
1
00:00:00,040 --> 00:00:00,580
いらっしゃいませ。

2
00:00:01,300 --> 00:00:02,660
本日はご来店いただき、

3
00:00:02,960 --> 00:00:03,900
誠にありがとうございます。

4
00:00:05,240 --> 00:00:06,360
何かございましたら、

5
00:00:06,640 --> 00:00:08,030
お気軽にお声がけください。

How it works

  1. 01

    Turn on word timings

    In the studio settings, switch on Word timings. Through the API, send "timestamps": true.

  2. 02

    Generate your script

    Any catalogue voice or a designed one, in any language. Words light up on replay so you can check the timing.

  3. 03

    Download the captions

    Under the take, choose SRT or VTT. Most video editors and YouTube accept SRT; VTT is the web format.

From the API

Generate with timings, then fetch the captions for the generation id. More on the API.

curl
curl -X POST https://voxmint.app/api/v1/tts/generate \
  -H "Authorization: Bearer $VOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "For ten thousand years, this valley has kept its secrets.",
       "mode": "speech", "catalog_voice_id": "hollis", "timestamps": true}'

curl -H "Authorization: Bearer $VOX_API_KEY" \
  "https://voxmint.app/api/v1/generations/$ID/captions?format=srt" --output take.srt

Questions

Do subtitles cost extra?
No. Only the characters you turn into speech are counted; word timings and the subtitle files are free.
How are the lines split?
A line ends at a full stop, before it passes about 42 characters or 7 seconds, or at a pause. Japanese, Chinese and Thai lines hold up to 20 characters and also break after a comma such as 、, so they split between phrases.
Which languages work?
Every language Voxmint speaks. Catalogue voices know their language, so the alignment does too; for a designed voice you can pass the language through the API.
How accurate are the timings?
They come from aligning the finished audio with your script, word by word, so they follow what was actually spoken rather than an estimate. Check them on replay: the words light up as they are heard.
Can I get word-level timings instead of lines?
Yes. The API returns every word with its start and end time in the generation’s timestamps, for karaoke-style highlighting or your own caption styling.