What to do with an Instagram transcript?
A transcript is raw material for three jobs and nothing else: a subtitle file for a player or an editor, a set of notes you can jump through by time point, and a source text you rewrite into something new. Everything else people do with one is one of those three wearing a different name. This page produces four different texts from a single run — plain text, timestamped text, SubRip and WebVTT — and they are not four spellings of the same thing. For a run of 20 cues at 60 characters each they come out at 1,219 bytes plain, 1,519 bytes timestamped, 1,890 bytes as SubRip and 1,899 bytes as WebVTT, and 690 of the SubRip bytes are scaffolding that no word occupies. Choose the output by the job rather than by whichever button is nearest.
- If the job is subtitles, take the
.srtor the.vttand never the text file. A subtitle file is the same words plus a cue number and two timestamps on every line, and the two formats disagree about one character: SubRip writes00:00:00,000 --> 00:00:02,340with a comma, WebVTT writes the same range with a dot. The.vttis 9 bytes heavier because it also carries aWEBVTTheader that SubRip has no equivalent of. At 20 cues the scaffolding alone is 690 bytes in the SubRip and 699 bytes in the WebVTT, before a single word is added. - If the job is notes, tick the timestamp box before you copy, because that box is the only thing that puts times into the text file. With it on, every line carries a 12-character start stamp in square brackets, which is 15 bytes of prefix per line — so 40 lines spend 600 bytes on stamps and nothing at all on end times. With it off, the same download is the plain 1,219 bytes. The box changes the text file and the copy button; it does not touch the
.srtor the.vtt, which always carry both ends of every cue. - If the job is a rewrite, read the segments rather than the paragraph. The model is called with
return_timestamps: trueandchunk_length_s: 30, and the audio it runs on has been resampled to 16,000 samples per second of mono, so what comes back is a list of time-ranged pieces and the paragraph on screen is those pieces joined. A rewrite that has to keep the shape of the original works from the pieces; a rewrite that only needs the argument can work from the paragraph. - The one job a transcript cannot do here is tell you who was speaking. The call that produces it passes 4 options —
language,task,return_timestampsandchunk_length_s— and 0 of the 4 has anything to do with speakers, so a two-person Reel comes back as one undifferentiated column of text. That is not a setting you have missed; there is no speaker field to set. One of the three best-known tools advertises speaker recognition, and here you would label the turns yourself.
What the three best-known tools tell you to do next
The three pages that outrank this one for instagram transcript were fetched again on 14 October 2026. All three name the same three destinations — captions, notes, repurposing — and 0 of the three names a program, a file size, or any step that happens after the download finishes. That is the whole gap: the useful part of this question is not what a transcript is for, it is what happens in the minute after you save the file.
What does getthescript.app say you should do with the transcript?
Its Instagram page ends its three-step description with a heading reading "Download & Use" and the line: "Export your transcript in TXT, SRT, or VTT and use it anywhere." The "Who Can Benefit" block underneath is three audience labels with one sentence each — "Turn Instagram Reels into scripts, captions, and posts" for creators, "Repurpose content across channels with speed and accuracy" for marketers, "Transcribe short-form videos for notes and studying" for students. Those are the same three jobs this page describes, and the page stops at naming them: no editor, no player, no file size, and nothing about what the .srt contains that the .txt does not. The difference is 671 bytes at 20 cues, which is what the SubRip adds to the plain text of the identical run.
What does speakapp.com say you should do with the transcript?
Its Instagram page gives the same three destinations as the last step of its own instructions: "Copy the text to your clipboard or download as a text file. Use it for captions, notes, or content repurposing." There is no timestamped output anywhere on that path — the clipboard and the text file are the only two things the page describes — and the page states elsewhere that public Reels are trimmed to two minutes, so a two-minute clip is the largest thing that reaches those three destinations that way. Two minutes is also where the cost shows up: the resampled audio the model needs runs at 64,000 bytes per second, and each minute of 48 kHz stereo held alongside it is 26.88 MB in the tab.
What does wayin.ai say you should do with the transcript?
Its Instagram page comes closest to a workflow and splits its export menu by destination: "Download as plain text (TXT / DOC / PDF) for blog posts and content repurposing, or choose timestamped formats (SRT / VTT) for subtitle workflows and video editing pipelines." It also makes a promise about the transcript itself rather than about the file: "Click any timestamp to jump to the exact moment in the video." That is the only one of the three that says what a time point is for. What none of them states is the size of what you are handed, which here is 1,519 bytes for a timestamped text against 1,219 bytes for the plain one, on the same 20 cues.
How the four outputs differ, in bytes
The amount of machinery around the words is fixed by the format, not by the audio. Every SubRip and WebVTT cue spends 32 bytes on its own scaffolding — a newline, a 12-character start stamp, the five-character arrow and a 12-character end stamp — plus the digits of its cue number, plus one byte joining it to the next cue. At 20 cues of 60 characters each that scaffolding comes to 690 bytes in the SubRip and 699 bytes in the WebVTT, which is 36.5% of the SubRip file and the reason identical words cost 1,890 bytes as a subtitle file and 1,219 bytes as plain text.
WebVTT escapes its text and SubRip does not, and the asymmetry is countable in the source: three replacements in the WebVTT writer, one each for the ampersand, the less-than sign and the greater-than sign, and 0 in the SubRip writer. The practical consequence is that one run produces two subtitle files that do not contain the same characters — an ampersand is five characters in the .vtt and one in the .srt. Escaping the greater-than sign also removes the single sequence that is fatal inside a cue rather than merely ugly, because a parser reads it as the beginning of a timing line. SubRip is left alone deliberately: it has no escape sequences of its own, so writing & into an .srt would put six visible characters on screen where one was meant.
All three download buttons share one MIME type. The three files are handed to the browser as text/plain;charset=utf-8 — the string appears once in the 22,349-byte script, inside the single download() function that all three buttons call — so the .vtt goes out as plain text even though WebVTT has its own registered type. Editors that trust the extension will not notice; tools that sniff the type may treat a subtitle file as a note. Worth knowing before you conclude the file is broken.
Every cue whose end is not after its start is dropped before either subtitle file is built, so the .srt and the .vtt can contain fewer cues than the panel on screen showed you. If every cue in a run is dropped, the two subtitle buttons refuse with a message that there is no subtitle file to make, while the text file still downloads — 1,219 bytes of it, with no cue numbers in it at all. The filter is there because a WebVTT parser discards a cue whose end is not after its start and a SubRip cue with identical times is junk, so keeping them would hand you a file that plays differently from the one you were shown.
WEBVTT header. The timestamp box is not a column here because it does not affect the subtitle rows at all — it only decides whether the text file and the clipboard get a 15-byte start stamp on each line.The cue boundaries are not sentence boundaries. The model is called with chunk_length_s: 30, so a run is cut into 30-second windows and the cues come out of those windows, which means one subtitle line can run for most of half a minute — longer than a viewer reads in a single glance. A 20-minute Reel is 40 of those windows, and 40 cues of scaffolding alone come to 1,390 bytes in the SubRip and 1,398 bytes in the WebVTT. If the subtitle is going in front of an audience rather than into your own notes, splitting those long cues is the part to do by hand.
chunk_length_s: 30 in this site's own script, and every product here was printed and re-checked before it was written down.How to check a transcript before you use it
- Count the cues against the length of the audio. A run is cut into 30-second windows, so the cue count should be roughly the duration divided by 30 and can reasonably be higher; a 161-second clip is about 6 windows. If the file has 2 cues for three minutes of talking, the model heard almost nothing and the text is not worth rewriting from.
- Look at the separators before you look at the words. A comma between the seconds and the milliseconds means SubRip, a dot means WebVTT, and a file whose extension disagrees with its separator is the one that will fail to load. If the timestamps are missing entirely you are holding the plain text output, which no player will read as subtitles.
- Rename the file the moment you save it. The three downloads arrive named
transcript.txt,transcript.srtandtranscript.vtt— the source file's own name is recorded during the run and never reaches the export — so three Reels in one sitting give you three files calledtranscript.txtand nothing inside them that says which Reel they came from. - Leave the tab open for 30 seconds after the download. The file is handed over through a temporary blob URL that is revoked 30,000 milliseconds after the click, deliberately late, because a short timer can cancel the transfer before the browser has committed it. Closing the tab immediately after clicking is the one way to end up with a file that never arrived.
What a transcript cannot do
Three things are outside what any of these outputs contain. It cannot say who spoke, because nothing in the call asks the model to separate voices. It cannot read text that was burned into the picture, because the input is the decoded audio track resampled to 16,000 samples per second of mono and the frames were discarded long before the model saw anything. And it cannot give you a file when there was no speech: on a run where the model finds no spoken words, the panel is replaced with a sentence explaining that, and since both the copy button and the text download read the panel rather than the model output, the file you save in that case contains the explanation instead of a transcript. That is worth knowing before you paste it into anything.
Last checked: 14 October 2026. The byte counts for the four outputs are arithmetic done on the export functions in this site's own script rather than measurements of a saved file: each cue template is a newline, a 12-character start stamp, a five-character arrow, a 12-character end stamp and a newline, which is 32 bytes plus the digits of the cue number plus one joining byte, and the example run used throughout is 20 cues of 60 characters. The 22,349-byte script and the 11,749-byte stylesheet were measured on this machine on that date, as were the single occurrence of text/plain;charset=utf-8 and the three escape replacements in the WebVTT writer against 0 in the SubRip writer. The model sizes of 79.7 MB and 43.6 MB, the 45.9 MB first visit and the memory figures are this tool's own recorded measurements, taken in an ordinary browser tab on a two-core, four-gigabyte machine. The audio arithmetic is derived from the Web Audio specification rather than measured: a decoded sample is 32 bits, so 48,000 × 2 × 4 = 384,000 bytes per second of 48 kHz stereo and 16,000 × 4 = 64,000 bytes per second of 16 kHz mono, and because both buffers exist while the resample runs a clip costs 448,000 bytes per second of audio — 26.88 MB per minute, 13.44 MB for 30 seconds and 537.6 MB for twenty minutes. The quotations from the three tools are their own sentences, fetched on 14 October 2026, and are reproduced as sentences rather than paraphrased. Anything that could not be measured or derived is absent rather than estimated.
If what you are deciding is how many of these you are going to run, bulk transcribing Instagram Reels covers what changes when there is more than one file. If you have not run one yet and want to know what the output looks like before you commit, the free-tier page sets out what the tool costs your machine rather than your card, and whether transcribing uploads the video covers where the work actually happens. If the words came back wrong rather than the file, the five failure modes is the page to start from, and if the clip was simply too long to finish, the ceiling is on the Reel length limit page.