FunClip v2.2.0: Long-Form Speaker-Aware Video Clipping with MOSS
FunClip v2.2.0 adds an opt-in MOSS path: send long audio to a vLLM service, normalize text, speaker identities, and time ranges through FunASR, then generate SRT or clip by spkS01, spkS02, and later speaker IDs.
MOSS-Transcribe-Diarize is a third-party model maintained by OpenMOSS, not a FunASR or FunClip-owned checkpoint. The integration pins OpenMOSS-Team/MOSS-Transcribe-Diarize revision e8681d68e7042738ffca8ac8212bc8fcb1131ab8 and keeps ownership and support boundaries explicit.
Data path
| Stage | Responsibility |
|---|---|
| vLLM | Loads the pinned MOSS revision and serves timestamped speaker markup through /v1/audio/transcriptions. |
| FunASR 1.4.9+ | Parses the response into common text, timestamp, and sentence_info fields. |
| FunClip 2.2.0 | Renders speaker-labeled SRT and sends selected speaker ranges into the existing audio/video clipping workflow. |
1. Start vLLM at the pinned revision
python -m venv .venv-moss
. .venv-moss/bin/activate
pip install -U vllm
vllm serve OpenMOSS-Team/MOSS-Transcribe-Diarize \
--revision e8681d68e7042738ffca8ac8212bc8fcb1131ab8 \
--served-model-name moss-transcribe-diarize \
--trust-remote-code --host 127.0.0.1 --port 8898
Verify the service with real audio before starting FunClip. The tested contract uses response_format=json:
curl -fsS http://127.0.0.1:8898/v1/audio/transcriptions \
-F file=@sample.wav \
-F model=moss-transcribe-diarize \
-F response_format=json \
-F max_completion_tokens=8192
2. Start FunClip
python -m pip install -U -r requirements.txt
python funclip/launch.py \
--model moss \
--moss-backend vllm \
--moss-base-url http://127.0.0.1:8898/v1 \
--moss-max-tokens 8192
For an authenticated remote service, put the bearer credential in the MOSS_API_KEY environment variable. FunClip does not require putting the token in the command line or repository.
Capabilities and boundaries
- Long-form ASR, speaker identity, SRT, and speaker-based clipping are supported, including valid speaker turns shorter than one second.
- MOSS provides segment-level timestamps. Use it for whole-segment or speaker clipping; keep Paraformer for precise arbitrary character-level text clipping.
- Global speaker identity depends on continuous context, so the MOSS path attaches no external VAD or speaker model that would pre-chunk the recording.
- If the final segment is missing its ending timestamp after token exhaustion, FunClip raises an explicit truncation error and asks for a higher
--moss-max-tokensvalue instead of silently dropping the tail.
See the bilingual MOSS production guide for health checks, runtime choices, and capacity boundaries.
Download and verify v2.2.0
FunClip-2.2.0.tar.gz
SHA256 994c5d9cf392b74b36284d526eca8bada1560a3e7825ab7baa9c673a1b4ef216
FunClip-2.2.0.zip
SHA256 4f5a7d33d9ea65467f29b55b15ed5be18e64de7e57e2f9f36fe51a23b40557e7
Download the archives and SHA256SUMS from the FunClip v2.2.0 release.
c205bf32a8b11226ff5e8acb9a3c7a1f00cd3b06. The repository suite completed with 84 passed and 1 skipped. A live H100 + vLLM two-speaker run returned S01/S02, valid SRT, and the expected S02 clip. This verifies the release path, not every language, audio condition, or production concurrency level.Run one real two-speaker recording through the production guide, then bring the same service into FunClip.
Open the FunClip v2.2.0 release and downloads