I want the script of an Instagram Reel, not the words — what does a transcript actually give me?
Structure, but coarser than you are hoping for, and the beat marks are not where the beats are. This tool returns one cue per 20-second step, so a 120-second Reel comes back as 5 rows and a measured 161.2-second one came back as 27 — and those 27 do not line up with the 6 thirty-second windows the model actually read. What you get is where speech returned, never where a shot cut, where the text slid, or where the music dropped. Those are pictures, and there are 0 uses of canvas, 0 of getImageData and 0 of OCR in the 22,349 bytes of app.js. So read the words for order, transitions and emphasis, mark the cuts yourself, and do not plan a re-shoot from a timestamp: the same model can move the same sentence by 39.3 seconds on a second pass.
Below is the evidence for that, in the order you would use it: what one Reel physically hands back and why the row count is fixed; what a second run of the same file changes and what that makes unreliable; what a full spoken script does and does not contain once you strip the speech out of it; how to turn the rows into a structure worksheet; and what the three sites that publish an Instagram transcript page say about this, measured across 263,358 characters of their own text.
What a Reel hands back, and why the row count is fixed
The recognition call asks for one thing at a time: chunk_length_s: 30 at line 282 of app.js, with return_timestamps: true next to it. Cut on 30-second windows with a 20-second step, and the number of passes over a Reel is decided before any word is heard: (seconds - 30) ÷ 20 + 1. A Reel at the 120-second ceiling the three competitor pages all quote gets 5. A measured 600.3-second file got 21 — and came back as 111 rows, five times that, because one window can hold several spoken stretches.
- A 120-second Reel returns 5 rows, not a script.
(120 − 30) ÷ 20 + 1 = 5, printed and checked here. Writing a 3,000-word spoken script at the 2.0429 words-per-second this tool measured across two runs takes 1,468.5 seconds of speech — 24.5 minutes, or 13 Reels at the 120-second ceiling. 13 × 5 = roughly 61 rows for a whole video script. A script is a structure at the scale of 60 marks, and a cue is not a mark. - The row count is not the model's resolution, and it can exceed it. Rebuilt here from this site's own
toSegments(), a 120-second file with one spoken stretch per window produced 5 segments and 5 cues, which is exactly 1 row per window. The 161.2-second run produced 27. A 27-row grid over 161.2 seconds is one row every 5.97 seconds, but the recognition only looked at the file 6 times (161.2 ÷ 30, rounded up). There are 4.5 times more rows than passes, so a row is one sentence-shaped span inside a window, and the window boundary is the thing you cannot see. - What the export physically is. In the text view each row opens with a bracketed stamp of 12 characters,
[00:00:00.000], which at 5 rows is 60 characters of the file before a single word. The 120-second example written out by this site's ownstamp()andbuildSrt()is 384 bytes as text and 474 bytes as SubRip for the same 5 rows, so the subtitle container costs 90 bytes over the text view for one Reel. That is the whole of what you are given to plan a shoot from. - The three competitor pages quote no row count at all. All three publish an Instagram Reel transcript page, and across their 263,358 characters of body text, checked with the scraper's own heading block stripped out, none of them states how many lines, cues or segments a Reel produces. One of them mentions word-for-word output twice, both on pages that are not the Instagram transcript page.
(seconds − 30) ÷ 20 + 1 gives 5 for a 120-second Reel — while the row count depends on how often the speech breaks: the 120-second rebuild with one spoken stretch per window produced 5 rows, and the measured 161.2-second run produced 27 against 6 passes. One row is worth 5.97 seconds on average in that run, which is finer than the 30-second window and coarser than a shot. The bottom strip is the part that matters for a script, and two of its five boxes have nothing behind them: there are 0 uses of canvas, 0 of getImageData and 0 of OCR in the 22,349 bytes of app.js, so a cut and a caption drawn on the picture are both invisible here.Two runs of the same file do not agree
Everything below is from one Reel transcribed twice on this machine and compared word by word. The spoken run was 161.2 seconds of single-speaker audio; the tool reported 338 words in 27 segments, transcribed in 71.4 seconds. The comparison is what makes the second pass worth quoting, because it shows which part of a transcript you can copy into a script and which part you cannot.
- 19 of 338 words came back different, and the passages moved with them. That is 5.62% of the words wrong, gathered into 11 places: 4 proper names, 3 homophones and 5 others, plus one phrase of 7 words repeated. 5.62% is small enough to read past and large enough to ruin a quote, and it is 19 words that you would be copying into a script you intend to say out loud into a camera.
- The same sentence landed 39.3 seconds apart on the two passes. Cross-checked against seconds-only stamps, the same run gives 600.3 seconds of audio as 1,194 words in 111 segments, averaging 10.757 words a row against 12.519 in the 161.2-second file. If a row can drift 39.3 seconds between passes, a stamp is a bookmark for finding the moment again, not a coordinate you can cut to — which is exactly what a beat sheet would ask of it.
- The join between windows is where a script would lose its seam. 8 passes over a 161.2-second file means 8 overlaps and 7 joins between them. In this comparison 7 of the 8 joins fell inside a row rather than between two rows, and the repeat sat in the overlap around 100–110 seconds: 74,669 milliseconds of the file were read twice, 10.4% of the 717,160 milliseconds of audio the model actually looked at. A repeated line is not a beat, and here it is a seam.
- Words are not the unit a script is written in. 8173 characters of the 600.3-second run against its 1,194 words is 6.845 characters per word including the space after it. Two runs put speech at 2.0968 and 1.9890 words a second. So 3,000 words — a short video script — is 1,468.5 seconds of talking, 24.5 minutes, and 13 Reels at 120 seconds each. A script is planned in beats over 24 minutes of speech, and the tool hands you 12.5 words a row.
What a spoken script contains that survives being written down
The Reel you want to copy almost certainly started as a written script, was spoken into a camera, and was then published with the words removed from it. A transcript is that process run backwards, and it is lossy in one direction only: what was never in the audio cannot be recovered, and what was in the audio comes back as tokens rather than as the plan that put them there.
- Direction is gone, not degraded. Nothing is printed for who is addressed, how fast a line is said, or which word was leaned on. The import of that is plain in the source: 0 uses of
canvas, 0 ofgetImageData, 0 ofOCR, 0 ofspeakeracross the 22,349 bytes. A camera-facing pause and a camera-facing glance carry as much of the plan as the words do, and neither survives. - The 39.3-second drift is a planning number. Borrowing a hook that is 7 seconds long off a transcript whose rows can move 39.3 seconds between passes means the borrow is of a sentence, not of a moment. You can hear where the hook is when you play the Reel; you cannot read it off the file, and pretending otherwise is how a re-shoot ends up 40 seconds away from the edit you were trying to reproduce.
- Everything on the picture side is 0 characters. Captions drawn onto the Reel, the b-roll under a line, the cut that ends a paragraph: 0 of the 22,349 bytes touch a pixel. If the structure you want to copy is visual, a transcript is the wrong instrument and no setting changes that.
How to turn rows into a structure worksheet
A transcript is good at three things and a script needs all three: what was said, in what order, and where the emphasis landed. Here is the pass that gets them out, using the file you already have and nothing else.
- Read the rows and mark the turns, not the seconds. A row is one line, and 27 rows over 161.2 seconds is 5.97 seconds a row — roughly the length of one spoken thought. Mark the rows where the subject changes, and you will find the Reel's sections in the text without watching it again. Do not count rows as beats: nothing in the file says where a shot ended.
- Number the marks yourself, because the tool will not. One row carries one bracketed stamp of 12 characters and no other numbering, so the line you would call beat 3 has no identity beyond its time. Writing 1, 2, 3 beside 27 rows by hand is 27 numbers of work; what you get back is a plan you can shoot from, and the alternative — trusting the timestamps as a grid — fails the moment the stamp drifts 39.3 seconds.
- Turn the timestamps off before you copy anything out. The text view prefixes every row with 12 characters of stamp; at 5 rows for a 120-second Reel that is 60 characters in the middle of the prose you are going to read aloud, and at 27 rows it is 324. The same switch also decides whether your
.txtdownload carries them at all, since the copy button and the text file read the same on-screen body. - Check the 5.62% before you keep a phrase. 19 wrong words in 338 is not evenly spread: 4 were proper names and 3 were homophones, and one 7-word run repeated. Names and numbers are the first things to go back and listen for, and a repeated phrase is more often a window seam than a real repetition in the Reel.
What the three pages that outrank this one say about it
Across the 33 benchmark pages the three sites publish, 263,358 characters of body text with the scraper's heading block stripped, the words a script is planned with are almost absent: beat appears 2 times, outline 4, storyboard 4, CTA 1, and rewrite, paraphrase, scraper and shot list appear 0 times each.
- getthescript.app states the use, in one line, on a page that is not this one. Its TikTok transcript page says “Capture viral hooks, scripts, and CTAs word-for-word — study them or remix them into your own posts.” The word is a noun in a benefit sentence: nothing on the page says which row is a hook, how a CTA is marked, or what to do with the transcript once you have it.
- Its Instagram transcript page answers the reuse question in a sentence. Under the FAQ heading “Can I reuse the transcript for other platforms?” it prints “Yes. The plain-text and timestamped exports work for TikTok, Shorts, blogs, and newsletters — just respect the original creator’s rights.” That is the same transcript-as-text position this page takes, and it still does not say how to read it for structure.
- wayin.ai puts the storyboard before the transcript, which is the honest order. Its Reel-writing guide says “Create a storyboard outlining the different scenes or clips you’ll need to shoot” and “write out a script to ensure you stay on message”, and the same guide notes that “strong hooks in the first 3 seconds” are what carry a Reel. Its Instagram transcript page promises text, timestamps and a search box; the script is treated as the input, never as something you would read back out of a transcript.
- speakapp.com is the closest to saying a transcript is useful before you write. Its Instagram video page frames the output as “a starting point for captions”, and its Instagram transcript page lists repurposing as a use. Neither says a word about the thing the question is actually about: which part of a transcript is the structure and which part is only the words.
Can I get the Reel’s original script, the one the creator wrote?
No, and no tool can, because that document was never in the video. What the file carries is the performance — a waveform — and this route decodes that waveform to 16,000 samples a second and recognises words in it. A written script holds directions the voice does not pronounce, so a transcript of the performance is the closest record that exists, and it is a copy of 338 words with 19 of them wrong when it was measured here.
Is a scraper different from a transcript tool for this?
Not in output. The string “scraper” appears 0 times in the 22,349 bytes of app.js and 0 times across the 263,358 characters the three benchmark sites publish about Instagram, so nothing in this category is built around structure extraction. Every tool here returns the same three things — words, a start time, an end time — and the difference between them is how many rows you get per minute and whether they give you a search box.
If I only want the hook, can I read it off the first row?
Usually, and only roughly. The first row starts at 00:00:00 and holds 12.519 words on average in the measured 161.2-second run, so the opening line is in it. What the row cannot tell you is how long the hook ran, because the row boundary is a window boundary and 7 of the 8 joins in that file fell inside a row. Read the first two rows, then play the Reel to hear where the first cut is.
Does the tool rewrite or paraphrase the transcript for me?
No. There are 0 occurrences of rewrite, paraphrase, outline, hook and template in the 22,349 bytes, and the only thing that edits the text before it reaches you is a 20-character regex that deletes bracketed annotations such as [Music]. What comes back is what was said, with the annotations removed and nothing rewritten.
Last checked: 6 November 2026. The source counts were read from the deployed files on this machine: app.js is 22,349 bytes over 580 lines, with chunk_length_s: 30 at line 282, const RATE = 16000 at line 236, pad(ms, 3) at line 357, and canvas, getImageData, OCR, speaker, rewrite, paraphrase, outline, hook, template, scraper, shot list and CTA each appearing 0 times. The pass count (seconds − 30) ÷ 20 + 1, the 5 rows and 474 bytes for a 120-second Reel, the 12-character stamp, the 2.0429 words a second, the 1,468.5 seconds, the 24.5 minutes and the 61 rows were computed here with Python and by running this site’s own stamp(), toSegments(), subtitleCues() and buildSrt() on a synthetic 5-chunk input, and the printed output was re-checked before it was written down. The 338 words, 27 segments, 71.4 seconds, 19 wrong words, 5.62%, 11 places, 7-word repeat, 8 passes, 7 inside-row joins, the 39.3-second drift and the 100–110 second overlap come from the two measurement runs stored on this machine from 27 October 2026, re-read for this page; 1,194 words, 111 segments, 8173 characters and 600.3 seconds are from the second of those runs. The 74,669 milliseconds of overlap and the 717,160 milliseconds of audio read are arithmetic over that same run’s windows, printed here. The competitor figures cover 33 pages and 263,358 characters of body text in this site’s benchmark directory, counted with the scraper’s heading block removed; the sentences quoted are their own words and are quoted, not reproduced at length. The 120-second Reel ceiling is what all three competitor pages state, not a measurement of your file.
If what you want is the words to quote rather than the shape to copy, what to do with an Instagram transcript covers the three downstream uses, and repurposing a Reel into a blog post shows how one measured Reel splits into three outputs with the byte cost of each. The timestamps page covers the 12 characters in front of every row and why clicking one goes nowhere, the search page covers finding a line again once you have a plan, and the accuracy page covers the 19 words in full.