Skip to content

Server API

Start the local server:

bash
openasr serve

By 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.

GET /health
GET /v1/models
POST /v1/audio/transcriptions
POST /v1/models/{id}/pull # operator-only
bash
curl -s http://127.0.0.1:8080/v1/audio/transcriptions \
-F file=@audio.wav \
-F model=whisper-small \
-F response_format=json

Supported response_format values:

  • json
  • text
  • srt
  • vtt
  • verbose_json
  • markdown

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.