SRT and VTT generator API: a file or URL in, subtitles out.

Submit a recording or a link, poll the job, and fetch the result with format=srt or format=vtt. The API is the same service as this website; API access comes with the 5,000-minute pack ($24) or Workspace ($19/month).

REST, JSON and plain filessrt, vtt, txt, docx, jsonUp to 10 hours per fileAPI access with the $24 pack or Workspace

How it works

From a recording to a subtitle file in three calls.

1

Submit the recording

POST a file, or a URL to fetch, with your API key. The response carries a job id.

2

Wait for the job

Poll the job's status until it reads done. Most files finish in under a minute; an hour of audio takes a few.

3

Fetch SRT or VTT

GET the job's result with ?format=srt or ?format=vtt. The same job answers txt, docx and json.

The calls

Shown with curl. Full reference in the docs.

Submit a link (use the file upload endpoint for local files):

curl -X POST https://whipscribe.com/api/v1/transcribe/url -H "X-API-Key: $KEY" -H "Content-Type: application/json" -d '{"url": "https://example.com/talk.mp4"}'

Check the job, then fetch subtitles:

curl https://whipscribe.com/api/v1/jobs/$JOB -H "X-API-Key: $KEY"
curl "https://whipscribe.com/api/v1/jobs/$JOB/result?format=srt" -H "X-API-Key: $KEY" -o talk.srt

Parameter names, upload limits, error codes and the machine-readable description are in the API docs and at /openapi.json. Keys are created from your account once it has API access (the 5,000-minute pack or Workspace); agents and automation tools have their own guide at /agents.

What the output is

Know the cue shape before you build on it.

Usage is metered by the minute of audio against the same credit balance as the website, at the same price. API access comes with the 5,000-minute pack ($24) or Workspace ($19/month); smaller packs top up an account that already has it.

Sample output

The same cues as SRT and as VTT.

captions.srt

1
00:00:34,680 --> 00:00:46,500
fourscore and seven years ago our fathers brought forth upon this continent a new nation conceived in in liberty, and dedicated to the proposition

2
00:00:46,500 --> 00:00:50,300
that all men are created equal.

3
00:00:50,300 --> 00:00:57,500
Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived

4
00:00:57,500 --> 00:01:01,620
and so dedicated, can long endure.

5
00:01:01,620 --> 00:01:07,920
We are met on a great battlefield of that war we have come to dedicate a portion of that field

6
00:01:07,920 --> 00:01:14,240
as a final resting place for those who here gave their lives that their nation might live

7
00:01:15,360 --> 00:01:18,800
it is altogether fitting and proper that we should do this

captions.vtt

WEBVTT

00:00:34.680 --> 00:00:46.500
fourscore and seven years ago our fathers brought forth upon this continent a new nation conceived in in liberty, and dedicated to the proposition

00:00:46.500 --> 00:00:50.300
that all men are created equal.

00:00:50.300 --> 00:00:57.500
Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived

00:00:57.500 --> 00:01:01.620
and so dedicated, can long endure.

00:01:01.620 --> 00:01:07.920
We are met on a great battlefield of that war we have come to dedicate a portion of that field

00:01:07.920 --> 00:01:14.240
as a final resting place for those who here gave their lives that their nation might live

00:01:15.360 --> 00:01:18.800
it is altogether fitting and proper that we should do this

Real output, unedited: a public-domain LibriVox reading of the Gettysburg Address (2 min 41 s) transcribed here in October 2026. The repeated word and the missing capitals are what came back; you would fix those on the transcript before downloading.

Before you rely on it

What the subtitle file is, and what it is not.

One cue per spoken phrase

Each cue is a phrase from the transcript with its start and end time. Most run a few seconds. A passage spoken without a pause can come out as one long cue of up to about half a minute, so split those in your editor if your platform wants two short lines at a time.

Timing comes from the audio

Cue times are taken from the recording itself, so the file lines up with the video or audio you uploaded. If you trim the start of the video afterwards, shift the cues by the same amount in your editor.

Accuracy we measured

On public test recordings, about 7 words in 100 differed from the reference for clean English read speech, between 4 and 9 in 100 for Spanish, Portuguese, Russian, French and German, and about 21 in 100 for Hindi. Noisy rooms, music and crosstalk do worse. Method and every number: the benchmark.

Fix a line before you download

Open the transcript, correct a misheard name or number on its line, and the SRT and VTT you download carry the correction with the timing unchanged.

A plain file, not a styled video

You get the subtitle file. Fonts, colours, position and captions drawn into the picture are done in your video editor or player, which reads this file.

Limits

Up to 10 hours or 5 GB per recording. The box on this page takes files up to 500 MB; larger ones continue on the upload page. 99+ languages, detected automatically.

Pricing

What the API costs

The preview is free. When the full transcript needs a pack, one-time packs are $4 for 500 minutes, $8 for 1,000 minutes, $12 for 2,000 minutes, $24 for 5,000 minutes. Credits never expire, which comes to about $0.29 to $0.48 per hour of audio. API access comes with the 5,000-minute pack ($24) or Workspace ($19/month). There is no free API tier and no separate API fee; smaller packs top up an account that already has access.

Recording$4 or $8 pack$12 pack$24 pack
1,000 clips of one minute$8.00$6.00$4.80
100 one-hour recordings$48.00$36.00$28.80
One 10-hour archive file$4.80$3.60$2.88

Figures are the share of a pack each recording uses. A button opens secure checkout for that pack. Every export format is included; full details on the pricing page.

FAQ

SRT and VTT API, answered.

Is there an API that returns SRT or VTT from audio?

Yes. Submit a file or URL, wait for the job to finish, and request the result with format=srt or format=vtt. TXT, DOCX and JSON are available from the same job.

How much does the subtitle API cost?

API access comes with the 5,000-minute pack ($24, about $0.29 per hour of audio) or Workspace ($19/month). It draws on the same credits as the website, with no separate API fee and no free API tier.

Does the API return a timestamp for every word?

No. Timing is per phrase: each cue or JSON segment has a start and an end time.

What is the maximum file length?

Up to 10 hours or 5 GB per file.

Can I use it for live captions?

No. The API transcribes recorded files and finished streams. It is not a live captioning service.

Subtitles and captions

Every page in this set uses the same upload box and the same export. All subtitle pages

Closest to this page

Make subtitles

From a link or a file

WebVTT

For a platform or an editor

Convert a subtitle file

Formats and rules

By language

Try the output before you write code.

Drop a file, download the SRT, and see whether the cue shape fits your pipeline. Free preview; API access with the 5,000-minute pack ($24) or Workspace.