Run this command to install the SDK:

npm install cloudmersive-speech-api-client --save

Or add this snippet to your package.json:

  "dependencies": {
    "cloudmersive-speech-client": "^1.1.5"

var CloudmersiveSpeechApiClient = require('cloudmersive-speech-api-client');
var defaultClient = CloudmersiveSpeechApiClient.ApiClient.instance;

// Configure API key authorization: Apikey
var Apikey = defaultClient.authentications['Apikey'];
Apikey.apiKey = 'YOUR API KEY';

var apiInstance = new CloudmersiveSpeechApiClient.SpeakApi();

var reqConfig = new CloudmersiveSpeechApiClient.TextToSpeechRequest(); // TextToSpeechRequest | String input request

var callback = function(error, data, response) {
  if (error) {
  } else {
    console.log('API called successfully. Returned data: ' + data);
apiInstance.speakTextToSpeech(reqConfig, callback);

Run this command to install the SDK:

pip install cloudmersive-voicerecognition-api-client

from __future__ import print_function
import time
import cloudmersive_voicerecognition_api_client
from import ApiException
from pprint import pprint

# Configure API key authorization: Apikey
configuration = cloudmersive_voicerecognition_api_client.Configuration()
configuration.api_key['Apikey'] = 'YOUR_API_KEY'

# create an instance of the API class
api_instance = cloudmersive_voicerecognition_api_client.SpeakApi(cloudmersive_voicerecognition_api_client.ApiClient(configuration))
req_config = cloudmersive_voicerecognition_api_client.TextToSpeechRequest() # TextToSpeechRequest | String input request

    # Perform text-to-speech on a string
    api_response = api_instance.speak_text_to_speech(req_config)
except ApiException as e:
    print("Exception when calling SpeakApi->speak_text_to_speech: %s\n" % e)

Run this command to install the SDK:

Install-Package Cloudmersive.APIClient.NET.Speech -Version 4.0.1

using System;
using System.Diagnostics;
using Cloudmersive.APIClient.NET.Speech.Api;
using Cloudmersive.APIClient.NET.Speech.Client;
using Cloudmersive.APIClient.NET.Speech.Model;

namespace Example
    public class SpeakTextToSpeechExample
        public void main()
            // Configure API key authorization: Apikey
            Configuration.Default.AddApiKey("Apikey", "YOUR_API_KEY");

            var apiInstance = new SpeakApi();
            var reqConfig = new TextToSpeechRequest(); // TextToSpeechRequest | String input request

                // Perform text-to-speech on a string
                Object result = apiInstance.SpeakTextToSpeech(reqConfig);
            catch (Exception e)
                Debug.Print("Exception when calling SpeakApi.SpeakTextToSpeech: " + e.Message );

To install with Maven, add a reference to the repository in pom.xml:

And add a reference to the dependency in pom.xml:

To install with Gradle, add it in your root build.gradle at the end of repositories:

And add the dependency in build.gradle:

Run this command to install the SDK:

composer require cloudmersive/cloudmersive_voicerecognition_api_client

require_once(__DIR__ . '/vendor/autoload.php');

// Configure API key authorization: Apikey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');

$apiInstance = new Swagger\Client\Api\SpeakApi(
    new GuzzleHttp\Client(),
$req_config = new \Swagger\Client\Model\TextToSpeechRequest(); // \Swagger\Client\Model\TextToSpeechRequest | String input request

try {
    $result = $apiInstance->speakTextToSpeech($req_config);
} catch (Exception $e) {
    echo 'Exception when calling SpeakApi->speakTextToSpeech: ', $e->getMessage(), PHP_EOL;

Add the Objective-C client to your Podfile:

pod 'CloudmersiveSpeechApiClient', '~> 1.0'

CMDefaultConfiguration *apiConfig = [CMDefaultConfiguration sharedConfig];

// Configure API key authorization: (authentication scheme: Apikey)
[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Apikey"];

NSString* format = @"format_example"; // File format to generate response in; possible values are \"mp3\" or \"wav\"
NSString* text = text_example; // The text you would like to conver to speech.  Be sure to surround with quotes, e.g. \"The quick brown fox jumps over the lazy dog.\"

CMSpeakApi*apiInstance = [[CMSpeakApi alloc] init];

// Perform text-to-speech on a string
[apiInstance speakPostWithFormat:format
          completionHandler: ^(NSObject* output, NSError* error) {
                        if (output) {
                            NSLog(@"%@", output);
                        if (error) {
                            NSLog(@"Error calling CMSpeakApi->speakPost: %@", error);

Add the Ruby client to your Gemfile:

gem install cloudmersive-voice-recognition-api-client

# load the gem
require 'cloudmersive-voice-recognition-api-client'
# setup authorization
CloudmersiveVoiceRecognitionApiClient.configure do |config|
  # Configure API key authorization: Apikey
  config.api_key['Apikey'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  #config.api_key_prefix['Apikey'] = 'Bearer'

api_instance =

req_config = # TextToSpeechRequest | String input request

  #Perform text-to-speech on a string
  result = api_instance.speak_text_to_speech(req_config)
  p result
rescue CloudmersiveVoiceRecognitionApiClient::ApiError => e
  puts "Exception when calling SpeakApi->speak_text_to_speech: #{e}"

Download and copy the /client folder into your Apex project:

Download Apex Client

Install libcurl in your C/C++ project:

CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
     curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
     curl_easy_setopt(curl, CURLOPT_URL, "");
     curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
     curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
     struct curl_slist *headers = NULL;
     headers = curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded");
     headers = curl_slist_append(headers, "Apikey: YOUR-API-KEY-HERE");
     curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
     const char *data = "Format=%3Cstring%3E&Text=%3Cstring%3E";
     curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
     res = curl_easy_perform(curl);
curl --location --request POST '' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Apikey: YOUR-API-KEY-HERE' \
--data-urlencode 'Format=<string>' \
--data-urlencode 'Text=<string>'
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking

var semaphore = DispatchSemaphore (value: 0)

let parameters = "Format=%3Cstring%3E&Text=%3Cstring%3E"
let postData = .utf8)

var request = URLRequest(url: URL(string: "")!,timeoutInterval: Double.infinity)
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.addValue("YOUR-API-KEY-HERE", forHTTPHeaderField: "Apikey")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
     guard let data = data else {
          print(String(describing: error))
     print(String(data: data, encoding: .utf8)!)


This code snippet uses the built-in JavaScript XHR request capability

var data = "Format=%3Cstring%3E&Text=%3Cstring%3E";

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
     if(this.readyState === 4) {
});"POST", "");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Apikey", "YOUR-API-KEY-HERE");

package main

import (

func main() {

     url := ""
     method := "POST"

     payload := strings.NewReader("Format=%3Cstring%3E&Text=%3Cstring%3E")

     client := &http.Client {
     req, err := http.NewRequest(method, url, payload)

     if err != nil {
     req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
     req.Header.Add("Apikey", "YOUR-API-KEY-HERE")

     res, err := client.Do(req)
     if err != nil {
     defer res.Body.Close()

     body, err := ioutil.ReadAll(res.Body)
     if err != nil {

Walkthrough Video