Formats

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.

format=text&timestamps=true
curl "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD?format=text&timestamps=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.

format=srt
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.

include=words
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.

Get your API key

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.