API Reference
Speech To Text · HTTP Stream
https://api.shabd.tech/v1/speech-to-text/streamTranscribes spoken audio, streamed as NDJSON — one stt line per partial transcript, ending with a completed: true line.
Headers
x-api-keystringrequiredAPI Key for authentication
- Example:
<your-api-key>
Content-TypestringrequiredContent type of the request body
- Example:
multipart/form-data
x-request-idstringrequiredUnique request ID in UUID format
- Example:
550e8400-e29b-41d4-a716-446655440000
Request bodymultipart/form-data
filefileoptionalAudio file in WAV or PCM format. Optional when
audioUrlis supplied.audioUrlstringoptionalPublic http(s) URL to fetch the audio from, as an alternative to uploading
file. Exactly one offileoraudioUrlis required; if both are sent the uploaded file wins. The URL must be publicly reachable and the downloaded audio is subject to the same size limit as an upload.- Example:
https://example.com/audio/sample.wav
languagestringrequiredLanguage of the speech, or "auto" to detect it from the audio. If "auto" is used, the detected language will be returned in the response.
- Example:
english
sampleRatenumberoptionalSample rate of the audio in Hz (default 16000)
- Example:
16000
projectIdstringoptionalOptional project identifier
- Example:
<your-project-id-here>
Responses
NDJSON stream — one stt JSON object per line, newline-separated.
On failure a single error line is sent:
{ "requestId": "a216e43a-9d81-444c-a9ae-3c1e400fcb02", "status": false, "completed": false, "message": "An unexpected error occurred. Please try again later." }Bodyapplication/x-ndjson
requestIdstringoptional- Example:
550e8400-e29b-41d4-a716-446655440000
modestringoptional- Example:
stt
statusbooleanoptional- Example:
true
completedbooleanoptional- Example:
false
chunkintegeroptional- Example:
1
transcriptstringoptional- Example:
hello world
languagestringoptionalLanguage of the transcript (the detected language when "auto" was sent)
- Example:
english
startnumber or nulloptional- Example:
0
endnumber or nulloptional- Example:
2
Example response
{ "requestId": "550e8400-e29b-41d4-a716-446655440000", "mode": "stt", "status": true, "completed": false, "chunk": 1, "transcript": "hello world", "language": "english", "start": 0, "end": 2}Bad Request
Bodyapplication/json
statusbooleanoptional- Example:
false
messagestringoptional- Example:
Invalid input parameters.
Example response
{ "status": false, "message": "Invalid input parameters."}Unauthorized Access
Bodyapplication/json
statusbooleanoptional- Example:
false
messagestringoptional- Example:
Unauthorized access.
Example response
{ "status": false, "message": "Unauthorized access."}Usage Limit Exceeded
Bodyapplication/json
statusbooleanoptional- Example:
false
messagestringoptional- Example:
Limit Exceeded
Example response
{ "status": false, "message": "Limit Exceeded"}Internal server error
Bodyapplication/json
statusbooleanoptional- Example:
false
messagestringoptional- Example:
An unexpected error occurred. Please try again later.
Example response
{ "status": false, "message": "An unexpected error occurred. Please try again later."}