Skip to content

Async File Transcription API ​

For long files (e.g. 2-hour conference recordings, podcasts, or movie video tracks), use OneASR’s asynchronous task API.


1. Create Transcription Task (POST /v1/file-transcription/transcriptions) ​

http
POST /v1/file-transcription/transcriptions
Authorization: Bearer sk-oneasr-...
Content-Type: multipart/form-data

Form Parameters: ​

  • file: Audio/Video binary object (mp3, wav, mp4, mkv, etc. up to 2GB).
  • model: Target ASR model (faster-whisper, qwen, firered).
  • language: (Optional) ISO-639-1 language code.
  • enable_diarization: (Optional) true / false for speaker separation.

Response: ​

json
{
  "task_id": "task_8f9c1e7a2b3c4d5e",
  "status": "queued",
  "created_at": "2026-09-28T15:00:00Z"
}

2. Query Task Status (GET /v1/file-transcription/transcriptions/{task_id}) ​

http
GET /v1/file-transcription/transcriptions/task_8f9c1e7a2b3c4d5e
Authorization: Bearer sk-oneasr-...

Response (Completed): ​

json
{
  "task_id": "task_8f9c1e7a2b3c4d5e",
  "status": "completed",
  "progress": 1.0,
  "result": {
    "text": "Full transcribed speech text...",
    "srt": "1\n00:00:00,000 --> 00:00:04,500\nFull transcribed speech text...\n",
    "vtt": "WEBVTT\n\n00:00:00.000 --> 00:00:04.500\nFull transcribed speech text...\n"
  }
}

3. Cancel Task (DELETE /v1/file-transcription/transcriptions/{task_id}) ​

http
DELETE /v1/file-transcription/transcriptions/task_8f9c1e7a2b3c4d5e
Authorization: Bearer sk-oneasr-...