API Reference

Speech To Text · REST

POSThttps://api.shabd.tech/v1/speech-to-text

Converts spoken audio into accurate written text, supporting multiple languages and accents. Optimized for transcription, accessibility, and voice-driven applications in diverse environments.

Headers

  • x-api-keystringrequired

    API Key for authentication

    Example:
    <your-api-key>
  • Content-Typestringrequired

    Content type of the request body

    Example:
    multipart/form-data
  • x-request-idstringrequired

    Unique request ID in UUID format

    Example:
    550e8400-e29b-41d4-a716-446655440000

Request bodymultipart/form-data

  • languagestringrequired

    Language of the speech

    Example:
    english
  • filefileoptional

    Audio file in WAV format. Optional when audioUrl is supplied.

  • audioUrlstringoptional

    Public http(s) URL to fetch the audio from, as an alternative to uploading file. Exactly one of file or audioUrl is 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
  • sampleRatenumber or nulloptional

    Sample rate of the audio (e.g., 16000)

    Example:
    16000
  • projectIdstringoptional

    Optional project identifier

    Example:
    <your-project-id-here>

Responses

  • 200Transcribed text

    Bodyapplication/json

    • statusbooleanoptional
      Example:
      true
    • textstringoptional
      Example:
      Text transcribed from the audio
    • languagestringoptional

      Language of the transcript (the detected language when "auto" was sent)

      Example:
      hindi

    Example response

    {  "status": true,  "text": "Text transcribed from the audio",  "language": "hindi"}
  • 400Bad Request - The request is malformed or contains invalid parameters.

    Bodyapplication/json

    • statusbooleanoptional
      Example:
      false
    • messagestringoptional
      Example:
      Invalid input parameters.

    Example response

    {  "status": false,  "message": "Invalid input parameters."}
  • 401Unauthorized Access - Authentication credentials are missing or invalid.

    Bodyapplication/json

    • statusbooleanoptional
      Example:
      false
    • messagestringoptional
      Example:
      Unauthorized access.

    Example response

    {  "status": false,  "message": "Unauthorized access."}
  • 403Usage Limit Exceeded - The usage limit for the API has been exceeded.

    Bodyapplication/json

    • statusbooleanoptional
      Example:
      false
    • messagestringoptional
      Example:
      Limit Exceeded

    Example response

    {  "status": false,  "message": "Limit Exceeded"}
  • 500Internal 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."}