FunASR Models
Choose the right model for your use case — from ultra-fast multilingual recognition to the highest Chinese accuracy.
Quick Comparison
| Model | Speed | Languages | Params | Best For |
|---|---|---|---|---|
| Fun-ASR-Nano ⭐ | vLLM 340x | zh/en/ja + Chinese dialects/accents | 800M | Flagship · LLM-ASR · hardest cases |
| Fun-ASR-MLT-Nano | vLLM | 31 | 800M | Separate multilingual checkpoint |
| SenseVoice Small | 170x realtime | 50+ | 234M | Fast multilingual, emotion detection |
| Paraformer-zh | 120x realtime | zh, yue | 220M | Best Chinese accuracy |
| cam++ | realtime | any | 7.2M | Speaker diarization & verification |
ASR Models
model.pt checkpoint does not provide reliable checkpoint-native character timestamps (issue #106).When to use
Best for high-throughput batch processing, real-time subtitles, and scenarios where LLM-quality context understanding improves output (e.g., proper nouns and code-switching). For reliable character-level timestamps, use Paraformer.
# With vLLM acceleration from funasr import AutoModel model = AutoModel(model="FunAudioLLM/Fun-ASR-Nano-2512", device="cuda", backend="vllm") result = model.generate(input="audio.wav") print(result[0]["text"])
When to use
Choose MLT-Nano for recognition across 31 languages; choose flagship Nano for zh/en/ja and Chinese dialects/accents.
from funasr import AutoModel model = AutoModel(model="FunAudioLLM/Fun-ASR-MLT-Nano-2512", device="cuda") result = model.generate(input="audio.wav")
When to use
Best for: multilingual applications, real-time streaming, batch processing large audio collections, applications needing emotion or audio event detection.
from funasr import AutoModel model = AutoModel(model="iic/SenseVoiceSmall") result = model.generate(input="audio.wav") print(result[0]["text"])
When to use
Best for: Chinese-only applications where accuracy is the top priority — meeting transcription, subtitle generation, voice input, training data annotation.
from funasr import AutoModel
model = AutoModel(
model="iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
vad_model="iic/speech_fsmn_vad_zh-cn-16k-common-pytorch",
punc_model="iic/punc_ct-transformer_cn-en-common-vocab471067-large",
)
result = model.generate(input="audio.wav")
print(result[0]["text"])
Supporting Models
OpenAI-Compatible API
All models are available through funasr-server, which exposes an OpenAI-compatible /v1/audio/transcriptions endpoint:
# Start the server pip install funasr vllm fastapi uvicorn python-multipart funasr-server --device cuda --port 8000 # Use with any OpenAI-compatible client curl http://localhost:8000/v1/audio/transcriptions \ -F file=@audio.wav \ -F model=SenseVoiceSmall
Deployment Options
| Method | Command | Best For |
|---|---|---|
| pip | pip install funasr && funasr-server | Development, quick testing |
| Docker | docker run -d --gpus all -p 8000:8000 ... | Production deployment |
| Python API | from funasr import AutoModel | Embedding in applications |
| ONNX | Via Sherpa-ONNX | Mobile, edge, browser |