Serves one WER leaderboard per language from data/<language>.json.
| Route | Returns |
|---|---|
GET / |
Languages that have data, and their endpoints |
GET /wer-summary |
Same index as / |
GET /wer-summary/{language} |
Leaderboard: status, month, year, language, data |
GET /wer-summary/{language}/details |
Same plus per-file WER rows, warnings, engine failures |
Unknown language → 404 listing the available ones.
Breaking change from v1.0:
/wer-summaryused to return the Punjabi leaderboard directly. It now returns the index; Punjabi moved to/wer-summary/punjabi.
Generate the JSON with the headless runner, which writes straight into data/:
cd d:\test-apis-srt\wer-automation\app
python run_models.py --dir "D:\path\to\hindi-clips" --language HindiThen commit data/hindi.json and deploy — it is picked up automatically, no
code change needed.
cd d:\test-apis-srt\wer-summary-api
python -m pip install -r requirements.txtuvicorn app:app --host 127.0.0.1 --port 8000Or python app.py.
- Browser: http://127.0.0.1:8000/wer-summary/punjabi
- Swagger UI: http://127.0.0.1:8000/docs
fly.toml sets app = "wer-summary-api" — confirm that matches the existing
app first, or a second one gets created:
fly apps list
fly deployDockerfile copies data/, so the leaderboards ship inside the image.