Text to speech API - API chuyển văn bản thành giọng nói Tiếng Việt

Sử dụng text-to-speech-api để tích hợp công nghệ chuyển văn bản thành giọng nói vào ứng dụng của bạn

Text-to-speech Web API chuyển văn bản thành giọng nói của Tubekit giúp bạn truy xuất vào công nghệ chuyển văn bản sang giọng nói audio để mở rộng ứng dụng của bạn.
Để truy cập và kết nối vào nền tảng API, bạn cần sử dụng gói "Chuyên Nghiệp" trở lên. Xem bảng giá chi tiết tại đây.

Nội dung chính


Đầu tiên bạn cần có API KEY để có thể truy cập vào Text-to-speech API.

Để tạo API KEY, bạn bấm vào liên kết " API KEY" ở menu bên trái.
 

Tiếp theo, bấm vào nút "Tạo API KEY" màu xanh, đặt tên cho dự án ở phần KEY Name, sau đó bấm nút "Create"


Khi đã tạo KEY xong, bạn bấm vào nút "Copy" bên cạnh KEY để copy API-KEY vào clipboard. Để bật / tắt API, bạn bấm nút ON/OFF


Sau khi có được API-KEY, bạn dùng Key này để làm chìa khóa truy cập vào API
 
  • URL Endpoint text-to-speech:

    https://www.tubekit.win/api/v1/tts/synthesize

  • Method

    http POST

  • Header Parameters

    1. header "Content-Type: application/json"
    2. header "apikey: YOUR-API-KEY"

Định dạng data gửi lên: Json (default), ví dụ:

{
    "text": "Chào mừng các bạn đến với công cụ chuyển đổi văn bản thành giọng nói của Tubekit. Đây là Text to speech tiếng việt",
    "voiceServer": "ttsvnpro",
    "voiceID": "vi-VN2",
    "voiceSpeed": "0"
}

Mô tả các thông số:

Thuộc tính kiểu dữ liệu Mô tả
text String input văn bản cần chuyển sang giọng nói, có thể là text thuần, hoặc theo cấu trúc SSML
voiceServer String Server giọng đọc, hiện tại chúng tôi cung cấp 3 server chính bao gồm: ttsvnpro, ttsbinttsgo
voiceID String Danh sách giọng đọc (voiceID) và voiceServer được cung cấp ở link này:
https://www.tubekit.win/api/v1/tts/voices
voiceSpeed String ( Tốc độ giọng nói )
 
  • -3 : rất chậm
  • -2 : khá chậm
  • -1 : chậm
  •  0  : Bình thường ( default )
  • 1 : nhanh
  • 2 : khá nhanh
  • 3 : rất nhanh

Dữ liệu trả về:

  • Code: 200
  • status: success
  • mess: success
  • audioData: Dữ liệu đầu ra mp3 ( định dạng base64 )

Ví dụ về phản hồi thành công ( response success ) :

{
    "status": "success",
    "mess": "success",
    "audioData": "//PIxAAAAANIAAAAAExBTUUzLjEwMFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.................."
}

Text-to-speech api cURL

Code:
 
curl --request POST \
  --url https://www.tubekit.win/api/v1/tts/synthesize \
  --header "apikey: YOUR-API-KEY" \
  --header "Content-Type: application/json" \
  --data "{\"voiceServer\": \"ttsbin\", \"voiceID\": \"vi-VN2\", \"voiceSpeed\": \"0\", \"text\": \"Đây là API Text to speech tiếng việt\"}"

Text-to-speech api PHP

Code example:


$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://www.tubekit.win/api/v1/tts/synthesize",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\r\n    \"text\": \"Đây là API text to speech tiếng việt\",\r\n    \"voiceServer\": \"ttsbin\",\r\n    \"voiceID\": \"vi-VN2\",\r\n    \"voiceSpeed\": \"0\"\r\n}",
  CURLOPT_HTTPHEADER => array(
    "apikey: YOUR-API-KEY",
    "content-type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Text-to-speech api Python

Code example:
 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Import the json library
import json
import requests
import urllib
import base64

url = "https://www.tubekit.win/api/v1/tts/synthesize"
data = {"voiceServer": "ttsbin", "voiceID": "vi-VN2", "voiceSpeed": "0", "text": "Đây là API Text to speech tiếng việt"}
headers = {'Content-type': 'application/json', 'apikey': 'YOUR-API-KEY'}
response = requests.post(url, data=json.dumps(data), headers=headers)
#if encounter SSL error because of https certificate, please comment out above line and use the line below to  make insecure connections   (this will expose your application to security risks, such as man-in-the-middle attacks.)
#response = requests.post(url, data=json.dumps(data), headers=headers, verify=False)
# Headers is a dictionary
#print(response.headers)
# Get status_code.
#print(response.status_code)
# Get the response data as a python object.
data = response.content
jData = json.loads(response.content)
#print(data)
#print(data.audioData)
#print(jData["audioData"])
if jData["status"] == "error":
	print("Error: ")
	print(jData["mess"])
else:
	wav_data = base64.b64decode(jData["audioData"])
	#print(wav_data)
	f = open("output.mp3", "wb")
	f.write(wav_data)
	f.close()
	print("Text to speech convert success. Please open output.mp3 file and enjoy!")

Text to speech api Java

Code example:
URL url = new URL("https://www.tubekit.win/api/v1/tts/synthesize");
HttpURLConnection http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("POST");
http.setDoOutput(true);
http.setRequestProperty("apikey", "YOUR-API-KEY");
http.setRequestProperty("Content-Type", "application/json");

String data = "{\"voiceServer\": \"ttsbin\", \"voiceID\": \"vi-VN2\", \"voiceSpeed\": \"0\", \"text\": \"Đây là API Text to speech tiếng việt\"}";

byte[] out = data.getBytes(StandardCharsets.UTF_8);

OutputStream stream = http.getOutputStream();
stream.write(out);

System.out.println(http.getResponseCode() + " " + http.getResponseMessage());
http.disconnect();
 

Text to speech api Javascript/AJAX

Code example:
var url = "https://www.tubekit.win/api/v1/tts/synthesize";

var xhr = new XMLHttpRequest();
xhr.open("POST", url);

xhr.setRequestHeader("apikey", "YOUR-API-KEY");
xhr.setRequestHeader("Content-Type", "application/json");

xhr.onreadystatechange = function () {
   if (xhr.readyState === 4) {
      console.log(xhr.status);
      console.log(xhr.responseText);
   }};

var data = '{"voiceServer": "ttsbin", "voiceID": "vi-VN2", "voiceSpeed": "0", "text": "Đây là API Text to speech tiếng việt"}';

xhr.send(data);
 

Text to speech api C#/.NET

Code example:
var url = "https://www.tubekit.win/api/v1/tts/synthesize";

var httpRequest = (HttpWebRequest)WebRequest.Create(url);
httpRequest.Method = "POST";

httpRequest.Headers["apikey"] = "YOUR-API-KEY";
httpRequest.ContentType = "application/json";

var data = "{\"voiceServer\": \"ttsbin\", \"voiceID\": \"vi-VN2\", \"voiceSpeed\": \"0\", \"text\": \"Đây là API Text to speech tiếng việt\"}";

using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
{
   streamWriter.Write(data);
}

var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
   var result = streamReader.ReadToEnd();
}

Console.WriteLine(httpResponse.StatusCode);