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-dataForm 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/falsefor 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-...