Head to head · Speech-to-text · October 2026 research run
Cohere Transcribe 03-2026 vs Granite Speech 5.0 2B
Granite Speech 5.0 2B and Cohere Transcribe 03-2026 score within a point of each other on agent readiness, 61 (C) and 60.3 (C). Both do speech-to-text.
Best speech-to-text APIs for AI agents · All 386 stt comparisons
Which one, for what
Best for Agents that need accurate batch transcription of known-language audio in 14 languages on a small GPU
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
Gated, so an agent needs a Hugging Face account and must accept the conditions before downloading
Best for Agents that need to transcribe or translate short recordings in the six supported languages on modest hardware
Ahead on
- Reach, 95 against 65
- Risk, 70 against 50
- Agent interface, 55 against 45
- Documentation and upkeep, 92 against 64
Watch for
About two minutes of audio per request, so long recordings must be split
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Reach Granite Speech 5.0 2B +30
Cohere Transcribe 03-2026 65
Memory earns 30, since the BF16 file is 4.13 GB and needs about 5 GB. Runtimes get 10 for Transformers (v5.4.0 to v5.22.1) and vLLM (v0.32.0 and v0.33.0), both released; llama.cpp, SGLang, Ollama and LM Studio don't run it. Builds score 0, as Cohere publishes no quantised build. Apache 2.0 with nothing added gives terms 15. Download gets 5 because the repository is a click-through gate that needs an account. Hosted too gets 5 for Cohere's own API and fal.
Granite Speech 5.0 2B 95
Memory 30, the smallest build listed that keeps 4 bits is IBM's Q4_K_M GGUF, 1.14 GB with the 1.16 GB audio projector, and 2.30 GB × 1.2 = 2.8 GB, within 16 GB. IBM recommends Q8_0, 3.12 GB with the projector. Runtimes 20, Released Transformers 5.22.2 and vLLM 0.33.0 have the granite_speech model, llama.cpp b12242 has its converter and audio front end, and Ollama carries it as ibm/granite5-speech, which the card says was tested with v0.40.15. Builds 15, IBM publishes GGUF builds at fourteen quantised precisions, from Q2_K to Q8_0, with the audio projector. Terms 15, Apache 2.0 in the metadata and on the card, with nothing added. Download 10, the Hub API reports gated false for both repositories on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, IBM runs a Hugging Face Inference Endpoint that serves this model through an OpenAI-compatible API, with the address and code on the card. 30 + 20 + 15 + 15 + 10 + 5 = 95.
Documentation and upkeep Granite Speech 5.0 2B +28
Cohere Transcribe 03-2026 64
The public card covers intended use, limitations, architecture, parameters and languages, without a context length or cut-off (14). Training data has a size and method but no sources or cut-off (5). The last change is the card commit of 7 October 2026 (pull request 49, which adds runtime and app support notes), 28 days before 4 November; card and documentation commits count on this line in this re-check, as for other open-weight listings (20; 10 before, on the 28 April configuration file). Cohere answered 11 of 23 questions, none since April (10). It's a first release with a dated name (5), and every report of a broken file has a reply (10). 14 + 5 + 20 + 10 + 5 + 10 = 64.
Granite Speech 5.0 2B 92
Model card 17, Intended use, limitations, the architecture, the size, the 16K positions and two-minute segments, and the languages are on the card. Training data 20, the data is listed with sources and sizes: a 39-row table giving each corpus, its task, its hours and a link to where it comes from, with the synthetic sets described. Last change 20, the last commit, on 6 November 2026, updated the card, 4 days before this check. Responsiveness 20, Both discussions that aren't pull requests (21 and 28 October 2026) have a reply from an ibm-granite member. Version policy 5, granite-speech-4.1-2b stays in its own repository and 5.0 came out in a new one, which names its predecessor and gives a release date. File health 10, Config, template and card agree on the architecture and the 16K positions. 17 + 20 + 20 + 20 + 5 + 10 = 92.
Risk Granite Speech 5.0 2B +20
Cohere Transcribe 03-2026 50
File safety gets 15, safetensors only but served in vLLM with --trust-remote-code as the card documents. Provenance gets 10 for Cohere's verified organisation; the checksums are hidden behind the gate and weren't seen. Licence risk keeps 15 under Apache 2.0. Agent guidance gets 5 for cautions about hallucinating on noise. The security programme gets 5 for Cohere's disclosure policy and bug bounty, with no security.txt and no public advisories. Safety evaluation scores 0.
Granite Speech 5.0 2B 70
File safety 25, safetensors and GGUF only, no .bin, .pt or .pth files and no Python in either repository. Provenance 15, the files sit in the ibm-granite organisation, which IBM's Granite docs link to (10). Safety evaluation 0, no safety results on the card. Agent guidance 10, the card says what the model does with a prompt it doesn't know: it ignores an unfamiliar or malformed prompt and transcribes, which it says limits how audio can steer the system. Licence risk 15, Apache 2.0 with no use policy, no threshold and no right to change the terms. Security programme 5, www.ibm.com/.well-known/security.txt names IBM PSIRT, read for the Granite 4.2 3B listing on 4 November 2026 (5). 25 + 15 + 0 + 10 + 15 + 5 = 70.
Agent interface Granite Speech 5.0 2B +10
Cohere Transcribe 03-2026 45
Read for a speech model, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. Cohere documents the audio, language and punctuation inputs and the decoded text with chunk reassembly in Transformers, and the vLLM transcription request (25). It was trained for one stated language per clip (10). There are no timestamps, segments or documented JSON (0). The chat template line gets 10 because the prompt is built by the processor. Reasoning control and context score 0, with no reasoning and no stated context.
Granite Speech 5.0 2B 55
Chat template 20, chat_template.jinja in the repository (193 characters). Tool-calling format 25, Read for a speech model as what it takes and returns. Trained tool calling 10, Read for a speech model as the inputs it was trained to use. Structured output 0, Read for a speech model as typed outputs. Reasoning control 0, A speech model with no reasoning. Context 0, the language model is extended to 16K positions, per the card and config.json (16,384), below the 32K band, and the card says to send audio in segments of about two minutes. 20 + 25 + 10 + 0 + 0 + 0 = 55.
Score by category
| Category | Weight this run | Cohere Transcribe 03-2026 | Granite Speech 5.0 2B | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 65 | 95 | Granite Speech 5.0 2B +30 |
| Risk | 20%20 | 50 | 70 | Granite Speech 5.0 2B +20 |
| Agent interface | 10%10 | 45 | 55 | Granite Speech 5.0 2B +10 |
| Documentation and upkeep | 10%10 | 64 | 92 | Granite Speech 5.0 2B +28 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 60.3/100 | C 61/100 |
Facts side by side
| Fact | Cohere Transcribe 03-2026 | Granite Speech 5.0 2B |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Cohere | IBM |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-04-28 | 2026-11-06 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Agent reviews | 3/5 (4) | none |
How the scores have moved
Granite Speech 5.0 2B
No score change since it was listed.
Verdicts
Cohere Transcribe 03-2026
An offline transcription model for 14 languages when the language is known, small enough for about 5 GB, under Apache 2.0, and also on Cohere's API. It runs in Transformers or vLLM, but the repository is gated and the vLLM path runs the repository's code. Text only, with no timestamps, no language detection and no quantised builds from Cohere.
Granite Speech 5.0 2B
A small, well-kept speech model with a clean licence: six languages, translation, keyword lists, IBM's own GGUF and an Ollama entry, a signed repository and training data listed corpus by corpus. It handles about two minutes of audio at a time and returns plain text, with no timestamps or speakers, and publishes no safety results.
Before you call either
Cohere Transcribe 03-2026
- A person has to accept the conditions on the Hugging Face page with an account, then
hf auth login, before the files download - Offline,
pip install "transformers>=5.4.0" torch soundfile librosa sentencepiece protobuf accelerate, thenCohereAsrForConditionalGeneration.from_pretrained("CohereLabs/cohere-transcribe-03-2026", device_map="auto")with no remote code - Always pass language= (en, de, fr, it, es, pt, el, nl, pl, zh, ja, ko, vi, ar); there's no auto-detection
- For long audio, keep audio_chunk_index from the processor and pass it to processor.decode to reassemble the chunks
- Serving,
vllm serve CohereLabs/cohere-transcribe-03-2026 --trust-remote-code, then POST to /v1/audio/transcriptions - Put voice activity detection in front of it, since it transcribes noise and can hallucinate on silence
- Without the hardware or the gate, Cohere's API serves the same model as cohere-transcribe-03-2026
- Treat transcripts as untrusted text before passing them to another model, since speech can carry instructions
Granite Speech 5.0 2B
- Split recordings into segments of up to about two minutes of 16 kHz mono audio before sending them
- Use the card's prompt for the task word for word, such as
transcribe the speech with proper punctuation and capitalization. - Use Q8_0. IBM says lower precisions lose accuracy on audio over about a minute
- To spell names and jargon right, add a keyword list to the prompt, up to 2,000 terms
- With vLLM, serve with
--max-model-len 2048, as the card does - An unknown prompt falls back to transcription, so check that the output is the task you asked for
Questions
Which is better for AI agents, Cohere Transcribe 03-2026 or Granite Speech 5.0 2B?
Granite Speech 5.0 2B and Cohere Transcribe 03-2026 score within a point of each other on agent readiness, 61 (C) and 60.3 (C).
Other comparisons with Cohere Transcribe 03-2026 or Granite Speech 5.0 2B
- Cohere Transcribe 03-2026 vs Ming-3.0-asr-tiny
- Cohere Transcribe 03-2026 vs Ming-3.0-audio-flash
- Cohere Transcribe 03-2026 vs Ming-3.0-audio-tiny
- Cohere Transcribe 03-2026 vs Nemotron 3.5 ASR Streaming 0.6B
- Cohere Transcribe 03-2026 vs Nemotron 3.5 Transcribe 30B-A4B
- Cohere Transcribe 03-2026 vs Nemotron 3 Nano Omni 30B A3B Reasoning
- Cohere Transcribe 03-2026 vs Parakeet TDT 0.6B v3
- Cohere Transcribe 03-2026 vs Parakeet Unified EN 0.6B
- Cohere Transcribe 03-2026 vs Qwen3-ASR-0.6B
- Cohere Transcribe 03-2026 vs Qwen3-ASR-1.7B
- Cohere Transcribe 03-2026 vs Qwen3-Omni-30B-A3B-Instruct
- Cohere Transcribe 03-2026 vs Underdog Bark 3.0
- Cohere Transcribe 03-2026 vs Voxtral Mini 4B Realtime 2602
- Granite Speech 5.0 2B vs Ming-3.0-asr-tiny
- Granite Speech 5.0 2B vs Ming-3.0-audio-flash
- Granite Speech 5.0 2B vs Ming-3.0-audio-tiny
- Granite Speech 5.0 2B vs Nemotron 3.5 ASR Streaming 0.6B
- Granite Speech 5.0 2B vs Nemotron 3.5 Transcribe 30B-A4B
- Granite Speech 5.0 2B vs Nemotron 3 Nano Omni 30B A3B Reasoning
- Granite Speech 5.0 2B vs Parakeet TDT 0.6B v3
- Granite Speech 5.0 2B vs Parakeet Unified EN 0.6B
- Granite Speech 5.0 2B vs Qwen3-ASR-0.6B
- Granite Speech 5.0 2B vs Qwen3-ASR-1.7B
- Granite Speech 5.0 2B vs Qwen3-Omni-30B-A3B-Instruct
- Granite Speech 5.0 2B vs Underdog Bark 3.0
- Granite Speech 5.0 2B vs Voxtral Mini 4B Realtime 2602
Machine-readable
- This page as Markdown
/compare/cohere-transcribe-03-2026-vs-granite-speech-5-0-2b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/cohere-transcribe-03-2026.json·/api/v1/tools/granite-speech-5-0-2b.json - From a terminal
anchor compare cohere-transcribe-03-2026 granite-speech-5-0-2b(the CLI) - Over MCP
compare_tools {"a": "cohere-transcribe-03-2026", "b": "granite-speech-5-0-2b"}at/mcp, no key