← Instagram Transcript

How to Transcribe an Instagram Reel on iPhone

2026-10-03
Short answer

You have to hand the tool a file, not a link. Instagram does not let outside tools fetch Reel media, so on iPhone the working route is: get the Reel onto your phone by downloading it or screen-recording it, then upload that file in Safari. No app, no account. The part that actually trips people up is not the format: every iPhone-shaped file we tried today went through. It is the size. Files above roughly 3 MB were rejected, and a 60-second screen recording at iPhone settings is about 47 MB.

Why the link never works, on iPhone or anywhere else

Every iPhone workaround exists because of one limitation: Instagram does not allow outside tools to pull Reel media. We tested the four paths a server-side tool would try. A browser fetch is stopped by a cross-origin-resource-policy: same-origin header before it reaches the media. yt-dlp returns an empty media response without authenticated cookies. The oEmbed endpoint needs an OAuth token and returns no video URL without one. The GraphQL endpoint answers HTTP 400 to unauthenticated calls. So the file has to start on your phone.

Three ways to get the file onto the phone

Which iPhone formats actually go through

The one file refused outright was AIFF: HTTP 400, "Unsupported file format. Please select MP3, WAV, M4A, AAC, OGG, FLAC, MP4, MOV, or WEBM." We do not have an iPhone on the bench to say which export path produces AIFF, so treat that as a format we know fails rather than a format you will definitely hit. Re-exporting as M4A clears it.

The wall nobody mentions: about 3 MB, and it is size, not length

Seven uploads of iPhone-shaped files: six formats accepted, files above 3.3 MB rejected
Seven uploads from one machine today. The two failures at 3.35 MB and 3.60 MB are the same audio as the successes above them.

One more thing worth knowing: the error message is misleading. Our own 500 says "please try another supported file", which points at the format, when the same format at two-thirds the size works fine. It is a size limit wearing a format error's clothes.

How long you wait once the file is small enough

Your numbers will move with your connection and with how busy the model is; the same file has taken anywhere from 19 s to 52 s on other days. The shape is the useful part: up to about 90 seconds you are waiting somewhere between 5 and 20 seconds, and past that the wait grows roughly with length. Our test clip is one sentence looped, so treat the word counts as a shape, not as a benchmark of natural speech.

The four steps, in order

What happens to the file

The file is posted over HTTPS to /api/transcribe, decoded to 16 kHz mono PCM, held in memory for one pass of @cf/openai/whisper, and dropped when the response is sent. We do not keep it, we do not train on it, and there is no account to attach it to. That also means we cannot hand you the text again later, so save it yourself. Our Worker has exactly one binding, the AI binding; no storage is attached to it.

If it fails, read the code first

FAQ

Can I transcribe an Instagram Reel on iPhone without downloading it?

No. Instagram does not expose Reel media to outside tools, so every iPhone method starts with getting the file on the device: download your own Reel, screen-record someone else's, or upload audio you already have. A tool that offers to take the link instead is either using an unofficial download service or will fail.

Does it work in Safari, or do I need an app?

Safari is enough. The upload control is a standard file input with accept="audio/*,video/*", which iOS Safari honours, so you can pull the file from Photos, Files or iCloud Drive. Nothing is installed and no account is created.

Why was my file rejected when it plays fine?

In our tests today the reason was size, not playability. Files of 3.18 MB and below succeeded; 3.35 MB and above returned HTTP 500. A 90-second MP3 at 256 kbps (2.88 MB) succeeded while the same 90 seconds at 320 kbps (3.60 MB) failed. Trim the clip or export the audio track and the same content goes through.

How long can a Reel be before it stops working?

Length is limited mostly through file size. With AAC at 128 kbps stereo, about three minutes fits under the ceiling; a three-minute M4A at 2.83 MB came back in 27.6 s and 32.7 s. On the same endpoint in earlier tests, a five-minute file at 901 KB succeeded in roughly 45 seconds, while ten-minute files mostly failed. If you have something longer, split it.

Is my Reel stored, or used to train a model?

Neither. The file is sent over HTTPS to /api/transcribe, decoded, held in memory for one transcription pass, and discarded when the response goes back. It is not written to storage and not used for training. There is also no account, which means we keep no copy you could come back for.