--- title: Ankui Align emoji: 🎤 colorFrom: indigo colorTo: blue sdk: docker app_port: 7860 pinned: false short_description: Kazakh forced-alignment backend for the Ankui app --- # Ankui Align Forced-alignment microservice for the **Ankui** karaoke-creation app. - Isolates vocals with torchaudio **HDEMUCS**, then runs **MMS-fl102** (Kazakh adapter) CTC forced alignment via `torchaudio.functional.forced_align`. - Falls back to an energy-based line spread if alignment is degenerate, so it never returns fake all-zero timings. ## API (async) - `GET /` or `/health` → `{"status":"ok","ready":bool}` - `POST /align` → `202 {"jobId": "..."}` — body `{"lyrics","audio_b64","ext"}` - `GET /jobs/{id}` → `{"status":"running|done|error","progress",​"lines":[...]}` Set `ANKUI_ALIGN_KEY` as a Space secret to require an `X-Ankui-Key` header. Uploaded audio is processed in a temp file and deleted immediately.