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.
speaker labels · 10 hours per file · 100+ languages · paid plans only, no free tier
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.
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.
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.
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.
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.
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.
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.
Per file, not per batch — every call in the backlog gets the same treatment.
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.
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.
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.
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.
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.
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.
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.
Priced per minute of audio in packs that do not expire. There is no free tier — you buy minutes and spend them whenever.
| Pack | Price | Minutes | Roughly |
|---|---|---|---|
| Unlock | $2 | 60 | one hour — try it on a single call |
| Starter | $4 | 300 | 5 hours — a week of standups |
| Pro | $12 | 2,000 | 33 hours — a quarter of one team's calls |
| Team | $24 | 5,000 | 83 hours — the pack a backfill lives on |
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 →
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 →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.
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.
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.
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.
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.
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.
Ask your whole meeting archive a question and get the exact moment back.
One meeting in, summary and action items out.
Where the local recording file lands, and what to do with it.
Pulling the recording out of Teams or SharePoint first.
The Drive folder Meet writes into, and the upload after.
Endpoints, fields, error codes, retention windows.
The wider vertical: standups, reviews, all-hands.
$2 / 60 min · $8 / 1,000 min · $12 / 2,000 min · $24 / 5,000 min.