Transcribe Long Recordings in Pieces
Split audio files over 4.5 MB into smaller chunks for transcription. POST /v1/listen accepts 1 KB to 4.5 MB per request, billed per second rounded up per request.
Audio size limits
POST /v1/listen accepts a single audio file between 1 KB and 4.5 MB. If your recording is larger, divide it into smaller pieces and send each one as a separate request.
Supported formats
The endpoint accepts WAV, MP3, M4A, OGG, FLAC, and WebM. Choose a format that balances file size and quality for your use case.
Billing per request
Each request is billed based on the duration of the audio, rounded up per request. This means a shorter clip and a longer clip in the same request are billed together as one duration. After you use your free allowance, billing applies at $0.0015 per minute.
Free allowance
Every account includes 60 free minutes of speech-to-text. Once you exceed this, the API returns error 402 free_allowance_used and billing applies.
How to split and send
- Encode your recording in one of the supported formats (WAV, MP3, M4A, OGG, FLAC, WebM).
- If the file is larger than 4.5 MB, split it into smaller chunks. A common approach is to split by time: for example, divide a 1-hour file into 10-minute segments.
- Convert each chunk to base64.
- Send each chunk as a separate POST /v1/listen request with the audio_base64 field and the format.
- Combine the text results from all requests in order.
Example request
Transcribe a 2 MB audio file
curl -X POST https://speakvora.com/api/v1/listen \
-H "x-api-key: your-key" \
-H "Content-Type: application/json" \
-d '{
"audio_base64": "//NExAAiYAIAF...",
"format": "mp3",
"language": "en"
}'Response and errors
Each request returns the transcribed text, the duration in seconds, and the detected language. Error 400 invalid_request is returned for missing fields. Error 402 free_allowance_used occurs when your free allowance is exhausted. Error 502 upstream_unavailable indicates the transcription service is temporarily unavailable.
Frequently asked questions
What is the maximum file size I can send in one request?
4.5 MB. Larger files must be split into multiple requests.
How is billing calculated for speech-to-text?
Billing is per second of audio, rounded up per request. After your free 60 minutes are used, you pay $0.0015 per minute.
How much free speech-to-text do I get?
60 free minutes per account. After that, billing applies and the API returns error 402 free_allowance_used.
What audio formats are supported?
WAV, MP3, M4A, OGG, FLAC, and WebM.
Can I specify the language for transcription?
Yes, the language field is optional. If omitted, the API detects it automatically.
Related: API documentation, pricing, developer guides and more answers.