IGTranscript

How accurate is an Instagram transcript — and how do you check one?

Nobody can hand you a percentage that means anything, so check the three places errors actually collect. On one clean 161.2-second recording — one speaker, no music, no crosstalk — this tool returned 338 words in 27 segments, and 19 of those words were wrong: 5.62%, which is 94.4% right. The mistakes were not scattered evenly. Four were proper nouns, three were homophones, and seven were one phrase repeated at a chunk seam. So: read every name once, listen to the twenty-second marks, and count the words yourself — the panel’s count is not the count in the file you download, and none of the 22,349 bytes of app.js contains a confidence score you could read instead.

InVideo WW

The rest of this page is the working behind that answer: the full error list from that 161.2-second run and where each error came from, the arithmetic that says a seam falls every twenty seconds and that seven of the eight in this recording landed inside a segment rather than between two, the three counts that disagree on one screen and why, the two model files whose sizes differ by 1.88×, and what the three pages that outrank this one say about accuracy across 111,530 characters of their own Instagram copy — which is a badge and a heading, and no method at all.

What the number looks like when you actually count it

I ran a public-domain recording of a speech through this page on this machine: 161.2 seconds, one speaker, studio-quiet, English, no music bed. The panel came back with “338 words · 27 segments · transcribed in 71.4s”. Then I put the transcript beside the text that was read and counted, word by word, every place the two disagreed. Nineteen words of 338 were wrong — 5.62% — and the run itself took 0.443 seconds per second of audio.

Nineteen wrong words in four groups: four proper nouns, three homophones and five other single words, each edited one word at a time, plus one seven-word phrase repeated at a chunk seam. Nineteen wrong words, four groups One cell is one word that had to be changed before the transcript could be quoted. proper nouns homophones other single words one phrase, repeated twelve words, edited one at a time seven words, one place A percentage describes every word in the file. What a reader fixes is the holes, and there are fewer of those than there are words.
Nineteen wrong words out of 338, and they do not sit in nineteen places. Twelve were substituted, dropped or inserted one at a time — four proper nouns (the same brand misspelled three times, plus “Address” turned into “Addressed” at 27.82 seconds), three homophones (“here” to “hear” twice, 60.18 seconds apart, and “Four score” to “For four”), five others (an inserted “For”, “in” for “and”, “struggle” for “struggled”, a dropped “poor”, “tract” for “detract”) — which is 3.55% of the document. One place repeated seven words in a row at a chunk seam, and that is the remaining 2.07%. So 5.62% wrong is 11 places to check, not 338 words to distrust, and seven of the twelve single-word errors fall into two categories you can scan for on purpose.

Check one: the names, and the words that sound the same

Four of the twelve substituted words were proper nouns and three were homophones, which is 7 of 12 from two categories you can scan for deliberately. The model has never seen the name of your guest, your product or your client, and it has no way to ask. It has also, in this recording, been unable to tell “here” from “hear” in either direction — twice, 60.18 seconds apart.

Check two: the seam, every twenty seconds

The recogniser does not read your file in one pass. app.js asks for chunk_length_s: 30 at line 282 and never sets a stride, so the library falls back to chunk_length_s / 6 — 5 seconds — and then advances by window - 2 * stride, which is 30 − 10 = 20 seconds. Those three lines are in the library, not in this page: the default is at line 1834 of the pipeline module and the jump is computed at line 1843. The consequence is that every second of your audio is recognised one and a half times, and every twenty seconds there is a join.

Five thirty-second windows sliding forward twenty seconds at a time across 161.2 seconds of audio. Each window is drawn as a five-second grey overlap, a twenty-second dark middle of new audio, and another five-second grey overlap, so consecutive windows share ten seconds and a seam falls every twenty seconds. A 30-second window that only moves 20 seconds Five seconds of overlap at each end, twenty seconds of new audio in the middle. 0 s 161.2 s window 1 · 0–30 s window 2 · 20–50 s window 3 · 40–70 s window 4 · 60–90 s window 5 · 80–110 s red marks: seams every 20 s — 7 of 8 land inside a segment, not between two grey: 5 s of overlap at each end — the first window begins at 0 s
The window is 30 seconds and the step is 20, so ten seconds of every window are read a second time — 320,000 bytes of audio at 16,000 samples a second, one channel, four bytes a sample. For 161.2 seconds that is 8 windows and a seam every 20 seconds. Seven of the eight seam instants fall strictly inside a transcript segment, which is why the output looks continuous and why the one duplicated phrase at the 100–110 second overlap is not visible as a break. The figure shows five of the eight windows; the pattern continues to 140.

Check three: three different counts on one screen

The panel says “338 words · 27 segments”, and neither number is the number of words or lines in the file you download. That is not a bug and it is not hidden — it is three separate filters, each doing something the other two do not, and if you use the panel number as your word count you will be short. On the 161.2-second run no segment and no cue was dropped — the panel’s 27 segments and the .srt’s 27 lines matched exactly, which is why the gap is easy to miss until a file where the filters bite.

Three counts narrowing from left to right: chunks returned by the model, segments after empty ones are dropped, and cues after zero-length ones are dropped. Each box is smaller than the one before it, and the panel reports the middle one. One run, three counts, one of them on screen Each filter removes something real. None of them renumbers the others. chunks what the model returns one per sentence-ish span never shown to you drop blank segments what the panel counts start must be finite this is the number you read drop end = start cues what the .srt holds end must be after start this is the number you keep Measured on one run here: 4 chunks, 3 segments, 2 cues. A missing line in the .srt is usually the third filter, not a lost sentence.
The three numbers come from one run and none of them is an error. Chunks are what the model hands back; toSegments() drops the blank ones and any chunk whose start is not a finite number; subtitleCues() then drops cues whose end is not after their start, because both subtitle formats reject those. On the run measured here that was 4 chunks to 3 segments to 2 cues, so the panel’s 27 segments for the 161.2-second recording is an upper bound on the number of lines in its .srt, not an exact count.

Why the tool cannot just tell you how accurate it was

There is no confidence number to read, because the code never asks for one. Across the 22,349 bytes of app.js, no_speech_prob appears 0 times, avg_logprob 0 times, confidence 0 times, score 0 times, temperature 0 times, beam 0 times and word_timestamps 0 times. return_timestamps appears once, at line 281, set to true — sentence-level timings, not word-level. There is one decode, no second attempt at a different temperature, and nothing to compare the first attempt against.

What the three pages that outrank this one say about accuracy

Across the 10 Instagram pages the three sites publish — 111,530 characters of body text once the heading lists and the scraper’s metadata are stripped, split 87,474 on wayin.ai, 14,805 on speakapp.com and 9,251 on getthescript.app — accuracy is asserted 3 times as a number and explained 0 times.

Is 94.4% good enough to publish?

For a first draft, yes; for a quotation, no. 19 wrong words in 338 is a document you can fix in about the time it takes to read it once, and the eleven places are findable because they cluster: names, homophones and one seam. The test is not the percentage, it is whether the sentence you plan to quote contains a proper noun, a here/hear, or a phrase that repeats itself — those three account for 12 of the 19 wrong words, 5.62% of the document.

Does the smaller model make the errors worse?

It changes which errors you get, and it is 36,050,381 bytes smaller — 40,844,231 bytes of weights against 76,894,612. The 19-word count above is from the larger checkpoint; the smaller one is the entry labelled “smaller download”, so if accuracy is the thing you care about, that is the wrong menu item to pick, and the panel will tell you which one ran in the line under the transcript.

Can I check a transcript without the original audio?

Partly. Two of the three checks work on the text alone: a repeated phrase is visible without hearing anything, and a proper noun you already know the spelling of is visible too. The homophones are the ones that need the audio, because “those who hear gave their lives” reads perfectly well until you play the eight seconds around it — and the timestamp in front of that line tells you exactly which eight seconds: 66.82 seconds into the file, on a line whose stamp is 12 characters long.

Why does my transcript repeat a phrase that was said once?

Because two windows both heard it. The recogniser reads 30 seconds at a time and steps forward 20, so ten seconds of every window are transcribed twice, and the stitcher is what decides which copy to keep. In the 161.2-second recording that produced a 7-word repeat at the 100–110 second overlap — the largest single error in the document, and the only one you can find by searching for a phrase that appears twice in a row.

How long should a transcript take to make?

About 0.443 seconds per second of audio on this machine with the larger checkpoint: 71.4 seconds for 161.2 seconds of speech, and 251.5 seconds for 600.3 seconds on a longer file. A two-minute Reel is therefore a minute or so of waiting, and the model download is a separate cost that happens once, at 79.7 MB for the larger checkpoint.

Last checked: 28 October 2026. The error list is from a 161.2-second public-domain recording transcribed by this page on this machine, then compared word by word against the text that was read: 338 words, 27 segments, 71.4 seconds, 19 wrong words in 11 places, of which 4 are proper nouns, 3 are homophones and 5 are single substitutions, plus a 7-word repeat — counted by script here, not estimated. The 0.443 and 2.26 figures are that division; 0.419 is 251.5 ÷ 600.3 from the separate 600-second run recorded on 27 October. The window arithmetic is read from the pipeline module: stride_length_s defaults to chunk_length_s / 6 at line 1834 and jump = window - 2 * stride at line 1843, with chunk_length_s: 30 set at line 282 of app.js. The 8 windows, 8 seams, 7-inside-one-segment and 3.7-segments-per-window figures were computed from the timestamps in that run’s own output, not assumed. The source counts are from the 22,349-byte app.js as deployed: no_speech_prob, avg_logprob, confidence, score, temperature, beam and word_timestamps 0 times each; return_timestamps 1 time at line 281. The model byte sizes are the q8 encoder and merged-decoder files listed by huggingface.co for both checkpoints on 28 October, and the 2,805,388-byte remainder is 79.7 MB minus those weights — an inference from two measured totals, not a file listing. The 111,530 characters of competitor copy cover 10 Instagram pages in this site’s benchmark directory, measured after the heading lists were stripped. The 0.443-second rate is this machine with the larger checkpoint; a phone will be slower.

If the words came back empty rather than wrong, the no-captions page covers the two files that produce nothing at all. If you want the timings that make check two possible, the timestamps page covers the 12 characters in front of every line, and the SRT and VTT page covers why the cue count is lower than the segment count. The long-Reel page has the full 600-second run quoted above, and what to do with a transcript covers the exports this page counts.