whatmodel.sh / stt / GLM-ASR-Nano-2512

GLM-ASR-Nano-2512 is an open-weights speech-to-text model from Z.ai, released December 2025. Its published size is 2.26B parameters. Licence: mit.

Catalogue identity notes

Exact checkpoint zai-org/GLM-ASR-Nano-2512. Params: HF safetensors total 2,257,843,200 (card text says 1.5B). released: HF repo creation month. Command follows the card's basic Transformers example.

56.7±3.9#59 of 162 speech-to-text modelsfrom 5 benchmark results across 2 sources

Score within the Open ASR English short-form WER (March 2026) comparison set only.

$ how it compares

The speech-to-text models ranked either side of GLM-ASR-Nano-2512, out of 176 with a score.

#modelscorewhereRAMreleased
66Kyutai STT 2.6B (en) Kyutai57±4local~6.7GB2025-06
67Whisper large-v3 OpenAI57±1api $0.0018/audio min +local~4.2GB2023-11
68GLM-ASR-Nano-2512 Z.ai57±4local~5.9GB2025-12
69Parakeet RNNT 0.6B NVIDIA57±3local~3.5GB2024-01
70Rev AI Fusion (Whisper Fusion) Rev57±4comparison only2024-01

see all speech-to-text models · find the ones that fit your machine

$ what it's good at

other tests5 not in a task · 94% of its score
testresultvs the others in its rundifficultycountswhy
Open ASR English short-form WER (March 2026)7.0% ✎▁▁▁▃··▁▁▂██▆ beats 60/86avg 8.2%▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 51%blunt
WenetSpeech test_meeting error rate lab6.7% ✎▄···▄·····▄█ beats 3/4avg 19%▇▇▇▇▇▇▇ 17%sharp · noisy · small run
LibriSpeech test-other WER lab4.2% ✎▁▁▁▂▅▃▅▄█▂▂▁ beats 33/54avg 5.3%▇▇▇▇▇▇ 15%small run
LibriSpeech test-clean WER lab2.0% ✎▁·▁·▁▁▁▁▃▇█▆ beats 56/100avg 2.2%▇▇ 5.5%blunt · small run
FLEURS English test WER lab5.8% ✎▁··▁▁▁▁▂▃█▂▁ beats 22/64avg 6.4%▇▇ 4.9%blunt · small run

$ where to run it

Other ways to run it

  1. Run it as published · needs ~5.92 GB · from huggingface.co/zai-org
    uv run --with transformers --with torch --with accelerate python -c "from transformers import AutoModelForSeq2SeqLM, AutoProcessor; r='zai-org/GLM-ASR-Nano-2512'; p=AutoProcessor.from_pretrained(r); m=AutoModelForSeq2SeqLM.from_pretrained(r, dtype='auto', device_map='auto'); i=p.apply_transcription_request('audio.wav').to(m.device, dtype=m.dtype); o=m.generate(**i, do_sample=False, max_new_tokens=500); print(p.batch_decode(o[:, i.input_ids.shape[1]:], skip_special_tokens=True)[0])"

Weights and documentation: huggingface.co/zai-org ↗

$ how the score was worked out · Open ASR Leaderboard 51%, zai-org/GLM-ASR README benchm… 43%

Each result implies a score on its own, after adjusting for how hard its test is and who ran it. The score is their weighted average, with a small pull toward the middle for thinly tested models. Each test's weight is its counts column above; here it's added up by who ran the tests. How it works

sourceresultsshare of the scorelicence
Open ASR Leaderboard1▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 51%Apache-2.0
zai-org/GLM-ASR README benchmark table (GLM-ASR-Nano vs open/closed ASR) · lab-reported4▇▇▇▇▇▇▇▇▇▇▇▇▇ 43%Apache-2.0
prior · pull toward the middle▇▇ 6%
weighted average= 56.7

$ improve this page

Use a short GitHub form or edit the data through a pull request. Every number needs a source; here's which ones we can use.

data updated · sources and licences · json