Whisper Transcription Service API

FastAPI-based HTTP service exposing OpenAI Whisper for audio/video transcription. Deployed via Docker / Coolify.

Current model

Using model: large default: large-v3-turbo → large-v3 → large

Available models (from whisper.available_models()):

tiny.en, tiny, base.en, base, small.en, small, medium.en, medium, large-v1, large-v2, large-v3, large, large-v3-turbo, turbo

You can also query GET /models for a JSON response.

Authentication

All endpoints except /, /health, /stats and /models require an API key.

Endpoints

POST /transcribe – Transcribe or translate audio/video

Auth: requires X-API-Key (if API_KEY is set).

Content-Type: multipart/form-data

Fields:

Example:

curl -X POST https://whisper.buy-it.gr/transcribe \
  -H "X-API-Key: YOUR_KEY" \
  -F "file=@sample.mp3" \
  -F "language=en"

GET /models – List available models

Returns JSON with all model names and the current one in use.

curl https://whisper.buy-it.gr/models

GET /health – Health check

No auth required. Returns {"status":"ok","model":"..."}.

curl https://whisper.buy-it.gr/health

GET /stats – Uptime & usage stats

No auth required.

curl https://whisper.buy-it.gr/stats

Whisper Transcription Service – powered by openai-whisper.