POST /inference — multipart file field (or a raw WAV body);
optional language, response_format (json|text),
vad, timestamps. whisper.cpp clients work unchanged.
WebSocket on this same port — send an optional
{"format":"pcm16","lang":"fi"} text frame, then raw PCM16 @ 16 kHz binary frames;
each detected utterance returns as {"type":"final","text","t0","t1","speech_t0","speech_t1"}.
Also: "partials":true (drafts with a stable prefix), "pause_ms",
"levels":true, "events":true; commands {"cmd":"end"} and
{"cmd":"reset"} — see the README.
GET /health — model shape and request count.