Skip to Content

POST /api/transcribe/async

Request: multipart (audio field) or raw binary body.

Response (200):

{ "task_id": "stt:..." }
curl -sS -X POST "https://llm.dat.ai/api/transcribe/async" \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "audio=@/path/to/audio.mp3"

With optional fanout:

curl -sS -X POST "https://llm.dat.ai/api/transcribe/async?fanout=3" \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "audio=@/path/to/audio.mp3"

POST /api/transcribe/sync

Same input as async. Blocks until transcription completes (timeout ~10 minutes).

Response (200):

{ "task_id": "stt:...", "success": true, "payload": "transcribed text ...", "execution_time_ms": 12345 }
curl -sS -X POST "https://llm.dat.ai/api/transcribe/sync" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/octet-stream" \ --data-binary @/path/to/audio.wav

GET /api/transcribe/status

Query: task_id (required)

curl -sS "https://llm.dat.ai/api/transcribe/status?task_id=stt:YOUR_TASK_ID" \ -H "Authorization: Bearer YOUR_API_KEY"

Response (200):

{ "task_id": "stt:...", "status": "completed", "created_at": "2026-01-13T12:34:56Z", "audio_duration_seconds": 42, "success": true, "payload": "..." }

Errors

Same envelope as browsing: { "error": "..." }.

StatusCause
400No audio in the request, multipart error, or missing task_id
401Missing or invalid API key
402No active subscription, or insufficient balance
403Task belongs to another account
404Task not found
405Wrong HTTP method for the endpoint
504sync waited past the timeout — poll status instead