# Speech — TTS and ASR endpoints All on irv-ml1 unless noted. Every one is FastAPI: **`GET /openapi.json` is the live contract**, `/health` is the liveness probe. ## TTS | service | endpoint | what it is | |---|---|---| | **Breeze-TTS-2** | `http://irv-ml1.nh3.internal:8204` | clone + direction, **fleet primary** | | TTS fleet gateway | `http://irv-ml1.nh3.internal:8198` | switchboard; engines sit behind it | | Chatterbox Fast | `http://irv-ml1.nh3.internal:8197` | streaming, sub-second first-audio — the live-chat front end | | dots.tts | `http://irv-ml1.nh3.internal:8202` | continuous-AR 48 kHz zero-shot clone | | Kokoro | `http://irv-ml1.nh3.internal:8193` | low-latency English, streaming | **Breeze** (`/v1/voices`, `/v1/voices/detail`, `/v1/audio/speech`, `/v1/audio/design`) — `/v1/voices` matches dots byte-for-byte so they are drop-in swappable; `/v1/voices/detail` exposes the registry with its directions visible. **Gateway** (`/v1/audio/speech`, `/v1/voices`) is also reachable through LiteLLM as the `ext-tts` alias. Voices: donut / emmie / glados / miranda / sindra plus emotion variants, or the OpenAI aliases nova / alloy. ⚠ **An unknown voice 404s and can trip the router cooldown** — list voices first. ## ASR | service | endpoint | what it is | |---|---|---| | **Parakeet (NeMo)** | `http://10.251.50.54:8300` | Parakeet-unified-en, NeMo torch bf16, fv-ml1 GPU 0 — **fleet primary**. OpenAI-compatible `/v1/audio/transcriptions`, plus `/transcribe`; liveness is `/healthz` (not `/health`) | | via LiteLLM | `http://10.250.50.70:4000/v1` | aliases `ext-stt` and `whisper-1` both route to the Parakeet seat above | | VibeVoice streaming ASR 1.5B | `http://10.100.50.80:8031` | audio.cpp on nh3-ml1, streaming; built for the dataset foundry, direct (no gateway) | | Scriberr | `http://10.251.50.54:8080` (`https://scriberr.nh3.phasefinal.com`) | transcription + diarization UI, fv-ml1 | Retired, verified 2026-10-17: **Speaches** (irv-ml1 :8204 is now Breeze-TTS-2), the sherpa-onnx `parakeet` container on fv-ml1 (stopped; NeMo replaced it), and the asset-engine `parakeet` entry at `10.100.79.3:8765` (the dead wg0 lifeline address; asset-engine itself was retired 2026-10-17). The first two's leftover containers were removed 2026-10-17 (images and compose dirs kept), so Homepage no longer lists them. ## Traps - **OmniVoice-style diffusion TTS has a TTFA floor** — roughly fixed per-call cost, ~0.7 s first-audio, real RTF 2.8–5.6× (not the advertised 40×). Chatterbox-fast stays the live-chat front end for that reason. - **Never expose repetition-penalty dials on Zonos-lineage engines** — it is a silence footgun. - Several engines listed on Homepage under *AI - Dormant* are down by design and take ~90 s to respin. Check `/health` before assuming a service is broken.