SRT and WebVTT subtitle files with timestamps
Generate an SRT file or WebVTT file from a YouTube video or an uploaded recording. Every segment has start and end times. The same transcript is available as JSON or plain text with timestamps.
- JSON, text, SRT and VTT from one transcript
- Segment times on every transcript
- Word timings with include=words
How it works
- Four formats, one request
- Add format=json, text, srt or vtt to GET /v1/transcriptions/:id. The default is json.
- Timestamps in text
- format=text with timestamps=true prefixes each line with [hh:mm:ss].
- SRT and WebVTT files
- srt returns application/x-subrip and vtt returns text/vtt with a WEBVTT header, one cue per segment.
- Word timestamps
- include=words adds start, end, text, confidence and speaker for each word. Segments from creator captions have words set to null.
- Same price in every format
- Each format is a view of the same transcript. Reading it again does not cost minutes.
Text
A timestamp on every line
Ask for plain text with timestamps=true. Speaker labels are added when speakers were identified.
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?format=text×tamps=true" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY"
[00:00:00] Welcome back to the channel.
[00:00:04] Today we are looking at how transcripts are made.Subtitles
SRT vs VTT subtitle files
An SRT file contains numbered subtitle cues with start and end times. A WebVTT file starts with WEBVTT and works with an HTML track element. After transcription completes, use format=srt or format=vtt and save the response.
1
00:00:00,000 --> 00:00:04,200
Welcome back to the channel.
2
00:00:04,200 --> 00:00:09,800
Today we are looking at how transcripts are made.Words
Word timestamps in JSON
On a JSON read, include=words adds a words array to every segment, for karaoke-style highlighting or precise clips.
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?include=words" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY"Start with 60 free minutes
60 free minutes after you verify your email. No card required.
Frequently asked questions
Something missing? Ask support
Can I use transcript1 as an SRT file generator?
Yes. To convert YouTube to SRT or MP4 to SRT, transcribe the video, then request format=srt. You can also read the result as WebVTT, plain text or JSON.
Are the times in seconds?
In JSON, yes: start and end are seconds from the start of the media. SRT and VTT use their usual hh:mm:ss time format.
Do YouTube captions have word timings?
Auto-generated captions give word start times. Creator captions have no word timings, so words is null. AI transcription returns word start and end times with confidence.
Can I fetch a format before the job finishes?
No. SRT, VTT and text are only produced for completed transcriptions. Until then you get the JSON object back so you can see the status.