OpenAI-compatible ASR server with pluggable local backends.
Project description
Open ASR Server
OpenAI-compatible ASR server with pluggable local transcription backends.
Install
Base install includes the API server and shared models/formatters:
uv tool install "open-asr-server"
Add backend extras as needed:
uv tool install "open-asr-server[parakeet]"
uv tool install "open-asr-server[whisper]"
uv tool install "open-asr-server[lightning-whisper]"
Note: the Whisper extras currently require Python 3.11 (tiktoken build constraints on 3.12+).
Whisper troubleshooting
If uv run --extra whisper fails on Python 3.12+, use a 3.11 interpreter for now:
uv run --python 3.11 --extra whisper -- open-asr-server serve --host 127.0.0.1 --port 8000
Run
uv tool run open-asr-server serve --host 127.0.0.1 --port 8000
Environment variables:
OPEN_ASR_SERVER_DEFAULT_MODEL: default model ID for requestsOPEN_ASR_SERVER_PRELOAD: comma-separated models to preload at startupOPEN_ASR_SERVER_API_KEY: optional shared secret for requestsOPEN_ASR_SERVER_ALLOWED_MODELS: comma-separated allowed model IDs or patternsOPEN_ASR_SERVER_MAX_UPLOAD_BYTES: max upload size in bytes (default: 26214400)OPEN_ASR_SERVER_MODEL_DIR: override the Hugging Face cache location for this server
Models default to the Hugging Face cache unless a local path is provided. Use
OPEN_ASR_SERVER_MODEL_DIR if you want a dedicated cache without changing your
global HF environment.
Backend options
All backends are MLX-based today (Apple Silicon/macOS). Non-MLX backends are planned, but not yet supported.
Model IDs determine which backend is used:
- Parakeet MLX:
mlx-community/parakeet-tdt-0.6b-v3(default) orparakeet-* - MLX Whisper:
whisper-large-v3-turboormlx-community/whisper-large-v3-turbo - Lightning Whisper MLX:
lightning-whisper-distil-large-v3
API compatibility
The server implements:
POST /v1/audio/transcriptionsGET /v1/models
Example:
curl -s -X POST "http://127.0.0.1:8000/v1/audio/transcriptions" \
-F "file=@audio.wav" \
-F "model=whisper-large-v3-turbo"
Security
This server is designed for trusted networks. If you expose it publicly, enable
OPEN_ASR_SERVER_API_KEY and front it with a reverse proxy that provides
TLS and rate limiting.
API key headers:
Authorization: Bearer <token>X-API-Key: <token>
Use OPEN_ASR_SERVER_ALLOWED_MODELS to limit which model IDs can be loaded
and prevent unbounded downloads.
Release
uv version --bump patch
uv run --extra dev pytest
uv build --no-sources
uv publish --index testpypi --token "$UV_PUBLISH_TOKEN"
uv publish --token "$UV_PUBLISH_TOKEN"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file open_asr_server-0.1.1.tar.gz.
File metadata
- Download URL: open_asr_server-0.1.1.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd1ba8418b1d4bc3a14b73a0777e04149f515253d641b6b940fd16b33751c494
|
|
| MD5 |
83c615fa9e8b375e33c34e513a1a0947
|
|
| BLAKE2b-256 |
b7a59a6213f31fe1bcfcb0802f692d8068e5531302fed86f79c396244089c6fe
|
File details
Details for the file open_asr_server-0.1.1-py3-none-any.whl.
File metadata
- Download URL: open_asr_server-0.1.1-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58c0825fadf96ce05b16b7003d7ceb156a38afd14f60677f13456b1a6cb83bce
|
|
| MD5 |
9e6dbab9c7a71b68974b6bda3b83cb6a
|
|
| BLAKE2b-256 |
b969328ac27608c3a82a74af4014b25576cab57a84e869eb4253c1979a570a85
|