← Instagram Transcript

What's Actually in an Instagram Reel's Audio Track

2026-10-27
Short answerA single AAC audio stream, usually mono or stereo, and it's a small slice of the file. In the four Reel-shaped files we built today, the track came to 250,933 bytes inside a 3,196,770-byte file, which is 7.9%, and 317,976 bytes inside a 3,266,609-byte file, which is 9.7%. Every one of those files came back with the same 302 characters and 58 words, at sample rates from 16 kHz to 48 kHz and in both mono and stereo.

The track, read straight off the file

ffprobe tells you what's in there without decoding anything. Run ffprobe -v error -select_streams a -show_entries stream=codec_name,sample_rate,channels,bit_rate -of default=nw=1 yourfile.mp4 and you'll get four numbers back. Here's what our four files reported today.

How little of the file the sound is

The picture is the expensive part. In our 1080x1920 file the audio was 317,976 bytes out of 3,266,609, under 10%. In a 17,049,781-byte screen recording we built, the same speech track measured 250,933 bytes, which is 1.5%. That recording came back HTTP 503 from Cloudflare with error 1102 after 5.06 seconds, while the track on its own went through in 3.87 seconds with all 58 words. Same words, one sixty-eighth of the bytes, and a different outcome.

An audio track read with ffprobe: 44.1 kHz stereo at 126,775 bps through 16 kHz mono at 32,799 bps, all returning 302 characters and 58 words.
Four track shapes, one transcript. Only the clock moved.

Four shapes, one transcript

We uploaded all four files. Every one returned HTTP 200 with 302 characters and 58 words, 0 line breaks, and language reported as unknown. The words were pinned; the clock wasn't. The 44.1 kHz stereo file took 5.46 seconds and the 48 kHz one took 4.43. The mono voice note came in at 3.48 seconds and the 16 kHz file at 2.89.

So don't upsample anything

The 16 kHz mono file was 83,381 bytes and returned every word the 3,266,609-byte file returned. There's no accuracy argument for a bigger audio track here, only an upload-time argument. If a tool offers to "enhance" your audio before you transcribe it, measure before you believe it: on today's files there was nothing to gain.

What a screen recording writes instead

Recorders pick their own audio settings, and they don't match a Reel's. The screen-recording-shaped file we built carried 48 kHz stereo AAC at 126,407 bits per second, against 24 kHz mono at 100,215 in our Reel-shaped one. Both returned the same 302 characters. The recording also carried a 17,049,781-byte picture with it, which is what killed the upload.

What the track doesn't carry

No timestamps, no speaker labels, no music-versus-speech split. Our response has six fields: success, transcript, language, engine, fileSize and fileName. The engine field read @cf/openai/whisper today. Everything else you might want on top of the words has to come from somewhere else, which is why keeping the original file matters.

Where the numbers move

Sample rate and channel count didn't change the words today. They moved the clock by a couple of seconds, across a 40-fold range in file size. Two other things did bite. A file with no audio stream at all failed with HTTP 500 in 2.03 seconds, and total size failed with a Cloudflare 503 at 17,049,781 bytes.

Reading your own file in ten seconds

Point ffprobe at the file and look at four things. The codec tells you whether it's AAC. The sample rate tells you how much bandwidth the audio was recorded with, and ours ranged from 16,000 to 48,000 today. The channel count tells you mono or stereo. The bit rate tells you how many bytes per second that track spends, between 32,799 and 126,775 in our files.

What we didn't measure

Every file here is one we encoded ourselves this morning, because we can't pull a Reel out of Instagram to inspect. Real Reels will land somewhere in this range, and the commands above will tell you where yours sits rather than leaving you to guess. We also didn't test damaged or clipped audio, which is a separate failure mode.

What happens to the file

It reaches our endpoint over TLS, gets decoded and transcribed in memory once, and the text returns in that same response. We don't keep the file, we don't use it for training, and there's no account tied to it.

Affiliate link

Reading the track takes one command, and acting on what it says takes a converter. Wondershare UniConverter opens the file on your own machine and writes the audio out at the sample rate and channel count you pick, which is how a 17 MB recording becomes a 250 KB upload. It does not transcribe - the words come back from this page.

FAQ

What format is a Reel's audio in?

AAC inside an MP4 or MOV container, in our files at 24 kHz, 44.1 kHz or 48 kHz and in one or two channels. The exact numbers depend on what recorded or exported the file, so read your own with ffprobe rather than trusting a default.

Does stereo help the transcript?

Not today. Our stereo file, 3,266,609 bytes, returned the same 302 characters as our 165,266-byte mono voice note. The stereo version took 5.46 seconds against 3.48.

How much of a Reel file is audio?

Under 10% in the files we built: 317,976 bytes of 3,266,609 in one, 250,933 bytes of 3,176,226 in another, and 250,933 bytes of a 17,049,781-byte screen recording.

Why did my Reel file fail if it has audio?

Usually size. A 6,080,611-byte file went through today in 6.74 seconds, and a 17,049,781-byte one got a 503 from Cloudflare. Pull the audio out with ffmpeg -vn and try again.