Skip to main content
POST
Upload Audio
Send audio as a raw binary body (not multipart, not JSON). single: call once with the complete file (≤10 MB) as audio_0.webm. chunked: call once per chunk, incrementing the sequence (audio_0.webm, audio_1.webm, …).
This endpoint can’t be tried from the browser — the docs playground can’t send raw binary bodies. Use the cURL below (or any HTTP client) instead; every other EkaScribe endpoint works in the playground.
No Content-Type header needed — it’s detected from the file_sequence extension (.webm, .mp3, .wav, .ogg, .m4a, .mp4).
When all audio is uploaded, call End Session. For real-time streaming use Stream Audio instead.

Authorizations

Authorization
string
header
required

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

Headers

Content-Type
enum<string>

Audio MIME type. Leave unset — the server detects it automatically from the file_sequence extension (.webm, .mp3, .wav, .ogg, .m4a, .mp4). Generic values like application/octet-stream are also auto-resolved from the extension.

Available options:
audio/webm;codecs=opus,
audio/mp3,
audio/wav,
audio/ogg,
audio/m4a,
audio/mp4

Path Parameters

session_id
string
required

Session ID returned by Create Session

Example:

"ses_abc123def456"

file_sequence
string
required

Audio filename with a sequence number and extension: <base>_<sequence>.<ext>. For single uploads just use audio_0.webm; for chunked uploads increment the sequence per chunk (audio_0.webm, audio_1.webm, ...).

Example:

"audio_0.webm"

Body

application/octet-stream

Raw binary audio data (max 10 MB per chunk, ≤20s duration recommended).

The body is of type file.

Response

Audio uploaded successfully

session_id
string
Example:

"ses_abc123def456"

success
boolean
Example:

true

original_filename
string
Example:

"audio_0.webm"