REST API for audio transcription using parakeet-mlx
Project description
Paratran
REST API and MCP server for audio transcription on Apple Silicon, powered by parakeet-mlx.
Parakeet is #1 on the Open ASR Leaderboard and runs ~30x faster than Whisper on Apple Silicon via MLX.
Requirements
- macOS with Apple Silicon (M1/M2/M3/M4)
- Python 3.11+
- ~2 GB memory for the default model
Quick Start
Run without installing:
uvx paratran
Install
uv (recommended)
uv tool install paratran
paratran
pip
pip install paratran
paratran
From source
git clone https://github.com/briansunter/paratran.git
cd paratran
uv sync
uv run paratran
Usage
# Default settings
paratran
# Custom model cache location
paratran --model-dir /Volumes/Storage/models
# Custom host and port
paratran --host 127.0.0.1 --port 9000
# Different model
paratran --model mlx-community/parakeet-tdt-1.1b-v2
All options can also be set via environment variables:
| CLI Flag | Env Var | Default |
|---|---|---|
--model |
PARATRAN_MODEL |
mlx-community/parakeet-tdt-0.6b-v3 |
--model-dir |
PARATRAN_MODEL_DIR |
HuggingFace default (~/.cache/huggingface) |
--host |
0.0.0.0 |
|
--port |
8000 |
API
GET /health
curl http://localhost:8000/health
{
"status": "ok",
"model": "mlx-community/parakeet-tdt-0.6b-v3",
"model_dir": "/Volumes/Storage/models"
}
POST /transcribe
Upload an audio file (wav, mp3, flac, m4a, ogg, webm):
curl -X POST http://localhost:8000/transcribe -F "file=@recording.m4a"
{
"text": "Hello world, this is a test.",
"duration": 3.52,
"processing_time": 0.176,
"sentences": [
{
"text": "Hello world, this is a test.",
"start": 0.0,
"end": 3.52,
"tokens": [
{ "text": "Hello", "start": 0.0, "end": 0.48 },
{ "text": " world", "start": 0.48, "end": 0.8 }
]
}
]
}
Interactive API docs are available at http://localhost:8000/docs.
MCP Server
Paratran includes an MCP server so Claude Code, Claude Desktop, or any MCP client can transcribe audio files directly.
Claude Code
Add to .claude/settings.json:
{
"mcpServers": {
"paratran": {
"command": "uvx",
"args": ["paratran-mcp"],
"env": {
"PARATRAN_MODEL_DIR": "/Volumes/Storage/models"
}
}
}
}
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"paratran": {
"command": "uvx",
"args": ["paratran-mcp"],
"env": {
"PARATRAN_MODEL_DIR": "/Volumes/Storage/models"
}
}
}
}
MCP Tool
The transcribe tool accepts a file path and all the same options as the REST API (decoding, beam search, sentence splitting, chunking, precision).
License
MIT
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 paratran-0.3.0.tar.gz.
File metadata
- Download URL: paratran-0.3.0.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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 |
dd020e969092303c6c819f795502d3d5918d7891a1ec4d8d5febc09dda28bb16
|
|
| MD5 |
39b7e757c627ef1515b0b067f2ce9b39
|
|
| BLAKE2b-256 |
eabb529ccc0148d1aa77d4399a5ff211dfea0774e2768d69356e7015a8e1819e
|
File details
Details for the file paratran-0.3.0-py3-none-any.whl.
File metadata
- Download URL: paratran-0.3.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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 |
c93fc7a27625cf90d58556886c4e0a3f3e15c2c0328cfdb8e910ce4290d4fe90
|
|
| MD5 |
8c2ec8424159135183704a66421e280c
|
|
| BLAKE2b-256 |
93d66b24c368e66f37c2291340728c18bb5dffa949ee59c6ae6c2c37ac770506
|