Send simple voice message

This method allows you to send a single voice message to one destination address.

Resource

https://api.infobip.com/tts/3/single

Parameters

Property name Type Description
from string (442032864231) Numeric sender ID in E.164 format
to* string Destination address must be written in the international format (Example: 41793026727).
text string Message to be converted to speech and played to subscribers. Message text can be up to 1400 characters long.
language string (en) If the message is in text format, the language in which the message is written must be defined for correct pronunciation. Below, in the Languages section, you can find the list of supported languages. If not set, default language is English [en].
voice object Used to define voice in which text would be synthesized. It has two parameters: name and gender. When only name is provided, then that exact voice with that name will be used to synthesize text. If only gender is provided, then text is synthesized with first voice in given gender. Gender can be male or female. If voice is not set, then default voice is used. 
audioFileUrl string Besides the text format of the message, audio recording (format like: wav, mp3, ogg etc.) can also be delivered as a voice message to the recipient. Audio file must be uploaded online so the existing URL can be available for the file download. Size of the audio file must be below 4 MB.

Request Example

					POST /tts/3/single HTTP/1.1
Host: {base_url}
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
Accept: application/json
 
{
  "from": "442032864231",
  "to": "41793026727",
  "text": "Test Voice message.",
  "language": "en",
  "voice": {
      "name": "Joanna",
      "gender": "female"
  }
}
					
				
					curl -X POST \
-H "Accept: application/json" \
-H "Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
  "from": "442032864231",
  "to": "41793026727",
  "text": "Test Voice message.",
  "language": "en",
  "voice": {
      "name": "Joanna",
      "gender": "female"
  }
}' "https://{base_url}/tts/3/single"
					
				
					<?php
 
$curl = curl_init();
 
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://{base_url}/tts/3/single",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\n  \"from\": \"442032864231\",\n  \"to\": \"41793026727\",\n  \"text\": \"Test Voice message.\",\n \"language\": \"en\",\n \"voice\": {\n \"name\": \"Joanna\",\n \"gender\": \"female\" }\n}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
    "content-type: application/json"
  ),
));
 
$response = curl_exec($curl);
$err = curl_error($curl);
 
curl_close($curl);
 
if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
					
				
					require 'uri'
require 'net/http'
 
url = URI("https://{base_url}/tts/3/single")
 
http = Net::HTTP.new(url.host, url.port)
 
request = Net::HTTP::Post.new(url)
request["authorization"] = 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='
request["content-type"] = 'application/json'
request["accept"] = 'application/json'
request["cache-control"] = 'no-cache'
request["postman-token"] = 'feb1ddbf-7c53-9949-7e56-3091808a9e36'
request.body = "{\n \"from\": \"442032864231\",\n  \"to\": \"41793026727\",\n  \"text\": \"Test Voice message.\",\n  \"language\": \"en\",\n \"voice\": {\n \"name\": \"Joanna\",\n \"gender\": \"female\" }\n}"
 
response = http.request(request)
puts response.read_body
					
				
					import http.client
 
conn = http.client.HTTPSConnection("{base_url}")
 
payload = "{\n  \"from\": \"442032864231\",\n  \"to\": \"41793026727\",\n  \"text\": \"Test Voice message.\",\n  \"language\": \"en\",\n \"voice\": {\n \"name\": \"Joanna\",\n \"gender\": \"female\" }\n}"
 
headers = {
    'authorization': "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
    'content-type': "application/json",
    'accept': "application/json"
    }
 
conn.request("POST", "/tts/3/single", payload, headers)
 
res = conn.getresponse()
data = res.read()
 
print(data.decode("utf-8"))
					
				
					HttpResponse<String> response = Unirest.post("https://{base_url}/tts/3/single")
  .header("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==")
  .header("content-type", "application/json")
  .header("accept", "application/json")
  .body("{\n  \"from\": \"442032864231\",\n  \"to\": \"41793026727\",\n  \"text\": \"Test Voice message.\",\n  \"language\": \"en\",\n \"voice\": {\n \"name\": \"Joanna\",\n \"gender\": \"female\" }\n}")
  .asString();
					
				
					var client = new RestClient("https://{base_url}/tts/3/single");
var request = new RestRequest(Method.POST);
request.AddHeader("accept", "application/json");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
request.AddParameter("application/json", "{\n  \"from\": \"442032864231\",\n  \"to\": \"41793026727\",\n  \"text\": \"Test Voice message.\",\n \"language\": \"en\",\n \"voice\": {\n \"name\": \"Joanna\",\n \"gender\": \"female\" }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
					
				
					var data = JSON.stringify({
  "from": "442032864231",
  "to": "41793026727",
  "text": "Test Voice message.",
  "language": "en",
  "voice": {
    "name": "Joanna",
    "gender": "female"
  }
});
 
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
 
xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});
 
xhr.open("POST", "https://{base_url}/tts/3/single");
xhr.setRequestHeader("authorization", "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("accept", "application/json");
 
xhr.send(data);
					
				

Response

					{
  "messages": [
    {
      "to": "41793026727",
      "status": {
        "groupId": 1,
        "groupName": "PENDING",
        "id": 7,
        "name": "PENDING_ENROUTE",
        "description": "Message sent to next instance"
      },
      "messageId":"2250be2d4219-3af1-78856-aabe-1362af1edfd2"
    }
  ]
}
					
				

Response format

If successful, the response header HTTP status code will be 200 OK and the message will be sent.

If you try to send a message without authorization, you will receive the 401 Unauthorized error .

VoiceResponse

Parameter Type Description
messages VoiceResponseDetails Array of sent message objects, one object per every message.

VoiceResponseDetails

Parameter Type Description
to String The message destination address.
status Status Indicates whether the message has been successfully sent, not sent, delivered, not delivered, waiting for delivery or any other possible status.
messageId String The ID that uniquely identifies the message sent.

Status

Parameter Type Description
groupId int Status group ID.
groupName String Status group name.
id int Status ID.
name String Status name.
description String Human-readable description of the status.

Languages

List of supported languages:

Language Abbreviation NAME
Female Male
Arabic ar Hoda

Tarik

(default)

Zeina  
Catalan ca Conchita  
Herena  

Montserrat

(Default)

 

Chinese -

Simplified

zh-cn Huihui Kangkang

Lily

(Default)

 
Yaoyao  
Zhiyu  

Chinese -

Traditional

zh-tw Hanhan Zhiwei
Yating (Default)  
Danish da Helle Mads

Naja

(Default)

 
Dutch nl Hanna Ruben

Lotte

(Default)

 
English en Ivy Benjamin

Joanna

(Default)

Joey

Kendra

Justin

Kimberly Matthew
Salli  
Zira  

English

(Australian)

en-au Catherine Russell
Hayley  

Nicole

(Default)

 

English

(British)

en-gb

Amy

(Default)

Brian

Emma George
Hazel  
Rosie  

English

(Indian)

en-in Aditi

Ravi

Heera

(Default)

 
Priya  
Raveena  

English

(Welsh)

en-gb-wls  

Geraint

(Default)

Finnish fi Heidi  

Milla

(Default)

 
French fr

Celine

(Default)

Mathieu

Hortense

Picard

Juliette  
Lea  
German de Hedda Hans

Marlene

(Default)

Stefan
Vicki  
Greek el Afroditi

Stefanos

(Default)

Hindi hi

Aadita

(Default)

Hemant

Kalpana  
Indonesian id  

Andika

(Default)

Italian it Bianca

Cosimo

Carla (Default)

Giorgio

Lucia  
Japanese ja Ayumi

Ichiro

Haruka Takumi

Mizuki

(Default)

 
Korean ko Heami  
Seoyeon  
Yumi (Default)  
Malay ms  

Rizwan

(Default)

Norwegian no Hulda  
Liv (Default)  
Polish pl

Ewa

(Default)

Jacek
Maja

Jan

Paulina  
Portuguese pt-pt

Amalia

(Default)

Cristiano
Helia  
Ines  

Portuguese

(Brazilian)

pt-br Heloisa Daniel

Vitoria

(Default)

Ricardo

Romanian ro

Carmen

(Default)

Andrei
Russian ru Ekaterina

Maxim

Irina

Pavel

Tatyana

(Default)

 
Spanish es Juana

Enrique

Laura

Pablo

Linda  

Penelope

(Default)

 

Spanish

(Castilian)

es-es

Lola

(Default)

 
Swedish sv

Astrid

(Default)

 
Hedvig  
Tamil ta  

Valluvar

(Default)

Thai th

Somsi

(Default)

Pattara
Turkish tr Filiz (Default)  
Seda  
Vietnamese vi  

An

(Default)

Welsh wls

Gwyneth

(Default)

 

 

-->