Skip to main content

🗣️ Thai Text-to-Speech V2 (เสียง Kaitom)

1 ICต่อ 400 ตัวอักษร
v2.0 ใช้งานได้🎙️ เสียงพูด🆕 มีนาคม 2025

ยินดีต้อนรับสู่ Thai Text-to-Speech API V2 พร้อมด้วย เสียง Kaitom ที่ได้รับการปรับปรุง (น้องไข่ต้ม เวอร์ชั่น 2) เวอร์ชันนี้มอบความเป็นธรรมชาติที่ได้รับการปรับปรุงและการรองรับภาษาผสมไทย-อังกฤษที่ดีขึ้นผ่าน API แบบ POST

iApp Text to Speech API V2

ทดลองใช้งาน Demo

ทดลองใช้ AI Demo

เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา

รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!

โปรโมชันหมดเขต 31 ธันวาคม 2568

เริ่มต้นใช้งาน

  1. ข้อกำหนดเบื้องต้น

    • คีย์ API จาก บริษัท ไอแอพพ์เทคโนโลยี จำกัด
    • ข้อความอินพุตเป็นภาษาไทยและ/หรือภาษาอังกฤษ
    • ความยาวข้อความสูงสุด: ไม่จำกัด
    • รูปแบบเอาต์พุตที่รองรับ: WAV
  2. เริ่มต้นใช้งานอย่างรวดเร็ว

    • การประมวลผลที่รวดเร็ว (น้อยกว่า 1 วินาที)
    • การสร้างเสียงพูดที่เป็นธรรมชาติที่ดีขึ้น
    • การรองรับข้อความผสมไทย-อังกฤษที่ได้รับการปรับปรุง
  3. คุณสมบัติหลัก

    • การสังเคราะห์เสียงพูดที่เป็นธรรมชาติที่ได้รับการปรับปรุง (เครื่องมือ V2)
    • การรองรับภาษาผสมที่เหนือกว่า (ไทย-อังกฤษ)
    • การเลือกโหมดภาษา (TH หรือ TH_MIX_EN)
    • การรองรับอีโมจิ
    • การแปลงค่าตัวเลข วันที่ และสกุลเงิน
    • เวลาในการประมวลผลที่รวดเร็ว
  4. ความปลอดภัยและการปฏิบัติตามข้อกำหนด

    • ปฏิบัติตาม GDPR และ PDPA
    • ไม่มีการเก็บข้อมูลหลังการประมวลผล
วิธีรับคีย์ API?

โปรดไปที่หน้า การจัดการคีย์ API เพื่อดูคีย์ API ที่มีอยู่ของคุณ หรือขอคีย์ใหม่

V1 ยังใช้งานได้

กำลังมองหา API แบบ GET เดิมพร้อมเสียง Kaitom V1 หรือ Cee? ดู Text-to-Speech V1

API Endpoint

EndpointMethodคำอธิบายค่าใช้จ่าย
/v3/store/speech/text-to-speech/kaitom
เดิม: /thai-tts-kaitom2/tts
POSTThai TTS พร้อมเสียง Kaitom V21 IC ต่อ 400 ตัวอักษร

ตัวอย่างรวดเร็ว

คำขอตัวอย่าง

curl --location 'https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom' \
--header 'apikey: YOUR_API_KEY' \
--form 'text="สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ"' \
--form 'language="TH"'

การตอบกลับตัวอย่าง

ไฟล์เสียงเอาต์พุต (รูปแบบ WAV) ไฟล์เสียงเอาต์พุตสามารถแสดงตัวอย่างได้ดังนี้:

เฉพาะภาษาไทย:

ภาษาไทยผสมภาษาอังกฤษ:

การอ้างอิง API

Text-to-Speech V2 Endpoint

  • Endpoint: POST https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom
  • พารามิเตอร์ที่จำเป็น:
    • apikey: คีย์ API ของคุณ (ส่วนหัว)
    • text: ข้อความที่จะแปลงเป็นเสียงพูด (ข้อมูลฟอร์ม)
  • พารามิเตอร์เสริม:
    • language: โหมดภาษา (ข้อมูลฟอร์ม)
      • TH: เฉพาะภาษาไทย (ข้อความภาษาไทยล้วน)
      • TH_MIX_EN: ภาษาไทยผสมภาษาอังกฤษ (ค่าเริ่มต้น)

ตัวอย่างโค้ด

Python

import requests

url = "https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom"
headers = {"apikey": "YOUR_API_KEY"}
data = {
"text": "สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ",
"language": "TH"
}

response = requests.post(url, headers=headers, data=data)
with open("output.wav", "wb") as f:
f.write(response.content)

JavaScript (Node.js)

const axios = require("axios")
const fs = require("fs")
const FormData = require("form-data")

let formData = new FormData()
formData.append("text", "สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ")
formData.append("language", "TH")

let config = {
method: "post",
url: "https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom",
headers: {
apikey: "YOUR_API_KEY",
...formData.getHeaders(),
},
data: formData,
responseType: "arraybuffer",
}

axios(config)
.then((response) => {
fs.writeFileSync("output.wav", response.data)
})
.catch((error) => console.log(error))

PHP

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array(
'text' => 'สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ',
'language' => 'TH'
),
CURLOPT_HTTPHEADER => array(
'apikey: YOUR_API_KEY'
),
));

$response = curl_exec($curl);
curl_close($curl);

file_put_contents("output.wav", $response);
?>

Swift

let parameters = [
[
"key": "language",
"value": "TH",
"type": "text"
],
[
"key": "text",
"value": "สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ",
"type": "text"
]] as [[String: Any]]

let boundary = "Boundary-\(UUID().uuidString)"
var body = Data()
var error: Error? = nil
for param in parameters {
if param["disabled"] != nil { continue }
let paramName = param["key"]!
body += Data("--\(boundary)\r\n".utf8)
body += Data("Content-Disposition:form-data; name=\"\(paramName)\"".utf8)
if param["contentType"] != nil {
body += Data("\r\nContent-Type: \(param["contentType"] as! String)".utf8)
}
let paramType = param["type"] as! String
if paramType == "text" {
let paramValue = param["value"] as! String
body += Data("\r\n\r\n\(paramValue)\r\n".utf8)
} else {
let paramSrc = param["src"] as! String
let fileURL = URL(fileURLWithPath: paramSrc)
if let fileContent = try? Data(contentsOf: fileURL) {
body += Data("; filename=\"\(paramSrc)\"\r\n".utf8)
body += Data("Content-Type: \"content-type header\"\r\n".utf8)
body += Data("\r\n".utf8)
body += fileContent
body += Data("\r\n".utf8)
}
}
}
body += Data("--\(boundary)--\r\n".utf8);
let postData = body


var request = URLRequest(url: URL(string: "https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom")!,timeoutInterval: Double.infinity)
request.addValue("YOUR_API_KEY", forHTTPHeaderField: "apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

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))
return
}
print(String(data: data, encoding: .utf8)!)
}

task.resume()

Kotlin

val client = OkHttpClient()
val mediaType = "text/plain".toMediaType()
val body = MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("language","TH")
.addFormDataPart("text","สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ")
.build()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom")
.post(body)
.addHeader("apikey", "YOUR_API_KEY")
.build()
val response = client.newCall(request).execute()

Java

OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("language","TH")
.addFormDataPart("text","สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ")
.build();
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom")
.method("POST", body)
.addHeader("apikey", "YOUR_API_KEY")
.build();
Response response = client.newCall(request).execute();

Dart

var headers = {
'apikey': 'YOUR_API_KEY'
};
var data = FormData.fromMap({
'language': 'TH',
'text': 'สวัสดีครับ น้องไข่ต้ม มาแล้วฮะ'
});

var dio = Dio();
var response = await dio.request(
'https://uat-api.iapp.co.th/v3/store/speech/text-to-speech/kaitom',
options: Options(
method: 'POST',
headers: headers,
),
data: data,
);

if (response.statusCode == 200) {
print(json.encode(response.data));
}
else {
print(response.statusMessage);
}

คุณสมบัติและความสามารถ

คุณสมบัติหลัก

  • การสร้างเสียงพูดที่เป็นธรรมชาติที่ได้รับการปรับปรุง (เครื่องมือ V2)
  • การรองรับข้อความผสมไทย-อังกฤษที่เหนือกว่า
  • การเลือกโหมดภาษา
  • การแปลงอีโมจิ
  • การจัดรูปแบบตัวเลขและวันที่
  • การประมวลผลที่รวดเร็ว

โหมดภาษา

  • TH (เฉพาะภาษาไทย): การประมวลผลข้อความภาษาไทยล้วนเพื่อการออกเสียงภาษาไทยที่เหมาะสมที่สุด
  • TH_MIX_EN (ค่าเริ่มต้น): รองรับภาษาไทยผสมภาษาอังกฤษสำหรับเนื้อหาสองภาษา

ข้อจำกัดและแนวทางปฏิบัติที่ดีที่สุด

ข้อจำกัด

  • รองรับเฉพาะภาษาไทยและภาษาอังกฤษ
  • ตัวเลือกเสียงเดียว: Kaitom V2 (เสียงผู้ชาย)
  • รองรับเฉพาะ speaker_id 0 เท่านั้น
  • รูปแบบเอาต์พุต: WAV เท่านั้น

แนวทางปฏิบัติที่ดีที่สุด

  • ใช้เครื่องหมายวรรคตอนที่เหมาะสมเพื่อการหยุดพักที่เป็นธรรมชาติ
  • เลือกโหมดภาษาที่เหมาะสม:
    • ใช้ TH สำหรับข้อความภาษาไทยล้วน
    • ใช้ TH_MIX_EN สำหรับเนื้อหาผสมไทย-อังกฤษ
  • รักษาประโยคให้เป็นธรรมชาติและเหมือนการสนทนา
  • ทดสอบกับข้อความส่วนเล็กๆ ก่อน

ความถูกต้องและประสิทธิภาพ

ความถูกต้องโดยรวม

  • คุณภาพเสียงพูดที่เป็นธรรมชาติที่ได้รับการปรับปรุง (เครื่องมือ V2)
  • การออกเสียงภาษาไทยและภาษาอังกฤษที่ดีขึ้น
  • การจัดการเนื้อหาภาษาผสมที่ดีขึ้น
  • การจัดการตัวเลขและอักขระพิเศษอย่างเหมาะสม

ความเร็วในการประมวลผล

  • น้อยกว่า 1 วินาทีต่อคำขอ
  • ประสิทธิภาพที่สม่ำเสมอโดยไม่คำนึงถึงความยาวของข้อความ

มีอะไรใหม่ใน V2

การปรับปรุงจาก V1

  • ✨ ความเป็นธรรมชาติของเสียงพูดที่ได้รับการปรับปรุง
  • 🗣️ การรองรับภาษาผสมไทย-อังกฤษที่ดีขึ้น
  • 🎵 ความแม่นยำในการออกเสียงที่ดีขึ้น
  • ⚡ ความเร็วในการประมวลผลที่รวดเร็วเท่าเดิม
  • 📊 การเลือกโหมดภาษาเพื่อผลลัพธ์ที่เหมาะสมที่สุด

การย้ายข้อมูลจาก V1

หากคุณกำลังใช้ V1 นี่คือการเปลี่ยนแปลงที่สำคัญ:

ด้านV1 (GET)V2 (POST)
MethodGETPOST
Text Parameterพารามิเตอร์ Queryข้อมูลฟอร์ม
โหมดภาษาไม่มีTH หรือ TH_MIX_EN
รูปแบบเอาต์พุตMP3WAV
Endpoint/kaitom/v1/kaitom

ราคา

ชื่อบริการ AI APIEndpointIC ต่อตัวอักษรOn-Premise
Thai Text To Speech V2 (TTS)iapp_text_to_speech_v2_kaitom1 IC/400 ตัวอักษรติดต่อเรา

ดูเพิ่มเติม

  • Text-to-Speech V1 - API แบบ GET เดิมพร้อมเสียง Kaitom V1 และ Cee
  • Speech-to-Text - แปลงเสียงเป็นข้อความ