Skip to main content

OpenAI-compatible ASR server with pluggable local backends.

Project description

Open ASR Server

CI PyPI

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:

  • OPENAI_ASR_SERVER_DEFAULT_MODEL: default model ID for requests
  • OPENAI_ASR_SERVER_PRELOAD: comma-separated models to preload at startup

Backend options

Model IDs determine which backend is used:

  • Parakeet MLX: mlx-community/parakeet-tdt-0.6b-v3 (default) or parakeet-*
  • MLX Whisper: whisper-large-v3-turbo or mlx-community/whisper-large-v3-turbo
  • Lightning Whisper MLX: lightning-whisper-distil-large-v3

API compatibility

The server implements:

  • POST /v1/audio/transcriptions
  • GET /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"

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

open_asr_server-0.1.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_asr_server-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file open_asr_server-0.1.0.tar.gz.

File metadata

  • Download URL: open_asr_server-0.1.0.tar.gz
  • Upload date:
  • Size: 10.1 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

Hashes for open_asr_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5bb79e5198fdccc280d7afdc567559fda4a52c2d810cdb6f0d14219ccd2c74f8
MD5 7117c70ca6e5aaace983915645355995
BLAKE2b-256 b75355f8a06eef7873deff43d152baa29318509c8df56116d66265010591d0d2

See more details on using hashes here.

File details

Details for the file open_asr_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: open_asr_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.4 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

Hashes for open_asr_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 53f7c489b3b6b7f1f419d5250b4cff58496065463ad0e7b2361784a6f105b89e
MD5 0e9f7e3e85accbe67ca92cf4cd0fc70a
BLAKE2b-256 e473fa056ec078ab3193b94ffef5b156e1b1b797a0671970beea78ce21b3f34a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page