Upload Audio
Upload a single audio chunk as a raw binary body. For chunked uploads, call this repeatedly with sequentially numbered filenames (audio_0.webm, audio_1.webm, …); the server stores each chunk by its sequence number. For single uploads, send one complete recording and the server performs Voice Activity Detection (VAD) chunking inline. The Content-Type header should be the audio MIME type; if omitted it is inferred from the file extension.
upload_type: chunked.
Content-Type header should be the audio MIME type (e.g. audio/webm;codecs=opus). If omitted, it is inferred from the file extension.upload_type: stream and use Stream Audio. For single full-file / batch uploads, use the SDKs or the deprecated EkaScribe v2 APIs.Path parameters
| Parameter | Description |
|---|---|
session_id | The session_id returned by Create Session. |
file_name | Audio filename with extension. For chunked uploads use <base>_<sequence>.<ext> (e.g. audio_0.webm). |
Chunked upload flow
Call this endpoint once per chunk, in order, with sequentially numbered filenames:- Filename format:
<base>_<sequence>.<ext>— the base name is arbitrary, the sequence number determines order. - The server stores each chunk by its sequence number (e.g.
0.webm,1.webm).
Supported audio formats
audio/webm;codecs=opus · audio/wav · audio/ogg · audio/ogg;codecs=opus · audio/mp4 · audio/m4a · audio/mp3
Limits
| Limit | Value |
|---|---|
| Max chunk size | 10 MB |
| Recommended chunk duration | ≤ 20 seconds |
Example request
Error codes
| Status | error.code | When |
|---|---|---|
| 400 | session_ended | The session was already ended (committed). |
| 400 | session_completed | Processing already finished (success/failure). |
| 400 | invalid_audio_format | The MIME type is not in the supported list. |
| 404 | session_not_found | The session_id does not exist. |
| 413 | chunk_too_large | The chunk exceeds the maximum size. |
Next step
When all chunks are uploaded, call End Session.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Audio MIME type. Inferred from the file extension if omitted.
"audio/webm;codecs=opus"
Path Parameters
Session ID returned by Create Session
"ses_abc123def456"
Audio filename with extension. For chunked uploads use <base>_<sequence>.<ext> (e.g. audio_0.webm, audio_1.mp3).
"audio_0.webm"
Body
Raw binary audio data (max 10 MB per chunk, ≤20s duration recommended).
The body is of type file.

