Skip to main content

🗣️ Thai Text-to-Speech V2 (เสียงน้องไข่ต้ม)

1 ICต่อ 400 ตัวอักษร
v2.0 Active🎙️ Speech🆕 มี.ค. 2025

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

iApp Text to Speech API V2

ลองใช้ Demo

ทดลองใช้ AI Demo

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

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

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

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

  1. สิ่งที่ต้องมี

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

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

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

    • เป็นไปตาม GDPR และ PDPA
    • ไม่มีการเก็บรักษาข้อมูลหลังจากประมวลผล
จะรับ API Key ได้อย่างไร?

กรุณาเยี่ยมชมหน้า การจัดการ API Key เพื่อดู API key ที่มีอยู่ของคุณ หรือขอ API key ใหม่

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

กำลังมองหา API แบบ GET แบบเดิมที่มีเสียงน้องไข่ต้ม V1 หรือเสียงซีอยู่หรือไม่? ดู Text-to-Speech V1

API Endpoint

EndpointMethodคำอธิบายราคา
/v3/store/speech/text-to-speech/kaitom
แบบเก่า: /thai-tts-kaitom2/tts
POSTThai TTS ด้วยเสียงน้องไข่ต้ม 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 key ของคุณ (ส่วนหัว)
    • 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://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)
  • การรองรับข้อความผสมภาษาไทย-อังกฤษที่เหนือกว่า
  • การเลือกโหมดภาษา
  • การแปลง Emoji
  • การจัดรูปแบบตัวเลขและวันที่
  • การประมวลผลที่รวดเร็ว

โหมดภาษา

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

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

ข้อจำกัด

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

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

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

ความแม่นยำและประสิทธิภาพ

ความแม่นยำโดยรวม

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

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

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

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

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

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

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

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

ด้านV1 (GET)V2 (POST)
MethodGETPOST
Text ParameterQuery parameterForm data
Language Modeไม่มีTH หรือ TH_MIX_EN
Output FormatMP3WAV
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 แบบเก่าพร้อมเสียงน้องไข่ต้ม V1 และเสียงซี
  • Speech-to-Text - แปลงเสียงพูดเป็นข้อความ