Metadata-Version: 2.4
Name: faster-whisper-server
Version: 0.0.2
Summary: OpenAI-compatible FastAPI server for faster-whisper.
Author: andyjjrt
License: MIT
Project-URL: Homepage, https://github.com/andyjjrt/faster-whisper-server
Project-URL: Repository, https://github.com/andyjjrt/faster-whisper-server
Keywords: whisper,faster-whisper,speech-to-text,transcription,fastapi
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Framework :: FastAPI
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.110.0
Requires-Dist: uvicorn[standard]>=0.29.0
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: faster-whisper>=1.2.1
Provides-Extra: dev
Requires-Dist: pre-commit>=3.7.1; extra == "dev"
Requires-Dist: ruff>=0.6.8; extra == "dev"
Requires-Dist: build>=1.4.0; extra == "dev"
Dynamic: license-file

# Faster-Whisper-Server

## Overview

FastAPI server for OpenAI-compatible audio transcription and translation using
faster-whisper. Supports single-model or multi-model hosting.

## Install

```bash
uv pip install -e .
```

## Run (single model)

```bash
faster-whisper-server small --reload
```

## Run (multi-model config)

```bash
faster-whisper-server --config /path/to/config.yaml --reload
```

Example config:

```yaml
batch_size: 1
model_options:
  device: auto
  compute_type: default
models:
	- name: whisper-1
		path: small
		model_options:
			device: cpu
		transcribe_options:
			beam_size: 5
			vad_filter: true
	- name: large-fast
		path: /models/large-v3
		batch_size: 4
		model_options:
			device: cuda
			compute_type: float16
		translate_options:
			temperature: 0.2
```

## API usage

Transcription:

```bash
curl -X POST "http://localhost:8000/v1/audio/transcriptions" \
	-F "file=@/path/to/audio.wav" \
	-F "model=whisper-1" \
	-F "response_format=json"
```

Translation:

```bash
curl -X POST "http://localhost:8000/v1/audio/translations" \
	-F "file=@/path/to/audio.wav" \
	-F "model=whisper-1" \
	-F "response_format=json"
```

Health check:

```bash
curl "http://localhost:8000/health"
```

## Notes

- When running with a config file, the request `model` must match a config
	`name` entry.
- `--log-level` controls only the `faster-whisper-server` logger and defaults
	to `warning`.
