Introducing rakeaudio-asr: conversations are documents too
The audio pipeline behind the CloudRaker Paperwork API. Transcription at 270x realtime, speaker separation at 150x, one flat rate at every volume.
- 270x realtime. A 10-minute recording transcribes in 2.2 seconds. Only one hosted API we measured is faster.
- Speakers separated at 150x. Same file, 3.9 seconds, with diarization. Available as an add-on at every volume, not a higher tier.
- ~5% WER. Measured internally on the Artificial Analysis English methodology, inside the range of the most accurate pipelines on the market.
- $5.00 per 1,000 minutes. One flat rate at every volume, with word timings and language detection included.
- Wired into the rest of the stack. A transcript enters the same pipeline as a parsed PDF: extract, compose, redact, sign.
Some of the hardest paperwork our customers deal with starts as a conversation. A meeting room where a financial strategy gets argued out. A leasing agent and a new tenant settling terms. A clinical consult where a practitioner listens to a patient and cares for them at the same time.
To us, a conversation is another kind of document. So we invested in the audio side of the Paperwork API the way we invested in the rest of it. Today we are releasing the first result: rakeaudio-asr, two models we fine-tuned and combined into one pipeline. It turns a recording into a transcript with speaker labels and timings, and that transcript enters the same pipeline as a parsed PDF: extract, compose, redact, sign.
What audio breaks
An invoice repeats its layout, a contract has a structure you can rely on, but somehow, a conversation goes wherever it goes. The number of speakers is variable, and people join and leave inside the same recording.
Then there is the harder problem. In a document, the final agreed form of something is usually right there on the page. In a conversation, ideas and decisions get reshuffled, and you have to work out which version of a fact is the true one: the most recent statement, or the one nobody rejected.
Before a model can do any of that reasoning, the audio has to be processed, and processing audio has its own constraints. The files are heavier than documents. The models have a larger footprint. And we are in Montreal, where most people speak at least two languages: a sentence can start in one and end in another, and you often cannot tell which language a recording is in without listening to it. Language is not something you can push back onto the customer as a configuration field.
Speed is the feature
There are workflows where transcription quality is the whole job and nobody is waiting. Then there are the ones where the transcript is the next step in a conversation that just happened.
A consult between a doctor and a patient ends, and the doctor then needs to read what was said, correct it, and sign off before they move to the next patient. Waiting five minutes for a clean, speaker-attributed transcript means the review does not happen. It gets deferred to the end of a shift, or it gets skipped.
rakeaudio-asr returns a 10-minute recording in 2.2 seconds, or 3.9 seconds with the speakers separated. That is fast enough for the transcript to stay part of the conversation instead of becoming a chore for later.
Benchmark
Batch and pre-recorded audio. Our numbers come from an internal run at high utilization, no cold starts, on a 586-second two-speaker file. Hosted numbers come from vendor pricing pages and the Artificial Analysis speech-to-text leaderboard, measured on a 10-minute clip.
Per model
| Model | Per 1,000 min | Diarization | 10-min file | WER (EN) |
|---|---|---|---|---|
| rakeaudio-asr | $5.00 | Add-on | 2.2 s (270x) / 3.9 s diarized (150x) | ~5% |
| Deepgram Nova-3 | $4.30 mono / $5.20 multi | Included | ~2 s (300x) | 5.2% |
| Gemini 3.5 Transcribe | $5.00 blended | Included, up to 8 speakers | ~7 s (87x) | 2.6% |
| OpenAI gpt-transcribe | $4.50 | Not offered | ~14 s (42x) | 3.3% |
| OpenAI gpt-4o-mini-transcribe | $3.00 | Not offered | ~15 s (41x) | 4.5% |
| OpenAI gpt-4o-transcribe | $6.00 | $6.00, separate model | ~16 s (37x) | 4.0% |
| OpenAI whisper-1 | $6.00 | Not offered | ~21 s (29x) | 4.1% |
Three things this table says. Deepgram is faster than we are and we are faster than everything else, by five to ten times against the OpenAI models. Gemini 3.5 Transcribe is the most accurate pipeline here, and our word error rate sits within a point of Deepgram's. And diarization is not a given: three of the four OpenAI models do not offer it at all, and the one that does needs a separate model. We offer it as an add-on at every volume.
Our ~5% is an internal measurement using the Artificial Analysis English methodology, not a leaderboard submission. We will say so every time we quote it, and we would rather you run your own files than take the number on faith.
Pricing
$5.00 per 1,000 minutes of audio transcribed, at every volume. That is $300 for a thousand hours of meetings. Speaker separation is an add-on on top of that line; the rate is on the pricing page.
All-in: word timings, language detection, and hosting are included; no minimums. Transcription is priced per minute of audio, not per request, so short clips and long recordings cost the same per minute.
What you can build
rakeaudio-asr sits in the same API as parse, extract, compose, redact and sign, so a recording becomes a working document instead of a text file you have to go find later.
- Meeting notes that get reviewed. Transcribe, separate the speakers, summarize decisions, send the summary out for signature while the room is still warm.
- Clinical documentation. A consult becomes a structured note a practitioner corrects and signs before the next patient.
- Negotiation records. A leasing or renewal call, attributed by speaker, filed alongside the contract it produced.
Sample code for these is in our documentation. One team built a working meeting-notes summarizer on the pipeline in under two hours.
Getting started
Transcription is one call to the Paperwork API. Send a file, get back a transcript with speaker labels and timings, then pass it to any other capability in the same pipeline. Audio runs asynchronously: fire the request, then poll the run until it leaves processing.
curl -X POST https://api.cloudraker.com/v1/parse \
-H "Authorization: Bearer $CLOUDRAKER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file": {"url": "https://example.com/consult.m4a", "processing": "transcribe_diarize"}}'
Or with the CLI:
paperwork parse --wait 0 \
--json '{"file": {"url": "https://example.com/consult.m4a", "processing": "transcribe_diarize"}}'
Use "processing": "transcribe" when you do not need speaker labels. Full reference and polling for long recordings: docs.cloudraker.com. Pricing: cloudraker.com/pricing. Grab an API key at signup.cloudraker.com.
Send us the recordings that break it. Two speakers talking over each other, a room with bad acoustics, a call that switches language mid-sentence. That is how the next version gets trained.