← Instagram Transcript

Why an Instagram Captions File Comes Back With No Timings

2026-10-26
Short answerBecause the transcript has no times in it to begin with. We sent 15-, 30- and 60-second clips and got 235, 492 and 806 characters back. Every response had the same 6 fields and 0 line breaks, and none of them had a timestamp, a segment list or a word list. When the page wraps that text as SRT, the file runs 33 bytes longer than the plain text - 268, 525 and 839. It adds one cue whose start and end are both 00:00:00,000. The wrapper is real. The timings inside it are not.

What came back from three lengths

We looped one spoken clip to 15, 30 and 60 seconds at 16 kHz mono and sent each one.

All three returned HTTP 200 with success true. All three carried the same 6 fields, reported language as unknown, named the engine, and contained 0 line breaks. The text is one unbroken paragraph, so there is nowhere in it for a time to live.

What the caption files actually weigh

We ran the page's own download code in a browser on each of those three transcripts and measured the file it writes.

TXT, SRT and VTT file sizes for three transcript lengths, and the subtitle stream duration each one reports in a real MP4

SRT runs 33 bytes over TXT in all three cases, and VTT runs 39 over. The overhead doesn't grow with the transcript, and that's the tell. A real caption file's size is driven by how many cues it holds and how long each one runs. A flat 33 bytes means one cue, added once.

The cue says zero to zero

Here is the whole SRT the page writes for the 235-character transcript: an index line, then 00:00:00,000 --> 00:00:00,000, then every word of the transcript as one block. Start and end are the same instant, so the cue is on screen for 0 seconds.

That isn't a bug we can quietly patch. The model returns text, and we don't get word timings from it. Splitting the text evenly across the clip's length would produce timings that look right and are wrong, so we don't do it.

We proved it with a media container, not by eye

Numbers in a text file are easy to argue about. So we put both files into a real MP4 and asked a player how long the subtitle track lasts.

Same container, same muxer, same command. One track has no duration at all. The other reports 25.66 seconds across 6 packets. That is the gap between a caption file and a transcript with a header on it.

How many cues a real file would need

Our 60-second clip came back with 806 characters and 145 words - more text than fits on a phone screen at once. A caption file for it would need several cues of two or three seconds each, every one with a start and an end.

Our file has one cue holding all 145 words, and it sits on screen for zero seconds. So the file isn't 90% of the way there. It's a container with a header and the text, and the timing work is all of it.

What to do with it

Use the TXT when you want words - a quote, notes, a script, a blog post. Use the SRT or VTT as a starting block in a subtitle editor and set the cues yourself. If you need captions burned into a published video, the timing has to come from somewhere, and today it isn't from us.

One thing does hold up: the words are the words. All three lengths came back with the same opening sentence in the same order, so what you're fixing is timing, not text.

Affiliate link

The text is sound and the clock is missing, which is a timeline job, not an upload job. Corel VideoStudio Pro is a desktop editor where this transcript goes on a real timeline and each cue gets a start and an end you set. It does not transcribe - the words come back from this page.

FAQ

Why is my SRT only a few bytes bigger than the TXT?

Because it holds one cue, not many. Today a 235-character transcript gave TXT 235 B and SRT 268 B; 492 characters gave 492 and 525; 806 gave 806 and 839. The gap stayed 33 bytes at every length, and VTT stayed 39 over.

Does the caption file have real timestamps?

No. The single cue reads 00:00:00,000 --> 00:00:00,000. We muxed that file into a 60-second MP4 and the subtitle stream reported 0.000000 s, while a hand-written file with three cues reported 25.660000 s.

Can I fix the timing by re-encoding or re-uploading?

No. The response has no time fields at all - 6 fields, 0 line breaks, no segment or word list in any of the three uploads today. Re-running gives the same text back.

What should I use instead?

Take the TXT for anything that only needs words, and open the SRT in a subtitle editor when you need cues on screen. The text is sound; the timing is the part you add.

Is the VTT any different from the SRT?

Only in the wrapper. VTT ran 39 bytes over the plain text and SRT ran 33 over, at all three lengths today. Both carry the same single zero-length cue.