# OpenMOSS-Team/MOSS-TTSD-v1.0 — vLLM serving recipe

> OpenMOSS's 8B spoken-dialogue generation model for expressive, multi-speaker, ultra-long conversations — served via vLLM-Omni through the OpenAI /v1/audio/speech API (24 kHz mono).

Configuration: hardware `h200` (8× H200) · variant `default` (BF16) · task `t2a`

- Interactive page: https://vllm-recipes-cimvhk5sf-inferact-inc.vercel.app/OpenMOSS-Team/MOSS-TTSD-v1.0
- This configuration as JSON: https://vllm-recipes-cimvhk5sf-inferact-inc.vercel.app/OpenMOSS-Team/MOSS-TTSD-v1.0.json?hardware=h200

The commands below were rendered for exactly this configuration and take precedence over any example in the guide.

## Other configurations

Change the query string (the same parameters as the page URL) and fetch this URL again. Unknown or incompatible values fall back to the recipe default, so check the Configuration line.

- `hardware`: `h100`, `h200`, `b200`, `gb200`, `b300`, `gb300`, `mi300x`, `mi325x`, `mi350x`, `mi355x`
- `variant`: `default`
- `task`: `t2a`

## Install

Requires vLLM >= 0.22.0.

```bash
uv venv
source .venv/bin/activate
uv pip install -U vllm --torch-backend auto
```

Extra dependencies:

- vLLM-Omni provides the TTS serving backend and the `--omni` serve path. See the installation guide for pre-built wheels or building from source.

```bash
uv pip install git+https://github.com/vllm-project/vllm-omni.git
```

## Serve

vLLM-Omni recipe — the generation endpoints and request examples are in the guide below.

```bash
vllm serve OpenMOSS-Team/MOSS-TTSD-v1.0 \
  --deploy-config vllm_omni/deploy/moss_ttsd.yaml \
  --omni
```

## Guide

> Background reference. Commands in it are examples and may target another configuration — use the Serve section above.

### Overview

[MOSS-TTSD-v1.0](https://huggingface.co/OpenMOSS-Team/MOSS-TTSD-v1.0) is the
**spoken-dialogue** member of OpenMOSS's MOSS-TTS Family, served through
**vLLM-Omni** with the OpenAI-compatible `/v1/audio/speech` API. It generates
expressive, **multi-speaker, ultra-long dialogues** and (per OpenMOSS) leads on
objective metrics while outperforming top closed-source systems in subjective
evaluations. Output is **24 kHz mono**.

Dialogue formatting (speaker turns, e.g. `[S1] ... [S2] ...`) and any
multi-speaker reference conditioning follow the upstream
[MOSS-TTSD](https://github.com/OpenMOSS/MOSS-TTSD) conventions — consult the
upstream repo for the exact turn/reference schema.

### Prerequisites

- **Hardware**: a single CUDA GPU comparable to the 8B MOSS-TTS profile
  (~18 GB talker + ~8 GB codec; e.g. an 80 GB H100 with headroom for long
  dialogues).
- **vLLM-Omni** targeting vLLM >= 0.22.

### Installation

```bash
uv venv && source .venv/bin/activate
uv pip install git+https://github.com/vllm-project/vllm-omni.git
```

### Launch the server

MOSS-TTSD shares `model_type=moss_tts_delay` with the other MossTTSDelay
checkpoints, so pass its deploy config explicitly:

```bash
vllm serve OpenMOSS-Team/MOSS-TTSD-v1.0 --omni \
  --deploy-config vllm_omni/deploy/moss_ttsd.yaml --port 8000
```

### Client usage

```bash
curl -X POST http://localhost:8000/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{
    "model": "OpenMOSS-Team/MOSS-TTSD-v1.0",
    "input": "[S1] Hi, how was your day? [S2] Pretty good, thanks for asking!",
    "voice": "default",
    "response_format": "wav"
  }' --output dialogue.wav
```

### Known limitations

- Output is **24 kHz mono**.
- Shares the `OpenMOSS-Team/MOSS-Audio-Tokenizer` codec (~7 GB, auto-downloaded;
  override with `MOSS_TTS_CODEC_PATH`).

### References

- [Model card](https://huggingface.co/OpenMOSS-Team/MOSS-TTSD-v1.0)
- [MOSS-TTSD GitHub](https://github.com/OpenMOSS/MOSS-TTSD)
- [MOSS-TTS Family](https://huggingface.co/OpenMOSS-Team/MOSS-TTS)
