Skip to main content
POST
/
v1
/
transcribe
Transcribe audio
curl --request POST \
  --url https://api.typelessapi.com/v1/transcribe \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "language": "<string>"
}
'
{
  "status": "<string>",
  "result": {
    "transcript": "<string>",
    "detected_language": {},
    "duration_seconds": 123
  },
  "usage": {
    "audio_duration_seconds": 123,
    "output_token_count": 123
  },
  "request_id": "<string>"
}
Transcribe a single pre-recorded audio file. Request body is multipart/form-data.

Request

audio
file
required
Audio file to transcribe. Supported formats: wav, ogg, webm. Max size 50 MB; max duration 300 seconds (default).
model
string
required
Model tier. One of typeless-asr-l1-v1, typeless-asr-l2-v1, typeless-asr-l3-v1. See Models & Pricing.
language
string
Optional ISO 639-1 language hint (for example en, zh). When omitted, language is detected automatically.

Response

status
string
"success" on success.
result
object
usage
object
request_id
string
26-character ULID for support.

Example

curl -X POST https://api.typelessapi.com/v1/transcribe \
  -H "Authorization: Token $TYPELESS_API_KEY" \
  -F "audio=@meeting.wav" \
  -F "model=typeless-asr-l2-v1"
200
{
  "status": "success",
  "result": {
    "transcript": "Let's move the launch to next Thursday and loop in the design team early.",
    "detected_language": "en",
    "duration_seconds": 42.5
  },
  "usage": {
    "audio_duration_seconds": 42.5,
    "output_token_count": 128
  },
  "request_id": "01JXXXXXXXXXXXXXXXXXXXXXXX"
}

Endpoint-specific errors

HTTP statusError codeDescription
400INVALID_REQUESTmodel field is missing or the value is not a recognized model identifier.
400AUDIO_FORMAT_UNSUPPORTEDThe uploaded file is not in a supported format (wav, ogg, webm).
413AUDIO_TOO_LONGAudio duration exceeds the 300-second limit.
413FILE_TOO_LARGEFile size exceeds the 50 MB limit.
400
{
  "status": "error",
  "error": {
    "code": "INVALID_REQUEST",
    "message": "model is required"
  },
  "request_id": "01JXXXXXXXXXXXXXXXXXXXXXXX"
}
For the full list of error codes and handling guidance, see Errors.