Server API
Start the local server:
openasr serveBy default it binds 127.0.0.1:8080. Non-loopback remote serving requires
--tls-self-signed (or another TLS setup) and pairing auth — see
openasr serve --help.
Endpoints
Section titled “Endpoints”GET /healthGET /v1/modelsPOST /v1/audio/transcriptionsPOST /v1/models/{id}/pull # operator-onlyTranscriptions
Section titled “Transcriptions”curl -s http://127.0.0.1:8080/v1/audio/transcriptions \ -F file=@audio.wav \ -F model=whisper-small \ -F response_format=jsonSupported response_format values:
jsontextsrtvttverbose_jsonmarkdown
Runtime posture
Section titled “Runtime posture”The server runs native (the same fail-closed, ggml-backed backend as the
CLI) against an already-installed or explicitly pinned (--model-pack)
local pack. It never downloads a model to satisfy a transcription
request — the only server-side install path is the
operator-authenticated pull API. There is no telemetry.