FunASR Use-case Showcase

May 25, 2026 ยท View on GitHub

FunASR is useful far beyond a single offline transcription command. This page collects the fastest paths for developers who want to evaluate, deploy, or integrate speech understanding in real products.

Choose the right path

GoalStart hereWhy it matters
Try FunASR in a browserColab quickstartRun a public sample and upload your own audio before setting up a local environment.
Transcribe one file locallyREADME quick start and model selection guideVerify install, model choice, and model download in minutes.
Compare accuracy and speedBenchmark reportReproduce the 184-file long-audio benchmark before choosing a model.
Migrate from Whisper/cloud ASRMigration guideMap existing pipelines to FunASR, benchmark representative audio, and plan a safe rollout.
Build a private speech APIOpenAI-compatible API example, Gradio browser demo, client recipes, JavaScript/TypeScript recipes, and workflow recipesReuse LangChain, Dify, n8n, AutoGen, and other OpenAI-style clients without sending audio to a cloud ASR provider.
Add speech input to agentsMCP server and voice inputConnect local ASR to Claude, Cursor, and desktop agent workflows.
Choose a deployment pathDeployment matrixCompare Python API, OpenAI API, Docker Compose, Kubernetes, WebSocket, vLLM, MCP, batch, subtitles, and Triton.
Serve streaming ASRRuntime service docsRun WebSocket or service-mode ASR for live captioning and call-center style workloads.
Accelerate LLM-based ASRvLLM guideUse tensor parallel decoding and streaming service support for Fun-ASR-Nano.
Generate subtitlesSubtitle exampleTurn long audio or video into subtitle files for media workflows.
Process many recordingsBatch ASR exampleBuild repeatable offline jobs for archives, meetings, and datasets.

Production-oriented recipes

Private transcription API

Use this path when an application already speaks OpenAI-style APIs or when audio cannot leave your environment.

pip install funasr fastapi uvicorn python-multipart
funasr-server --model sensevoice --device cuda
curl http://localhost:8000/v1/audio/transcriptions \
  -F file=@sample.wav \
  -F model=sensevoice \
  -F response_format=verbose_json

Recommended next steps:

Agent speech input

Use this path when you want to talk to coding agents, internal assistants, or workflow tools.

  • Start with the MCP server example for Claude/Cursor-style tools.
  • Use the voice input example for desktop speech input experiments.
  • Keep latency visible: log audio duration, processing time, and selected model for each request.

Streaming and call-center workloads

Use this path when partial results and low perceived latency matter more than a single final transcript.

  • Start from the runtime service docs.
  • Pair ASR with VAD, punctuation, and speaker diarization when the transcript needs to be readable by humans.
  • Validate with realistic audio: background noise, long silence, overlapping speakers, and different microphone quality.

Benchmark before migrating from Whisper

Use this path when deciding whether FunASR is a good replacement for Whisper or a cloud ASR provider.

  • Follow the migration guide to map features and benchmark representative audio.
  • Read the public benchmark report.
  • Benchmark your own sample set before migration; include both short clips and long-form recordings.
  • Track cost and throughput together: GPU speed, CPU viability, model download size, and deployment complexity.

Model selection hints

For a deeper comparison of SenseVoice, Paraformer, Fun-ASR-Nano, streaming runtime, and OpenAI API aliases, use the model selection guide.

NeedGood first choiceNotes
Fast multilingual transcriptionSenseVoice-SmallStrong default for local demos and private APIs.
Mandarin production ASRParaformer-LargeMature choice for Chinese speech recognition.
LLM-based ASR experimentsFun-ASR-NanoPair with the vLLM guide when throughput matters.
Speaker-aware transcriptsSenseVoice or Paraformer with spk_model="cam++"Useful for meetings, interviews, and customer calls.
Live audioRuntime WebSocket serviceValidate chunking, VAD, and endpointing with real traffic.

Share your result

If FunASR works well in your project, consider opening a showcase issue, Migration Benchmark Report, or GitHub Discussion with:

  • Use case and deployment mode.
  • Model, device, and processing speed.
  • Audio domain, language, and rough duration.
  • A public demo, screenshot, benchmark summary, or integration link when available.

Concrete usage reports help new users choose the right path and help maintainers prioritize the next round of docs and examples.