🗣️ Thai Text-to-Speech V1 (เสียงน้องไข่ต้ม & เสียงคุณซี)
1 ICต่อ 400 ตัวอักษร
ยินดีต้อนรับสู่ Thai Text-to-Speech API V1 เวอร์ชันนี้มีตัวเลือกเสียงสองแบบผ่าน API แบบ GET ที่เรียบง่าย:
- เสียงน้องไข่ต้ม - เสียงผู้ชาย
- เสียงคุณซี - เสียงดาราหญิง (@ceemeagain)
ทดลองใช้งาน
ทดลองใช้ AI Demo
เข้าสู่ระบบหรือสร้างบัญชีฟรีเพื่อใช้งาน AI Demo และสำรวจ API ที่ทรงพลังของเรา
รับ 50 เครดิตฟรี (IC) เมื่อสมัครสมาชิก!
โปรโมชันหมดเขต 31 ธันวาคม 2568
เริ่มต้นใช้งาน
-
สิ่งที่ต้องมี
- คีย์ API จาก บริษัท ไอแอพพ์เทคโนโลยี จำกัด
- ข้อความอินพุตเป็นภาษาไทยและ/หรือภาษาอังกฤษ
- ความยาวข้อความสูงสุด: ไม่จำกัด
- รูปแบบเอาต์พุตที่รองรับ: MP3, WAV
-
เริ่มต้นอย่างรวดเร็ว
- การร้องขอ GET แบบง่าย
- การประมวลผลที่รวดเร็ว (น้อยกว่า 1 วินาที)
- การสร้างเสียงที่เป็นธรรมชาติ
- รองรับข้อความผสมภาษาไทย-อังกฤษ
-
คุณสมบัติหลัก
- การสังเคราะห์เสียงที่เป็นธรรมชาติ
- รองรับภาษาผสม (ไทย-อังกฤษ)
- ตัวเลือกเสียงสองแบบ (เสียงน้องไข่ต้ม & เสียงคุณซี)
- รองรับอิโมจิ
- การแปลงตัวเลข วันที่ และค่าสกุลเงิน
- ความเร็วในการประมวลผลที่รวดเร็ว
-
ความปลอดภัยและการปฏิบัติตามกฎ
- เป็นไปตาม GDPR และ PDPA
- ไม่มีการเก็บข้อมูลหลังจากประมวลผล
วิธีรับคีย์ API?
กรุณาเยี่ยมชมหน้า การจัดการคีย์ API เพื่อดูคีย์ API ที่คุณมีอยู่ หรือขอคีย์ใหม่
V2 พร้อมใช้งานแล้ว
กำลังมองหาคุณภาพเสียงที่ดีขึ้นอยู่ใช่ไหม? ลองใช้ Text-to-Speech V2 พร้อมเสียงน้องไข่ต้มที่ปรับปรุงแล้ว
API Endpoints
| Endpoint | Method | คำอธิบาย | ค่าใช้จ่าย |
|---|---|---|---|
/v3/store/speech/text-to-speech/kaitom/v1Legacy: /thai-tts-kaitom/tts | GET | Thai TTS พร้อมเสียงน้องไข่ต้ม V1 | 1 IC ต่อ 400 ตัวอักษร |
/v3/store/speech/text-to-speech/ceeLegacy: /thai-tts-cee/tts | GET | Thai TTS พร้อมเสียงคุณซี | 1 IC ต่อ 400 ตัวอักษร |
ตัวอย่างด่วน
เสียงน้องไข่ต้ม V1
คำขอ:
curl --location --request GET 'https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1?text=สวัสดีครับ' \
--header 'apikey: YOUR_API_KEY'
การตอบกลับ:
เสียงคุณซี
คำขอ:
curl --location --request GET 'https://api.iapp.co.th/v3/store/speech/text-to-speech/cee?text=สวัสดีค่ะเสียงซีสังเคราะห์มาแล้วค่ะ' \
--header 'apikey: YOUR_API_KEY'
การตอบกลับ:
note
แทนที่พารามิเตอร์ text ด้วยข้อความที่คุณต้องการ รูปแบบเอาต์พุตจะแตกต่างกัน: MP3 สำหรับเสียงน้องไข่ต้ม, WAV สำหรับเสียงคุณซี
การอ้างอิง API
Endpoint Text-to-Speech (เสียงน้องไข่ต้ม V1)
- Endpoint:
GEThttps://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1 - พารามิเตอร์ที่จำเป็น:
apikey: คีย์ API ของคุณ (เฮดเดอร์)text: ข้อความที่จะแปลงเป็นเสียง (พารามิเตอร์คิวรี)
- รูปแบบเอาต์พุต: MP3
Endpoint Text-to-Speech (เสียงคุณซี)
- Endpoint:
GEThttps://api.iapp.co.th/v3/store/speech/text-to-speech/cee - พารามิเตอร์ที่จำเป็น:
apikey: คีย์ API ของคุณ (เฮดเดอร์)text: ข้อความที่จะแปลงเป็นเสียง (พารามิเตอร์คิวรี)
- รูปแบบเอาต์พุต: WAV
ตัวอย่างโค้ด
Python
เสียงน้องไข่ต้ม V1
import requests
url = "https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1"
headers = {"apikey": "YOUR_API_KEY"}
params = {"text": "สวัสดีครับ"}
response = requests.get(url, headers=headers, params=params)
with open("output.mp3", "wb") as f:
f.write(response.content)
เสียงคุณซี
import requests
url = "https://api.iapp.co.th/v3/store/speech/text-to-speech/cee"
headers = {"apikey": "YOUR_API_KEY"}
params = {"text": "สวัสดีค่ะ"}
response = requests.get(url, headers=headers, params=params)
with open("output.wav", "wb") as f:
f.write(response.content)
JavaScript (Node.js)
เสียงน้องไข่ต้ม V1
const axios = require("axios")
const fs = require("fs")
let config = {
method: "get",
url: "https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1",
params: { text: "สวัสดีครับ" },
headers: { apikey: "YOUR_API_KEY" },
responseType: "arraybuffer",
}
axios(config)
.then((response) => {
fs.writeFileSync("output.mp3", response.data)
})
.catch((error) => console.log(error))
เสียงคุณซี
const axios = require("axios")
const fs = require("fs")
let config = {
method: "get",
url: "https://api.iapp.co.th/v3/store/speech/text-to-speech/cee",
params: { text: "สวัสดีค่ะ" },
headers: { apikey: "YOUR_API_KEY" },
responseType: "arraybuffer",
}
axios(config)
.then((response) => {
fs.writeFileSync("output.wav", response.data)
})
.catch((error) => console.log(error))
PHP
เสียงน้องไข่ต้ม V1
<?php
$url = "https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1?text=สวัสดีครับ";
$headers = array('apikey: YOUR_API_KEY');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
file_put_contents("output.mp3", $response);
curl_close($ch);
?>
เสียงคุณซี
<?php
$url = "https://api.iapp.co.th/v3/store/speech/text-to-speech/cee?text=สวัสดีค่ะ";
$headers = array('apikey: YOUR_API_KEY');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
file_put_contents("output.wav", $response);
curl_close($ch);
?>
Swift
import Foundation
let url = URL(string: "https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1?text=สวัสดีครับ&apikey=YOUR_API_KEY")!
var request = URLRequest(url: url, timeoutInterval: Double.infinity)
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print("Error:", String(describing: error))
return
}
// Save the data to an MP3 file
let fileManager = FileManager.default
let outputPath = fileManager.temporaryDirectory.appendingPathComponent("output.mp3")
do {
try data.write(to: outputPath)
print("Audio file saved to:", outputPath.path)
} catch {
print("Failed to save file:", error)
}
}
task.resume()
Kotlin
import okhttp3.OkHttpClient
import okhttp3.Request
import java.io.File
import java.io.FileOutputStream
fun main() {
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1?text=สวัสดีครับ&apikey=YOUR_API_KEY")
.build()
val response = client.newCall(request).execute()
if (response.isSuccessful) {
// Get response body as bytes
val responseBody = response.body?.bytes()
if (responseBody != null) {
// Save to a file
val outputFile = File("output.mp3")
FileOutputStream(outputFile).use { fos ->
fos.write(responseBody)
println("Audio file saved to: ${outputFile.absolutePath}")
}
} else {
println("Response body is empty.")
}
} else {
println("Request failed with status code: ${response.code}")
}
}
Java
import okhttp3.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1?text=สวัสดีครับ&apikey=YOUR_API_KEY")
.method("GET", body)
.build();
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
// Get the response body as bytes
byte[] responseBody = response.body().bytes();
// Save the response to a file
File outputFile = new File("output.mp3");
try (FileOutputStream fos = new FileOutputStream(outputFile)) {
fos.write(responseBody);
System.out.println("Audio file saved to: " + outputFile.getAbsolutePath());
} catch (IOException e) {
System.err.println("Failed to save the file: " + e.getMessage());
}
} else {
System.err.println("Request failed with status code: " + response.code());
}
// Close the response
response.close();
}
}
Dart
import 'dart:io';
import 'package:http/http.dart' as http;
void main() async {
// Create the GET request
var request = http.Request(
'GET',
Uri.parse(
'https://api.iapp.co.th/v3/store/speech/text-to-speech/kaitom/v1?text=สวัสดีครับ&apikey=YOUR_API_KEY'),
);
// Send the request
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
// Save the response to a file
final file = File('output.mp3');
final bytes = await response.stream.toBytes();
await file.writeAsBytes(bytes);
print('Audio file saved to: ${file.path}');
} else {
print('Request failed: ${response.reasonPhrase}');
}
}
คุณสมบัติและความสามารถ
คุณสมบัติหลัก
- การสร้างเสียงที่เป็นธรรมชาติ
- รองรับข้อความผสมภาษาไทย-อังกฤษ
- ตัวเลือกเสียงสองแบบ
- การแปลงอิโมจิ
- การจัดรูปแบบตัวเลขและวันที่
- การประมวลผลที่รวดเร็ว
ตัวเลือกเสียง
| เสียง | เพศ | คำอธิบาย | รูปแบบเอาต์พุต |
|---|---|---|---|
| เสียงน้องไข่ต้ม V1 | ชาย | เสียงเด็กผู้ชาย (น้องไข่ต้ม) | MP3 |
| เสียงคุณซี | หญิง | เสียงดารา (@ceemeagain ฉัตรปวีณ์ ตรีชัชวาลวงศ์) | WAV |
ฟิลด์ที่รองรับ
- ข้อความภาษาไทย
- ข้อความภาษาอังกฤษ
- อิโมจิ
- ตัวเลข
- วันที่
- ค่าสกุลเงิน
ข้อจำกัดและแนวทางปฏิบัติที่ดีที่สุด
ข้อจำกัด
- รองรับเฉพาะภาษาไทยและภาษาอังกฤษ
- มีตัวเลือกเสียงสองแ บบ (เสียงน้องไข่ต้ม V1 & เสียงคุณซี)
- API แบบ GET อย่างง่าย (ไม่มีการเลือกโหมดภาษา)
- รูปแบบเอาต์พุตแตกต่างกันไปตามเสียง
แนวทางปฏิบัติที่ดีที่สุด
- ใช้อักขระวรรคตอนที่เหมาะสมเพื่อการหยุดพักที่เป็นธรรมชาติ
- รักษาประโยคให้เป็นธรรมชาติและเหมือนการสนทนา
- ทดสอบกับข้อความส่วนเล็กๆ ก่อน
- เลือกเสียงที่เหมาะสมกับการใช้งานของคุณ:
- เสียงน้องไข่ต้ม V1: ใช้งานทั่วไป, เสียงผู้ชาย
- เสียงคุณซี: เสียงผู้หญิง, ดึงดูดใจดารา