IGTranscript

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.

InVideo WW

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.

Two files on the top row compare the number of recognition passes with the number of rows the export contains: a 120-second Reel has 5 passes and 5 rows, while a measured 161.2-second file has 6 passes and 27 rows. The bottom row shows what the transcript does not record: a flat strip of the things a script needs, each with a cross where the audio-only path has nothing to report. Passes in, rows out The row count can be several times the pass count. That is the whole resolution. a 120 s Reel 5 recognition passes 30 s window, 20 s step at the ceiling 5 rows 1 per window when the speech never breaks a measured 161.2 s 6 passes · 27 rows window edges invisible what a script needs, and where it would have to come from the words read from audio the order read from audio the emphasis partial, by ear the cuts pixels on-screen text pixels One row can be a sentence, half a sentence, or two; the window edge is not printed. So the worksheet you build from this is your own annotation, not the tool's output.
The two-row picture of why a transcript is not a script. On the top row the pass count is decided by arithmetic before the file is heard — (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.

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.

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.

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.

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.