For teams sitting on a recording backlog

300 recorded calls in a folder. One pass and you can read them.

Point a script at the folder and every recording comes back with speaker labels, a summary, chapters and a searchable transcript. Nothing joins your meetings — you already record them, we take it from the file.

Transcribe a recording → Read the API docs

speaker labels · 10 hours per file · 100+ languages · paid plans only, no free tier

A recording archive nobody will ever re-listen to

Three hundred calls averaging 45 minutes is 13,500 minutes of audio — 225 hours. Nobody in your company is going to spend five and a half working weeks scrubbing through it to find the one call where the customer explained why they churned. So the archive sits there, growing, doing nothing. Text is the only form in which that material is usable.

Unlock · $2$2.00/h
Starter · $4$0.80/h
Pro · $12$0.36/h
Team · $24$0.29/h
Effective rate per audio-hour at each pack size. A backlog is exactly the workload the larger packs are priced for.

How the backlog actually gets in

Be warned on one point up front: the browser uploader takes one file at a time. For a folder of 300 you script it — and that is the path we would recommend anyway, because it runs unattended and it is repeatable next quarter.

  1. 01

    Keep recording the way you already record

    Zoom, Teams and Google Meet each write a local recording with one click, and that file is all we need. There is no bot to admit and nothing shows up in the participant list. Per-platform walkthroughs: Zoom, Microsoft Teams, Google Meet.

    For a call that lives in a browser tab, the Whipscribe Chrome extension records the tab's audio (or your mic) straight into your account — again, as a recording, not as a participant.

  2. 02

    Loop the folder through the API

    One key, one for loop, one line of bookkeeping per file. Each submit returns a job_id immediately and the queue does the rest while you go and do something else. Files up to 10 hours each, in mp3, m4a, wav, mp4, mov, ogg, webm or flac.

  3. 03

    Or hand a list of links to Claude

    If your recordings already sit behind URLs, the Whipscribe connector for Claude exposes transcribe_urls_batch — up to 20 media URLs per call, run concurrently, with per-URL failures not aborting the rest. Setup is two fields in Claude's connector settings: see the connector page.

  4. 04

    Everything lands in one library

    Send X-User-Email with your key and every scripted job attaches to that account, so the backfill shows up in the same file list your team reads from rather than in a scratch namespace. On a paid plan the uploaded audio is kept for 365 days after the job completes; transcripts stay until you delete them.

The whole backfill, in one script

Submit everything, keep the ids, then collect the transcripts when they land.

# 1 — submit every recording in the folder, one line of JSON per job
for f in ~/Recordings/*.m4a; do
  curl -s https://whipscribe.com/api/v1/transcribe \
    -H "X-API-Key: $WHIPSCRIBE_KEY" \
    -H "X-User-Email: ops@yourcompany.com" \
    -F "file=@$f" -F "diarize=true" -F "source=api" \
    >> jobs.jsonl
done

# 2 — poll (3s is the recommended cadence while queued or processing)
curl -s https://whipscribe.com/api/v1/jobs/$JOB_ID \
  -H "X-API-Key: $WHIPSCRIBE_KEY"

# 3 — pull each finished transcript as json, srt, vtt, docx or txt
curl -s "https://whipscribe.com/api/v1/jobs/$JOB_ID/result?format=json" \
  -H "X-API-Key: $WHIPSCRIBE_KEY" > "$JOB_ID.json"

Full field reference, error codes and retention windows in the API docs. Get a key at /keys.

What comes back for each recording

Per file, not per batch — every call in the backlog gets the same treatment.

Speaker-labelled transcript

Diarization separates who spoke, with labels that stay stable across the whole recording, so a three-person call reads as a conversation rather than a wall of text.

diarize=true · word timings

Summary and chapters

Each transcript opens with a summary and a chapter list you can click into — which is how you triage 300 of them without reading 300 of them.

per recording

Search inside the call

Type a phrase and get every line that contains it with its timestamp. Case and accents are ignored — codigo finds código, which matters once the archive is not all in English.

100+ languages

Ask, and click the answer

Ask a question of a transcript and the answer cites timestamps you can click — the audio plays from that line, so you verify the claim instead of trusting a paraphrase.

grounded in one transcript

Exports that drop into your stack

txt, json, srt, vtt and docx from the same job. The json carries per-word timing and speaker ids if you are indexing it yourself.

?format=json|srt|vtt|docx|txt

One archive, one place

Group the backfill into library folders, and mint a read-only share link for a folder when someone outside the account needs to read it.

share links: 30 days default

What we do not do

Nothing joins your meeting. There is no bot, no participant, no calendar that gets scraped. Transcription happens after the fact, from a file you hand over — a deliberate choice about the permissions we are willing to hold.

This is not live transcription. Recordings are queued and processed, not streamed word-by-word during the call. Transcription is machine-generated and is weakest on names, figures and internal jargon — the things a decision turns on — which is why every claim in an answer links back to the audio.

What clearing the backlog costs

Priced per minute of audio in packs that do not expire. There is no free tier — you buy minutes and spend them whenever.

PackPriceMinutesRoughly
Unlock$260one hour — try it on a single call
Starter$43005 hours — a week of standups
Pro$122,00033 hours — a quarter of one team's calls
Team$245,00083 hours — the pack a backfill lives on

The 300-recording sum, done out loud

300 calls × 45 minutes = 13,500 minutes, which is 225 audio-hours. Three Team packs give you 15,000 minutes for $72 and cover it with 1,500 minutes still in the account. That is about 24 cents per recording, and the leftover minutes do not expire.

Going forward rather than backwards: 20 calls a week averaging 35 minutes is 700 minutes a week, roughly 3,000 a month. Two Team packs — 10,000 minutes for $48 — cover that cadence for about a quarter.

Every export format and per-transcript questioning are included on every pack. Full pricing →

Start with one call, then script the rest

Run a single recording through first and read what comes back. If the speaker labels and the summary hold up on that call, the loop above will hold up on the folder.

Transcribe a recording →

Questions

Can I upload 300 files at once in the browser?

No — the browser uploader takes one file at a time, and we would rather say so than pretend otherwise. For a whole folder you run the shell loop above against POST /api/v1/transcribe, which is the path we recommend for anything past a handful of files. Through the Claude connector, transcribe_urls_batch takes up to 20 media URLs per call and runs them concurrently.

Does a bot join our calls?

No. Nothing joins the meeting and nothing appears in the participant list. You record the way you already record — Zoom, Teams or Meet local recording, or the Chrome extension capturing the tab — and bring us the file.

How long can a single recording be?

Up to 10 hours per file, in mp3, m4a, wav, mp4, mov, ogg, webm or flac. All-day offsites go through as one job with timestamps running the whole way.

What does a 300-recording backlog cost?

13,500 minutes, or 225 audio-hours. Three Team packs at $24 for 5,000 minutes each cover it — $72 for 15,000 minutes, about 24 cents per recording, with 1,500 minutes left over. There is no free tier, and purchased minutes do not expire.

Whose account do the transcripts land in?

Send X-User-Email alongside your API key and every job attaches to that account, so a scripted backfill lands in the library your team already reads. On a paid plan uploaded audio is kept 365 days after the job completes; transcripts stay until you delete them.

Can I search across all of them at once?

In the browser, search runs within one transcript at a time. Searching across the whole archive is what the Claude connector is for — it lists your transcripts, pulls the ones it needs and answers over them. That workflow has its own page: company meeting search.

Related