Audio
26 audio aliases · TTS (Kokoro / Chatterbox / VibeVoice / VoxCPM / Dia) + STT (Whisper / Parakeet).
rapid-mlx serves OpenAI-compatible /v1/audio/transcriptions and /v1/audio/speech endpoints — drop-in for any OpenAI SDK client. 26 aliases ship today across two modalities: text-to-speech (Kokoro, Chatterbox, VibeVoice, VoxCPM, Dia) and speech-to-text (Whisper, Parakeet). All aliases route through the same mlx_audio-backed runtime so swapping models is one CLI flag.
- family
- Audio
- aliases
- 26
- lines
- 7
- install
- rapid-mlx serve <alias>
- OpenAI base URL
- http://localhost:8000/v1
Usage
The audio aliases route through OpenAI-compatible endpoints — any OpenAI SDK works without per-model config.
# Text-to-speech
curl -X POST http://localhost:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "kokoro", "input": "hello from rapid-mlx"}' \
--output hello.wav
# Speech-to-text (multipart upload)
curl -X POST http://localhost:8000/v1/audio/transcriptions \
-H "Content-Type: multipart/form-data" \
-F file=@hello.wav \
-F model=whisper-large-v3-turbo
Lines in this family
- Text-to-speech (TTS) · Kokoro · Chatterbox · VibeVoice · VoxCPM · Dia
- Speech-to-text (STT) · Whisper · Parakeet
Text-to-speech (TTS) · 13 aliases
OpenAI-compat endpoint: POST /v1/audio/speech. Pass model (any alias from the tables below), input (the text to synthesise), and optionally voice (per-family voice id — falls back to the alias's default voice when omitted).
Kokoro · 7 aliases
Lightweight 82M open-weights TTS — the default rapid-mlx TTS pick. Three quants (bf16 / 8-bit / 4-bit) with short- and long-form aliases for each.
| alias | hf repo | default voice | notes |
|---|---|---|---|
| kokoro | mlx-community/Kokoro-82M-bf16 | af_heart | Default Kokoro 82M (bf16). Drop-in OpenAI-style TTS. |
| kokoro-4bit | mlx-community/Kokoro-82M-4bit | af_heart | Short-form 4-bit alias. |
| kokoro-82m | mlx-community/Kokoro-82M-bf16 | af_heart | Long-form alias for ``kokoro`` — same HF id. |
| kokoro-82m-4bit | mlx-community/Kokoro-82M-4bit | af_heart | 4-bit quant of Kokoro 82M — smaller download, mild quality drop. |
| kokoro-82m-8bit | mlx-community/Kokoro-82M-8bit | af_heart | 8-bit quant of Kokoro 82M. |
| kokoro-82m-bf16 | mlx-community/Kokoro-82M-bf16 | af_heart | Explicit bf16 quant of Kokoro 82M. |
| kokoro-8bit | mlx-community/Kokoro-82M-8bit | af_heart | Short-form 8-bit alias. |
Chatterbox · 2 aliases
Multilingual expressive TTS with voice cloning via reference audio. Both fp16 and 4-bit ship.
| alias | hf repo | default voice | notes |
|---|---|---|---|
| chatterbox | mlx-community/chatterbox-turbo-fp16 | default | Multilingual expressive TTS. Voice cloning via reference audio. |
| chatterbox-4bit | mlx-community/chatterbox-turbo-4bit | default | 4-bit quant of Chatterbox Turbo. |
VibeVoice · 2 aliases
Realtime low-latency 0.5B TTS. Per-language voice caches; en-Grace_woman is the canonical English-female default.
| alias | hf repo | default voice | notes |
|---|---|---|---|
| vibevoice | mlx-community/VibeVoice-Realtime-0.5B-4bit | en-Grace_woman | Realtime low-latency TTS, 0.5B 4bit. Per-language voice caches; en-Grace_woman is the canonical English-female default. Full set: en-{Grace_woman,Mike_man,Carter_man,Davis_man,Frank_man,Emma_woman} + de/fr/it/jp/kr/nl/pl/pt/sp Spk0/Spk1 pairs + in-Samuel_man. |
| vibevoice-realtime | mlx-community/VibeVoice-Realtime-0.5B-4bit | en-Grace_woman | Long-form alias for ``vibevoice``. |
VoxCPM · 1 alias
Chinese/English high-quality TTS, CPM-based. Single alias.
| alias | hf repo | default voice | notes |
|---|---|---|---|
| voxcpm | mlx-community/VoxCPM1.5 | default | Chinese/English high-quality TTS (CPM-based). |
Dia · 1 alias
Multi-speaker dialogue TTS in 4-bit. Best-effort — covered by the probe but mlx_audio support is experimental.
| alias | hf repo | default voice | notes |
|---|---|---|---|
| dia | mlx-community/Dia-1.6B-4bit | default | Dia 1.6B multi-speaker dialogue TTS (4-bit). Best-effort — covered by the audio probe but mlx_audio support is experimental; report bugs upstream if synth fails. |
Speech-to-text (STT) · 13 aliases
OpenAI-compat endpoint: POST /v1/audio/transcriptions. Send multipart/form-data with file (the audio bytes) and model (any alias from the tables below). Optional language hint accepted by Whisper aliases.
Whisper · 8 aliases
OpenAI's multilingual STT family — tiny → large-v3 + large-v3-turbo. whisper-1 is wired as an OpenAI-compat placeholder pointing at large-v3.
| alias | hf repo | languages | notes |
|---|---|---|---|
| whisper | mlx-community/whisper-large-v3-mlx | multilingual | Bare ``whisper`` -> largest-v3. Matches OpenAI's ``whisper-1`` placeholder. |
| whisper-1 | mlx-community/whisper-large-v3-mlx | multilingual | OpenAI-spec id from the legacy Whisper API. Same destination as ``whisper-large-v3``. |
| whisper-base | mlx-community/whisper-base-mlx | multilingual | Whisper base. |
| whisper-large-v3 | mlx-community/whisper-large-v3-mlx | multilingual | Whisper large-v3 (multilingual, 99+ languages). |
| whisper-large-v3-turbo | mlx-community/whisper-large-v3-turbo | multilingual | Whisper large-v3 turbo (faster decode, slight quality drop). |
| whisper-medium | mlx-community/whisper-medium-mlx | multilingual | Whisper medium. |
| whisper-small | mlx-community/whisper-small-mlx | multilingual | Whisper small. |
| whisper-tiny | mlx-community/whisper-tiny-mlx | multilingual | Whisper tiny (smallest, fastest, lowest accuracy). |
Parakeet · 5 aliases
NVIDIA Parakeet TDT 0.6B — English-only but fastest STT in the registry. v2 and v3 checkpoints ship.
| alias | hf repo | languages | notes |
|---|---|---|---|
| parakeet | mlx-community/parakeet-tdt-0.6b-v2 | en | NVIDIA Parakeet TDT 0.6B v2 (English, fastest STT). |
| parakeet-tdt-0.6b | mlx-community/parakeet-tdt-0.6b-v2 | en | Long-form alias for ``parakeet``. |
| parakeet-tdt-0.6b-v2 | mlx-community/parakeet-tdt-0.6b-v2 | en | Parakeet TDT 0.6B v2. |
| parakeet-tdt-0.6b-v3 | mlx-community/parakeet-tdt-0.6b-v3 | en | Parakeet TDT 0.6B v3. |
| parakeet-v3 | mlx-community/parakeet-tdt-0.6b-v3 | en | Parakeet TDT 0.6B v3. |
Notes & caveats
- TTS aliases default to a sensible per-family voice but accept any voice supported by the underlying model — pass
voicein the JSON body of/v1/audio/speech. - STT aliases accept both
multipart/form-dataaudio uploads and the OpenAI-stylefilefield on/v1/audio/transcriptions. whisper-1is wired as an OpenAI-compat placeholder — it resolves towhisper-large-v3so legacy OpenAI client code works unchanged.- Dia 1.6B is best-effort — covered by the audio probe but
mlx_audiosupport is experimental upstream; report bugs upstream if synth fails.