SkyVoice
API Documentation

Admin + Web

GET /admin/login admin panel (SkyVoice)

POST /api/login cookie-session login for browser testing

POST /api/logout logout current browser session

Admin transcription UI is managed from /admin/transcribe.

Mobile API (SkyTranscriber)

POST /v1/auth/login JSON: {"username":"<USERNAME>","password":"<PASSWORD>"}

POST /v1/billing/activate JSON: {"platform":"android|ios","productId":"skyvoice_monthly_300","purchaseToken":"..."}

GET /v1/subscription/status header: Authorization: Bearer <token>

POST /v1/transcribe multipart: file, optional temporary=true|false

GET /v1/history, DELETE /v1/history/{id}, DELETE /v1/history

# 1) login and get token
curl -X POST https://skyvoice.info/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"<USERNAME>","password":"<PASSWORD>"}'

# 2) transcribe with bearer token
curl -X POST https://skyvoice.info/v1/transcribe \
  -H "Authorization: Bearer <TOKEN>" \
  -F "file=@sample.wav" \
  -F "temporary=false"

Subscriptions

Plans come from Store purchases (Google Play / App Store), not from admin panel.

Expected product id patterns: skyvoice_monthly_300, skyvoice_onetime_20.

Each successful transcription consumes 1 unit from subscription quota.

Use /v1/billing/activate after successful in-app purchase to grant quota.