FastAPI-based HTTP service exposing OpenAI Whisper for audio/video transcription. Deployed via Docker / Coolify.
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.
All endpoints except /, /health, /stats and /models require an API key.
X-API-Key: YOUR_KEYAPI_KEY=YOUR_KEY on the serverPOST /transcribe – Transcribe or translate audio/videoAuth: requires X-API-Key (if API_KEY is set).
Content-Type: multipart/form-data
Fields:
file (required) – audio/video filelanguage (optional) – language code (e.g. en)task (optional) – transcribe (default) or translateExample:
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 modelsReturns JSON with all model names and the current one in use.
curl https://whisper.buy-it.gr/models
GET /health – Health checkNo auth required. Returns {"status":"ok","model":"..."}.
curl https://whisper.buy-it.gr/health
GET /stats – Uptime & usage statsNo auth required.
curl https://whisper.buy-it.gr/stats
Whisper Transcription Service – powered by openai-whisper.