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