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": "..." }