How Does API Work?

The process to generate an audio file for the text input is:

  • Post the request by:
    • Enter the valid REV-APPNAME, REV-APP-ID, and REV-API-KEY.
    • Enter the text for which you want to obtain the speech.
    • Select the output voice type (either male voice or the female voice) of the audio file.
    • Define the SSML Code, if required.
  • By default, the API will return the WAV audio file with a sampling rate of 22.05KHz.

cURL for Integration

Request : Synthesizing Audio for Single Sentence

curl --location --request POST 'https://revapi.reverieinc.com/' \
--header 'REV-API-KEY: <YOUR API KEY>' \
--header 'REV-APP-ID: <YOUR APP-ID>' \
--header 'REV-APPNAME: tts' \
--header 'speaker: hi_female' \
--header 'Content-Type: application/json' \
--data-raw '{
	"text": "किसान होंगे आत्मनिर्भर, समृद्ध भारत"
}'

Request : Synthesizing Audio for Multiple Sentences

curl --location --request POST 'https://revapi.reverieinc.com/' \
--header 'REV-API-KEY: <YOUR API KEY>' \
--header 'REV-APP-ID: <YOUR APP-ID>' \
--header 'REV-APPNAME: tts' \
--header 'speaker: hi_female' \
--header 'Content-Type: application/json' \
--data-raw '{
	"text": ["भारत मेरा देश है।" , "मेरी कंपनी का नाम रेवेरी लैंग्वेज टेक्नोलॉजीज है।" ], 
	"speed": 1,
	"pitch": 0,
	"format": "WAV"

}'

Request : Synthesizing Audio for Multiple Sentences

curl --location --request POST 'https://revapi.reverieinc.com/' \
--header 'REV-API-KEY: <YOUR API KEY>' \
--header 'REV-APP-ID: <YOUR APP-ID>' \
--header 'REV-APPNAME: tts' \
--header 'speaker: hi_female' \
--header 'Content-Type: application/json' \
--data-raw '{
	"ssml": "<speak> <voice name=\"en_female\">Hello.</voice> </speak>", 
	"speed": 1,
	"pitch": 0,
	"format": "WAV"
}'

Error Response

{
    "success": false,
    "cause": "no `spkr` given"
}

API References

HTTP Request URL

URL ElementsSample URL
https://(hostname)https://revapi.reverieinc.com/

Headers

Content-Type
string
required

application/JSON

REV-API-KEY
string
required

A unique key/token provided by Reverie to identify the user using the TTS API.

REV-APP-ID
string
required

The unique account ID to identify the user and the default account settings.

REV-APPNAME
string
required

The parameter to identify the API. The value is tts

speaker
string
required
  • The desired language and voice code for synthesizing the audio file
  • Example: hi_male
  • Specify the speaker’s code with respect to the language. Refer to Supporting Speaker Code section for valid speaker code.

Request

text or ssml
string/array
required
  • The plain text or SSML input to synthesize an audio output.
  • If you want to follow W3 standards, the ssml field must be used and not the text field.
  • For SSML input Refer to the SSML Tags
speed
float
  • The speech rate of the audio file. Allows values: from 0.5 (slowest speed rate) up to 1.5 (fastest speed rate).
  • Note: By default, speed = 1 (normal speed).
pitch
float
  • Speaking pitch, in the range Allows values: from -3 up tp 3. 3 indicates an increase of 3 semitones from the original pitch. -3 indicates a decrease of 3 semitones from the original pitch.
  • Note: By default, the pitch = 0 (zero)
sample_rate
integer
  • The sampling rate (in hertz) to synthesize the audio output. Refer to Supporting Sampling Rate section, to know the supporting audio sample rates.
  • Note: By default, the sample_rate = 22050 Hz (22.05kHz)
format
string
  • The speech audio format to generate the audio file. Refer to Supporting Audio Format section, to know the supporting audio formats.
  • Note: By default, the format = WAV

Handling Error

The TTS API raises exceptions for many reasons, such as failed conversions, invalid parameters, authentication errors, and network unavailability. It will provide more specific machine-readable messages with an error response so that users can react to errors more effectively.

Refer to API Codes to view the list of error messages and its description.

{
    "success": false,
    "cause": "no `text` given"
}

API Messages

Status CodeError MessageDescription
403Invalid REV-API-KEY or REV-APP-IDEntered Invalid credentials
403usage exhaustedThe provided credits or the character limit is exhausted.
403API key expiredThe API key provided to a user is expired.
403unauthorized to use this APIThe REV-APPNAME entered is invalid, or the user is not authorized to use it.
403unauthorized to use this src/tgt languageThe invalid speaker code is passed, or the user cannot use the defined speaker code.
400no spkr givenThe speaker code is missing
400invalid speed valueThe speed requested in the input is invalid or not supported by the API.
400invalid pitch valueThe audio pitch defined in the input is invalid or not supported by the API.
400invalid format valueThe requested audio format is invalid or not supported by the API.
400invalid sample_rate valueThe requested audio sample rate is invalid or not supported by the API.
400no text givenThe input text is missing