← Instagram Transcript

How to Get SRT Subtitles From an Instagram Reel

2026-10-13
Short answerFour steps: get the Reel's audio into a file on your own device, upload it, press SRT, and save the file. The part nobody states plainly is what lands in it. Our export puts the entire transcript into a single cue that runs from 00:00:00,000 to 00:00:00,000 - zero seconds of screen time - because the model returns text with no timestamps in it at all. We muxed our own SRT into a 30-second MP4 today and the subtitle track came back 0.00 seconds long; the same three lines with real timings came back 25.66 seconds long. So the file you download is the script, not the captions. This page shows exactly what is inside it, why we do not fake the timings, and how to get honest ones out of the audio you already have.

The four steps

What we ran today

We took one piece of speech, cut it into reel-shaped lengths of 15, 30, 60 and 90 seconds at 16 kHz mono and 64 kbps, and uploaded each one twice to our own endpoint, which runs Cloudflare Workers AI (@cf/openai/whisper). All eight uploads returned HTTP 200 and success. Every response carried the same six fields - success, transcript, language, engine, fileSize and fileName - the language field read unknown in all of them, and the transcript text contained zero line breaks. There were no timestamps, no speaker labels, no confidence score and no segment list anywhere in the response. We also built a 30-second clip with three sentences placed at known positions so we could check timings against ground truth.

Four reel lengths, and the files they produced

Every one of those files has one cue and zero seconds

This is the thing to know before you download. Our SRT is the cue number, the line 00:00:00,000 --> 00:00:00,000, and then the whole transcript as one block. Start and end are the same instant, so the cue is never on screen. We checked that objectively rather than by eye: muxing our own export into a 30-second MP4 with ffmpeg produced a subtitle stream whose duration ffprobe reads as 0.000000 seconds, made of a single packet with no duration. The same three lines written with their real start and end times produced a subtitle stream of 25.660000 seconds. A caption track that reports zero seconds is not a caption track that needs small corrections - it is text waiting for timings.

Four reel lengths transcribed and exported as SRT: 235 to 3,304 characters, one cue each, subtitle track duration 0.00 seconds
Four reel lengths, eight uploads, one cue in every SRT file.

Why we do not invent the timings

We could. Splitting the transcript evenly across the length of the clip is one line of code, and plenty of tools do it. We built a clip where we know exactly when each sentence is spoken so we could measure what that does: three sentences placed at 0.50 s, 11.00 s and 22.50 s of a 30-second piece, running 3.06, 3.47 and 3.16 seconds. Total speech: 9.69 seconds out of 30. Here is what even division does to it.

You can get real timings out of the audio instead

The timings are not lost - they are in the audio, and a plain piece of free software can read them back out. Running silence detection over that same 30-second clip found the six boundaries at 0.70, 3.30, 11.22, 14.34, 22.70 and 25.49 seconds against true values of 0.50, 3.56, 11.00, 14.47, 22.50 and 25.66. The largest miss was 0.26 seconds and the smallest 0.13. That is not a guess - it is measured off the waveform, and it is close enough to cut cues against by hand in a subtitle editor.

Uploading the video file works, and gives the same text

You do not have to strip the audio out first, as long as the file is small enough to get through. We uploaded a 30-second 720x1280 MP4 at 2,496,731 bytes and it came back HTTP 200 in 3.61 seconds with a transcript byte-identical to the one from the audio-only version of the same clip - 166 characters, same words, same punctuation. On earlier tests on this site the upload ceiling sat between 3.18 MB and 3.35 MB, which a screen recording burns through in a few seconds, so pulling the audio out is still the safer route for anything long. One thing that does not work: handing our own SRT back to the transcriber. Both .srt and .vtt came back HTTP 400 with 'Unsupported file format. Please select MP3, WAV, M4A, AAC, OGG, FLAC, MP4, MOV, or WEBM.' - there is no route from a subtitle file to a timed subtitle file here.

What the file is still good for

Affiliate link

What this page leaves you with is the words, not the timing. Corel VideoStudio Pro is a desktop video editor with a speech-to-text converter that builds subtitles from your own footage, plus subtitle editing for the files you already have.

FAQ

Can I get an SRT file straight from Instagram for a Reel?

We could not verify one, and we are not going to claim there is or is not one from here - checking it needs an account and a creator-side workflow we do not have access to today. What we can tell you is what our own tool produces and exactly what is in the file, which is what this page documents.

Why is my SRT file not showing any subtitles when I play it?

Because the single cue in it runs from 00:00:00,000 to 00:00:00,000 - zero seconds on screen. When we muxed our own export into an MP4, ffprobe reported the subtitle stream as 0.000000 seconds long. The text is all there; the timing is not. Open it in a subtitle editor, cut it into cues against the audio, and export again.

Should I use SRT or VTT?

For what our tool produces, it makes almost no difference - both carry the same single zero-duration cue. SRT was 33 bytes larger than the plain text at every length we tested and VTT 39 bytes larger. Pick based on where the captions are going: SRT for most video editors and players, VTT for web players.

How many cues should a 30-second Reel have?

As many as there are stretches of speech. On our test clip, 30 seconds held 9.69 seconds of speech in three sentences, so the correct answer was three cues - not the ten a fixed two-second split would have produced, and not the one our export gives you.