catalog: replace dia with dia2-1b/dia2-2b; move zonos-api 8201->8203

Replace the single dia entry (legacy Dia 1.6B, retired) with two fixed-model
Dia2 entries (dia2-2b :8200, dia2-1b :8202), status ready (both exercised),
image local/dia:v2. Matching reproducibility_audit rows. catalog_version
unchanged (add/remove services = no vocab change).

Also fix a port collision I introduced earlier: the zonos-api adapter and
csm both claimed 8201 — move zonos-api to 8203 (catalog endpoint + voices
source_url, zonos .env.example, README).

NOTE FOR CONSUMERS: removing the dia id is a breaking catalog change for
asset_engine (it vendored dia in v0.1.4) — re-vendor + drop the dia tile,
add the two dia2 tiles.
This commit is contained in:
vh
2026-05-31 14:41:11 -07:00
parent 3139e81e8a
commit db15638d8e
3 changed files with 126 additions and 49 deletions
+3 -3
View File
@@ -20,9 +20,9 @@ ZONOS_TAG=v1
ZONOS_PORT=8199
# Host port for the OpenAI-ish REST adapter (zonos-api service) that
# asset-engine routes to. Container listens on 8000 internally. 8201 is
# the next free slot above the Gradio port.
ZONOS_API_PORT=8201
# asset-engine routes to. Container listens on 8000 internally. 8203
# (8200 Dia2-2B, 8201 csm, 8202 Dia2-1B were taken on irv-ml1).
ZONOS_API_PORT=8203
# Bind address. 0.0.0.0 exposes on all interfaces (incl. WG tunnel
# interface 10.100.79.3); 127.0.0.1 restricts to local-only.
+4 -4
View File
@@ -13,7 +13,7 @@ Models ([`Zonos.from_pretrained()`](https://github.com/Zyphra/Zonos)):
| hybrid | [Zyphra/Zonos-v0.1-hybrid](https://huggingface.co/Zyphra/Zonos-v0.1-hybrid) | Mamba-SSM; needs Ampere+ GPU + extra build deps |
**Server:** irv-ml1 (Irvine, WireGuard-only)
**Ports:** 8199 Gradio eval UI (container 7860) · 8201 REST adapter (container 8000)
**Ports:** 8199 Gradio eval UI (container 7860) · 8203 REST adapter (container 8000)
**GPUs:** pins to device 0 (RTX 3090) by default; ~6 GB VRAM
**Image:** `local/zonos:v1` — built locally from a pinned git SHA of the
upstream repo via docker buildx's git URL context
@@ -29,13 +29,13 @@ natural-language paralinguistic tags. Worth A/B-ing by ear against
Chatterbox-Turbo (the research that prompted this stack explicitly said
"benchmark Zonos against Chatterbox before choosing").
## Two surfaces: Gradio eval (8199) + REST adapter (8201)
## Two surfaces: Gradio eval (8199) + REST adapter (8203)
The official repo ships a **Gradio WebUI + Python SDK only** — no REST
endpoint. So this stack runs two services:
- **`zonos`** (8199) — upstream Gradio UI, for *auditioning quality by ear*.
- **`zonos-api`** (8201) — a thin OpenAI-ish adapter we built
- **`zonos-api`** (8203) — a thin OpenAI-ish adapter we built
(`adapter/server.py`) exposing `POST /v1/audio/speech` so **asset-engine**
can route to Zonos like every other TTS in the catalog. Returns a JSON
envelope `{audio: <base64>, audio_format, seed}` — the `seed` rides back
@@ -52,7 +52,7 @@ unmerged fork.
### Adapter request (example)
```bash
curl -sS http://10.100.79.3:8201/v1/audio/speech \
curl -sS http://10.100.79.3:8203/v1/audio/speech \
-H 'content-type: application/json' \
-d '{"input":"Hello from Zonos.","language":"en-us","seed":420}' \
| python3 -c 'import sys,json,base64; d=json.load(sys.stdin); open("out.wav","wb").write(base64.b64decode(d["audio"])); print("seed",d["seed"])'