How to Transcribe a File with the File Transcribe API (2026)

Rasif Ali KhanRasif Ali Khan5 min readTranscription

Create a Plus key, send one recording, poll until it finishes, and download TXT, JSON, SRT, or VTT. The file also lands in your library.

On this page

Transcribe faster with File Transcribe

Upload audio or video, get speaker labels, timestamps, and editable text free to try.

Try it free

The File Transcribe API is the upload button, called by software. A Plus account makes a key. Your script sends a recording. You wait until the job is done, then you download the transcript. The same file shows up in the library, so a person can still fix a name in the editor.

This is the first-file walkthrough. What shipped, and who it is for, is the API is live. Exact requests, headers, and error codes stay in the API documentation. Copy from there, not from memory.

What you need before the first call

A Plus account. Free and Pro keys are rejected with a 403. Plus is the plan with API access, about 5,000 minutes a month, a 2 GB and 3 hour cap per file, and 90-day retention. The seat price is on /pricing.

A key from Settings, API keys. The secret starts with `ft_live_` and is shown once. We store a hash. If you lose the secret, revoke that key and make another. You can keep 10 active keys. Send it as a bearer token on every request. A missing or revoked key returns 401.

A file you are allowed to send: audio or video under those limits, or a public https link to one. A link on your office network is refused. If the file is not on the public internet, use the signed upload.

Signed-in people can open API in the dashboard sidebar. That opens the same docs in a new tab.

Send one short file first

Use a two-minute clip before you point a course library at it. A wrong filename or a private link is cheaper to learn on a short recording.

  1. Ask the API to prepare an upload. You send the filename, including the extension, and the size in bytes. You get back an id and a signed URL. The field list is on Uploads.
  1. Put the file on that signed URL. The bytes go to storage, not through the API server, which is why a long lesson can still be a large file. Do this within about two hours. Send the upload headers the prepare step returned, and use an empty form field name for the file.
  1. Create a transcription with that upload id. Or, if the file is already at a public https URL, send the URL instead. Send one of those, not both. Language can be a code, `auto`, or `multi` when people switch languages. The body is on Create a transcription.
  1. Poll that transcription id until status is `completed` or `failed`. There is no webhook in v1. A loop with a pause is the whole design. A batch of 30 lessons is that loop, not a callback server.
  1. Download TXT, JSON, SRT, or VTT from the export URL once the job is completed. Open `editor_url` when a speaker name is wrong and you would rather fix it in the browser than in your script.

Minutes come off the Plus balance. A 40 minute lesson costs 40 minutes, the same as an upload from the dashboard. The hourly cap is 200 requests per key. That cap is how often you call the API, not how much audio you can transcribe.

If you send the same file hash again, you get the existing transcript back unless you force a new run. A retry should not burn the balance twice.

Checks before you automate a folder

Read one result in the editor. If names, timestamps, or the language are wrong on a clean two-minute clip, a folder of 80 files will be wrong in the same way.

Confirm the key is on the Plus account that should be billed. A key made while you were on Pro will keep failing after you think you upgraded, if you never created a new key on Plus.

Do not send Ask AI, glossary, or team calls. Those stay in the product. v1 is file in, transcript and captions out.

Do not use this for live audio. Nothing streams. If words have to appear while someone is still talking, this is the wrong API. That choice is File Transcribe API vs a raw speech API.

Where a script replaces the upload box

A course site that already stores lesson masters can walk a sheet of files and ask for an SRT next to each one. The human version of that job is how to caption an entire course library.

A support desk that exports a sampled call can send the WAV and paste the text into its own tool. Doing that by hand is customer support transcription.

If the work is one interview and a person is sitting at the laptop, skip the key. Guest upload on the homepage is still the right door.

FAQ

Where do I get the key?

Sign in on Plus and open API keys. Read the introduction before the first file. The sidebar API item opens those docs in a new tab.

Does the file stay in File Transcribe?

Yes. It shows up in your library. Retention matches Plus (90 days). Delete it through the API or from the library when you are done.

Can I get a webhook when it finishes?

Not in this version. Poll the transcription id.

Which formats come back?

TXT, JSON, SRT, and VTT. SRT and VTT match the caption export in the editor. JSON and TXT are for apps that want the words, not a caption file.

What if the same file is sent twice?

You get the existing transcript, unless you force a new run. That stops a retry from charging the balance twice.

Send the short clip, open the result in the editor, and only then point a folder at it. Pricing is where Plus starts. If you are still choosing a vendor, read best transcription software with API access.

Further reading

Written by

Rasif Ali Khan

Rasif Ali Khan

Founder, File Transcribe

I made File Transcribe to turn recordings into editable text without extra steps. I write these guides from the workflows I use myself, like meetings, podcasts, lectures, and the rest.

All posts →
livechat