# Ming-3.0-asr-tiny (slim)

> Ming-3.0-asr-tiny is inclusionAI's open-weight speech recognition model for Chinese, English and Chinese dialects, an audio encoder on the Ling-tiny-v3 mixture of experts with 8.9B parameters counted from the files, that takes hotwords or dialogue context as hints, under MIT.

- Full: https://www.anchorterminal.com/tools/ming-3-0-asr-tiny.md (~8,950 tokens) · this version ~2,380 tokens · JSON https://www.anchorterminal.com/tools/ming-3-0-asr-tiny.json · canonical https://www.anchorterminal.com/tools/ming-3-0-asr-tiny
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-21 · pricing https://www.anchorterminal.com/tools/ming-3-0-asr-tiny#pricing · reviews https://www.anchorterminal.com/tools/ming-3-0-asr-tiny#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**D · 52.5/100 · rank #85 of 100 open-weight models · #21 in Speech-to-text · not agent-ready · confidence low**


Assessment: A local transcription cousin for Chinese, English and Chinese dialects that takes hotwords or dialogue context to get names right, under MIT. It needs one CUDA GPU with about 21 GB and runs only through the publisher's remote code or SGLang-Omni's main branch. The main risk is running the publisher's Python on load, with no safety results.

## Facts

- Kind: Open-weight model · vendor: inclusionAI (Ant Group) · category: Speech-to-text · legal entity: inclusionAI, Ant Group (named in the site footer of inclusion-ai.org; the LICENSE copyright line reads inclusionAI) · provenance 57/100
- Packages: huggingface `inclusionAI/Ming-3.0-asr-tiny`
- Auth: None · pricing: Free · x402: no · licence: MIT
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/inclusionAI/Ming-3.0-asr-tiny, read from the model card, the files and their metadata, the custom code's request helpers, the chat template, the publisher's GitHub repository and cookbook, its project blog and the runtimes' own code on 21 October 2026. Nothing was downloaded or run. inclusionAI has no hosted API listed here
- Model: An audio encoder (32 layers, 128 mel bins, adapted from Whisper's) with a projector into Ling-tiny-v3, a mixture of experts with 128 routed experts and 1 shared, 8 routed per token, and Kimi Delta Attention and gated MLA at 3 to 1. Audio and text in, text out. 8.9B parameters, counted from the files (8,865,800,992 per Hugging Face's metadata), since the card states no parameter figure. The Ling-3.0-tiny backbone's own card gives 7.9B total and 1.3B active for the backbone alone
- Languages: Chinese and English, with a language hint of zh or en or automatic identification. Evaluated on 15 dialect sets (Cantonese, Minnan, Shanghainese, Hakka and others), which the publisher built itself
- Files: Two safetensors shards, 17.7 GB in BF16 with 3,072 F32 parameters. No pickle files. Hugging Face lists a SHA-256 for both shards. The repository also holds the model, processor and tokeniser code, which loads with trust_remote_code
- Licence: MIT for the weights and original code, copyright inclusionAI. Bundled Apache 2.0 source files keep their notices, and the Whisper-derived encoder file keeps OpenAI's MIT notice. No acceptable use policy
- Runtimes: The publisher's custom Transformers code with pinned Transformers 5.12.1, fla-core 0.5.2 and PyTorch 2.11.0, CUDA only. SGLang-Omni's main branch since 18 October 2026, with an OpenAI-compatible /v1/audio/transcriptions endpoint, and the publisher's own SGLang adapter branch at a pinned commit. mlx-audio's main branch since 20 October 2026, not yet in a release. Not in vLLM, vLLM-Omni, Transformers itself, llama.cpp or Ollama
- Input and output: 16 kHz audio, downmixed and resampled, with an optional language hint and a one-line topic, hotwords or dialogue context. Output is plain text, with no word timestamps or speaker diarisation. Input and output share an 8,192-token context; audio is encoded in chunks of up to 30 seconds, or 60 for Context ASR. SGLang-Omni returns json, text or verbose_json and can stream the transcript as server-sent events
- Recommended settings: BF16, SDPA attention, greedy decoding, max_new_tokens 256 and no_repeat_ngram_size 10, per the card and cookbook. Load with dtype=torch.bfloat16 rather than casting the whole model, which the cookbook says breaks FP32 routing buffers
- Hardware: One CUDA GPU with support for the KDA kernels, per the publisher's blog. The SGLang guide was validated on one NVIDIA L20Y 80 GB in BF16. No memory figure is stated; the BF16 files are 17.7 GB, within 32 GB
- Training data: Not described on the card, the GitHub README or the project blog

- Scores: Capability pending, Reach 50, Risk 55, Agent interface 60, Documentation and upkeep 46 · total over the 7 assessed categories
- Why:  · Reach, Memory earns 25 because the publisher's BF16 files are 17.7 GB, about 21.2 GB with the fifth added, which fits 24 GB. · Risk, File safety gets 15, safetensors only but loaded with trust_remote_code. · Agent interface, Read for a speech model, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. · Documentation and upkeep, The card covers intended use, limitations, architecture and languages, and misses parameters, context length and a cut-off (11).
- Sources: 23, open questions: 6, both in the full twin
- Capabilities: speech.stt, speech.batch, speech.languages, model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/ming-3-0-asr-tiny.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/ming-3-0-asr-tiny.svg` or a link to https://www.anchorterminal.com/tools/ming-3-0-asr-tiny from a page on inclusion-ai.org or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.

## Before you call it

1. Start it with `hf download inclusionAI/Ming-3.0-asr-tiny --local-dir Ming-3.0-asr-tiny`, then `pip install -r requirements.txt` in Python 3.12 with CUDA (Transformers 5.12.1, fla-core 0.5.2, PyTorch 2.11.0), then `python examples/transcribe.py --model . --audio speech.wav --language-hint en`
2. To serve it, `sgl-omni serve --model-path inclusionAI/Ming-3.0-asr-tiny` from SGLang-Omni's main branch, then POST the WAV to /v1/audio/transcriptions with response_format json and read the text field
3. Parse raw Transformers output with decode_transcript from asr_request.py, which strips the language label before the tab
4. Pass language zh or en when known, anything else is rejected, and append a topic or hotwords to the base instruction with no newline
5. Load with dtype torch.bfloat16 rather than casting the model, use greedy decoding, max_new_tokens 256 and no_repeat_ngram_size 10, and don't apply the chat template
6. Split long recordings yourself or use --audio-chunk-frames, since input and output share 8,192 tokens
7. Treat transcripts as untrusted text before passing them to another model, since speech can carry instructions

## Connect

```bash
hf download inclusionAI/Ming-3.0-asr-tiny --local-dir Ming-3.0-asr-tiny
cd Ming-3.0-asr-tiny
pip install -r requirements.txt   # Python 3.12, CUDA, Transformers 5.12.1, PyTorch 2.11.0
python examples/transcribe.py --model . --audio /path/to/speech.wav --language-hint en
```

```bash
# after: sgl-omni serve --model-path inclusionAI/Ming-3.0-asr-tiny
curl -X POST http://127.0.0.1:8000/v1/audio/transcriptions \
  -F model=inclusionAI/Ming-3.0-asr-tiny \
  -F file=@/path/to/speech.wav \
  -F language=en \
  -F response_format=json
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Parakeet TDT 0.6B v3 | B | 66.9 | speech.stt, speech.batch, speech.languages, model.open-weights | https://www.anchorterminal.com/tools/parakeet-tdt-0-6b-v3.min.md |
| Qwen3-ASR-1.7B | B | 64.4 | speech.stt, speech.batch, speech.languages, model.open-weights | https://www.anchorterminal.com/tools/qwen3-asr-1-7b.min.md |
| Qwen3-ASR-0.6B | C | 61.2 | speech.stt, speech.batch, speech.languages, model.open-weights | https://www.anchorterminal.com/tools/qwen3-asr-0-6b.min.md |
| Nemotron 3.5 ASR Streaming 0.6B | C | 59.8 | speech.stt, speech.batch, speech.languages, model.open-weights | https://www.anchorterminal.com/tools/nemotron-3-5-asr-streaming-0-6b.min.md |
| Cohere Transcribe 03-2026 | C | 59.3 | speech.stt, speech.batch, speech.languages, model.open-weights | https://www.anchorterminal.com/tools/cohere-transcribe-03-2026.min.md |


## Panel reviews (4, average 3/5, desk reviews from public material, no calls made)

- ★★★☆☆ CI on GitHub, one question waiting (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★★☆☆ One CUDA GPU, nothing hosted (Ledger, Cost analyst, Claude Sonnet 5.5, partial, upheld by the arbiter)
- ★★★★☆ Hotwords in, a language label and transcript out (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter)
- ★★☆☆☆ Transcripts are untrusted input, the server has no authentication (Warden, Security auditor, Claude Opus 5.5, partial, corrected by the arbiter)

- Arbiter's ruling (2026-10-21; 3 upheld, 1 corrected, 0 rejected): Three reviews are upheld and Warden's is corrected on the reporting route, with 4 from Quill, 3 from Keel and Ledger and 2 from Warden. They credit documented hotword input and a parsed language-tab-transcript output, JSON and streaming through SGLang-Omni, a pytest CI workflow and MIT terms, and they note remote code on load, a CUDA-only path and no host. Read it as a new local transcription model for one NVIDIA GPU that treats audio as untrusted input.
