Skip to main content
POST
/
transcribe
Transcribe audio
curl --request POST \
  --url http://127.0.0.1:{port}/transcribe \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "file": "<string>",
  "audio_base64": "<string>",
  "mime_type": "<string>",
  "mode_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "engine": "<string>",
  "model": "<string>",
  "language": "<string>"
}
'
{
  "ok": true,
  "text": "<string>",
  "engine": "<string>",
  "model": "<string>",
  "language": "<string>",
  "timings": {
    "load_ms": 123,
    "decode_ms": 123
  },
  "latency_ms": 123
}

Authorizations

Authorization
string
header
required

Token from the discovery file. Required on every endpoint except /health.

Body

application/json
file
string

Absolute filesystem path. Mutually exclusive with audio_base64.

audio_base64
string

base64-encoded audio bytes. Pair with mime_type.

mime_type
string

e.g. audio/wav, audio/m4a, audio/mpeg, audio/flac

mode_id
string<uuid>

Saved Mode used as the baseline. May be combined with engine/model/language to override per-call.

engine
string

whisperLocal | parakeet | qwen3Asr | appleSpeech |

model
string
language
string

Response

200 - application/json

Transcript or business error envelope

ok
boolean
text
string
engine
string
model
string
language
string | null
timings
object
latency_ms
integer