MOSS-Transcribe-Diarize
FunASR integrates the third-party Apache-2.0 model OpenMOSS-Team/MOSS-Transcribe-Diarize published by OpenMOSS. It jointly generates long-form transcription, timestamps, and anonymous labels such as S01 and S02, without an external VAD or speaker pipeline.
Output contract
| Field | Meaning |
|---|---|
text | Readable transcript without MOSS control tags. |
timestamp | Segment-level start and end times in milliseconds. |
sentence_info | Normalized segments with start, end, text, and anonymous spk. |
raw_text | Exact tagged model generation retained for auditing. |
FunASR OpenAI-compatible service
python -m pip install "transformers>=5.6,<6" fastapi uvicorn python-multipart
funasr-server --model moss-transcribe-diarize --device cuda:0 --port 8000
curl -fsS http://127.0.0.1:8000/v1/audio/transcriptions \
-F file=@meeting.wav \
-F model=moss-transcribe-diarize \
-F response_format=verbose_jsonThe response preserves native anonymous speaker segments. A generic spk=true field does not start a second diarization model for MOSS.
Deployment paths
| Path | Use when | Contract |
|---|---|---|
| FunASR server | You need a self-hosted HF GPU endpoint, Docker Compose, or Kubernetes. | verbose_json with speaker segments. |
| vLLM | You operate its scheduler and need the native audio endpoint. | diarized_json; FunASR can normalize it through AutoModel. |
| SGLang Omni | You use its native MOSS pipeline. | verbose_json; FunASR validates speaker prefixes before normalization. |
| LocalAI / moss-transcribe.cpp | You need a third-party GGUF CPU or desktop-edge path. | Independent C++ implementation; validate its output separately. |
| FunClip | You need speaker-aware SRT and clips. | Consumes the normalized sentence_info contract. |
Open the production deployment hub for complete pinned commands →
Verified service smoke
On one H100 80GB with Transformers 5.16.0.dev0, Torch 2.11.0+cu130, and model revision e8681d68, the real FunASR HTTP endpoint processed the bundled 6.0-second sample and returned HTTP 200, duration=6.0, and one non-empty monotonic segment labelled S01. This proves the service contract only, not accuracy, throughput, concurrency, or capacity.
Production boundaries
- MOSS is owned and published by OpenMOSS; FunASR owns this adapter and deployment contract.
- Pin and audit the model revision because the HF path uses
trust_remote_code. - MOSS is an offline long-form model and is not exposed by the realtime WebSocket service.
- Speaker labels are anonymous clustering labels, not known-person identity or voiceprint verification.
- Do not externally VAD-split a meeting when global speaker continuity matters.