Model reference · open weights
CrisperWhisper2.0_medium is an open-weight audio or speech model from nyralabs. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | nyralabs |
|---|---|
| Type | Audio & music |
| Task | Speech→text |
| Parameters (lead) | 764M |
| Runs with | crisperwhisper |
| Released | 2026-07-15 |
| Popularity | 3k downloads / month |
| Licence | Commercial licence needed |
About
The most accurate verbatim speech recognition you can run in production: controllable, multilingual, and timed to the word.
Release post · Paper · Full documentation · Models · Benchmark · Benchmark repo
Most speech-to-text systems never actually decide whether to write down what was said or what was meant. They inherit that choice from their training data and apply it inconsistently. CrisperWhisper 2.0 makes it an explicit, controllable choice. One recording, two transcripts:
Verbatim, exactly what was said, in one consistent format:
[um] so we we need to, to reschedule the th- thursday meeting to [uh] march third at nine thirty [laughter]Intended, the clean version the speaker meant, with numbers, dates, and emails formatted the way you'd write them:
So we need to reschedule the Thursday meeting to March 3 at 9:30.
On top of that:
The Nyra Verbatim Speech Benchmark scores fillers, repetitions, cut-offs, and vocal sounds as separate, typed metrics. Its headline number is disfluency F1: how reliably a system writes down the disfluencies that were actually spoken, without inventing ones that weren't. Averaged over ten languages:
| # | System | Disfluency F1 |
|---|---|---|
| 1 | CrisperWhisper 2.0 Pro | 93.5 |
| 2 | CrisperWhisper 2.0 | 87.8 |
| 3 | ElevenLabs Scribe v2 | 79.2 |
| 4 | Microsoft MAI-Transcribe-1.5 | 77.5 |
| 5 | CrisperWhisper 1.0* | 64.8 |
| 6 | Inworld STT | 59.5 |
| 7 | xAI Grok Speech-to-Text | 42.8 |
| 8 | Deepgram Nova-3 | 37.8 |
| 9 | Fish Audio ASR | 35.0 |
| 10 | AssemblyAI Universal-3 Pro | 30.5 |
two languages. English and German use human-labeled evaluation sets; the other eight languages use synthetic verbatim sets. Per-language breakdowns and how the metric is computed are in the benchmark post.
Mean absolute word-boundary error on read speech (TIMIT), lower is better:
| # | System | Boundary error |
|---|---|---|
| 1 | CrisperWhisper 2.0 | 29.6 ms |
| 2 | xAI Grok Speech-to-Text | 37.1 ms |
| 3 | CTC-seg | 49.3 ms |
| 4 | ElevenLabs Scribe v2 | 51.3 ms |
| 5 | NeMo-FA | 60.0 ms |
| 6 | Deepgram Nova-3 | 63.3 ms |
| 7 | WhisperX | 64.8 ms |
| 8 | Cartesia Ink-Whisper | 69.4 ms |
| 9 | Canary | 85.5 ms |
are extracted from supervised cross-attention, plus results on conversational speech, are in the aligner post.
# NVIDIA GPU (Linux): fastest, includes speculative decoding.
# An NVIDIA driver is all you need; CUDA libraries arrive via pip.
pip install "crisperwhisper[ct2]"
# Pure PyTorch: runs anywhere torch does (macOS, Windows, CPU)
pip install "crisperwhisper[transformers]"
from crisperwhisper import CrisperWhisperModel
model = CrisperWhisperModel() # nyralabs/CrisperWhisper2.0_large
# or pick a size: CrisperWhisperModel("turbo") # turbo / medium / small
# Verbatim transcription (default): every filler, repetition, stutter,
# false start, and vocal event
result = model.transcribe("meeting.wav", language="en")
print(result.text)
# Intended: the clean, readable version
clean = model.transcribe("meeting.wav", language="en", mode="intended")
# Word-level timestamps
result = model.transcribe("meeting.wav", language="en", word_timestamps=True)
for w in result.words:
print(f"{w.start:6.2f}-{w.end:6.2f} {w.word}")
# Verbatimize: upgrade an existing clean transcript with the
# disfluencies that are actually in the audio
result = model.verbatimize("clip.wav", "I think we should ship it Friday.")
Audio longer than 30 seconds is handled automatically (see
longform below). The first load of a model
downloads it from HuggingFace and, on the ct2 backend, converts it once
into a local cache.
| Shorthand | HuggingFace ID | Notes |
|---|---|---|
"large" (default) | nyralabs/CrisperWhisper2.0_large | Best open quality |
"turbo" | `nyralabs/CrisperWhisp |
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys crisperwhisper2-0-medium for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (crisperwhisper2-0-medium below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \ -H "Authorization: Bearer $AXFORGE_API_KEY" \ -F model="crisperwhisper2-0-medium" -F file=@audio.mp3
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.