← Instagram Transcript

What Happens to Your File After Transcription

2026-10-04
Short answer

It is gone. Your file is not saved, queued, indexed or attached to an account — there is no account to attach it to. The entire life of the file is one HTTPS request: it is read into memory, converted and transcribed, and the response closes. We pulled the live configuration of our deployment today and it has exactly one binding, ai; no storage bucket, database or key-value namespace is attached to it, and no log pipeline is configured.

How long your file actually exists

Time to first byte and total time differ by less than a millisecond on every run, which means the answer arrives in one piece — there is no second request and no redirect to a results page. A five-minute recording therefore exists in memory for roughly half a minute. Then the request ends, and so does the file.

What comes back — and what never does

Six-step lifecycle of an uploaded file, ending at a 404 when you ask for it again
Every step measured on our own deployment, 2026-10-04. Step five is the one that makes the promise real.

What is not in there matters more. No job id, no result URL, no retrieval token, no handle you could query later. There is nothing to come back for, and we checked: a plain GET to the same endpoint answers 404 Not found. The transcript is handed to your browser once, and after that it exists only wherever you put it.

There is nowhere in our code to save it

A search of the deployed source for storage calls returns nothing at all — no KV, R2, D1, cache or local storage writes anywhere in the file. A worker with no storage binding can hold your bytes in memory for the duration of a request and then lose them. That is precisely what happens here, and it is a stronger guarantee than a deletion policy, because there is no code path that could keep the file even by mistake.

What we checked today, and how you could repeat it

The part we will not claim

What this means in practice

FAQ

Is my file stored anywhere after transcription?

No. The deployed worker has one binding, ai, and no storage of any kind attached to it. The file is read into memory, transcribed, and the request ends.

Can I come back and download my transcript later?

No. The response is 313 bytes of JSON delivered once, with no job id and no result URL. A GET to the same endpoint returns 404 Not found. Save the text when you see it.

Do you use my audio to train a model?

No. There is no training pipeline running on uploads, and there is no storage binding that could retain them.

Who actually processes the audio?

Cloudflare Workers AI, running the @cf/openai/whisper model. We name it in every response because you should be able to look up who is handling your audio.

Is the upload encrypted?

Yes, in transit — the transfer is over HTTPS and the plain HTTP URL redirects to it. Encryption protects the file on the way to us; it does not change the fact that we receive it.

Do you keep logs of what I upload?

On the deployed worker, logpush is false and there are no tail consumers configured. Beyond what we configure ourselves, platform-level request metadata is infrastructure we do not control, so we will not promise anything about it.