Skip to main content
POST
/
v1
/
transcribe
Transcribe audio (speech to text)
curl --request POST \
  --url https://api.speko.dev/v1/transcribe \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/octet-stream' \
  --header 'x-speko-intent: <x-speko-intent>' \
  --data '"<string>"'
{
  "text": "<string>",
  "provider": "<string>",
  "model": "<string>",
  "failoverCount": 1,
  "confidence": 0.5,
  "scoresRunId": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-speko-intent
string
required

JSON-encoded RoutingIntent. Example: {"language":"en-US","vertical":"general"}.

x-speko-constraints
string

Optional JSON-encoded PipelineConstraints. Example: {"allowedProviders":{"stt":["deepgram"]}}.

Content-Type
string

Audio MIME type, e.g. audio/wav, audio/mpeg, audio/pcm;rate=16000.

Body

Binary audio. WAV, MP3, or raw PCM accepted.

The body is of type file.

Response

Transcript

text
string
required
provider
string
required

Provider that actually ran (post-failover).

model
string
required
failoverCount
integer
required
Required range: x >= 0
confidence
number | null
Required range: 0 <= x <= 1
scoresRunId
string | null