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 timestamps, 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

Speakers are identified and named in the summary, key quotes and chapters; every line of the transcript carries its timestamp.

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.

$4 · 300 min$0.80/h
$18 · 3,000 min$0.36/h
$32 · 6,000 min$0.32/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 "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.

Timestamped transcript

Speakers are identified and named in the summary, key quotes and chapters; every line of the transcript carries its timestamp.

speakers named in the summary · 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.

99+ 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 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. Packs from $4, credits never expire. after that you buy minutes and spend them whenever. The API has no free tier: keys draw on account credit.

PackPriceMinutesRoughly
First transcript—your first transcript, adds no credit
300 minutes$43005 hours — a week or two of standups
3,000 minutes$183,00050 hours — a quarter of one team's calls
6,000 minutes$326,000100 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. Two $32 packs and one $18 pack give you 15,000 minutes for $82 and cover it with 1,500 minutes still in the account. That is about 27 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 $32 packs — 12,000 minutes for $64 — cover that cadence for about four months.

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. Speakers are identified and named in the summary, key quotes and chapters; every line of the transcript carries its timestamp.

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 or 5 GB per file, in mp3, m4a, wav, mp4, mov, ogg, webm or flac; the opening minutes are a free preview, and a pack from $4 opens the full transcript. 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. Two $32 packs of 6,000 minutes plus one $18 pack of 3,000 cover it — $82 for 15,000 minutes, about 27 cents per recording, with 1,500 minutes left over. The API has no free tier (keys draw on account credit), 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

Comparing prices?

If cost and turnaround decide it: see our transcription service with prices and turnaround.