วอยซ์เอเจนต์ภาษาไทย
เพิ่มส่วนพูดให้วอยซ์เอเจนต์ภาษาไทย สตรีมเสียง MP3 ทีละประโยค ส่งซ้ำได้อย่างปลอดภัยด้วย Idempotency-Key และอ่านคำตอบที่ไทยปนอังกฤษด้วยเสียงเดียว
ไอเดียให้ลองเล่น
รับทราบค่ะ จองโต๊ะสำหรับ 4 ท่าน วันเสาร์เวลาหนึ่งทุ่ม ใช่ไหมคะ
ยอดคงเหลือในบัญชีของคุณคือ 8,432 บาทค่ะ ต้องการทำรายการอื่นเพิ่มไหมคะ
ออเดอร์ของคุณกำลังจัดส่งโดย Flash Express หมายเลขพัสดุ TH123456789 ค่ะ
ได้เลยค่ะ เดี๋ยวช่วยตรวจสอบให้นะคะ รอสักครู่ค่ะ
ทุกการ์ดเล่นคลิปจริงที่สร้างจากสคริปต์นั้น ๆ ด้วยเสียงนมเย็น เปิดในหน้าเสียงพูดเพื่อให้พูดข้อความของคุณเองได้
วอยซ์เอเจนต์ใช้ API อย่างไร
วอยซ์เอเจนต์คือไปป์ไลน์สามขั้นตอน ระบบรู้จำเสียงพูดถอดเสียงผู้ใช้เป็นข้อความ โมเดลภาษาเขียนคำตอบ แล้ว Text-to-Speech อ่านออกเสียง ในประเทศไทยบทสนทนามักเริ่มต้นในแอปแชต LINE มีผู้ใช้งานต่อเดือน 56 ล้านคน คิดเป็นร้อยละ 78.2 ของประชากร ผู้ช่วยที่รับสายทางโทรศัพท์จึงคุยกับลูกค้ากลุ่มเดียวกัน ฝั่งองค์กรยังอยู่ในช่วงเริ่มต้น ผลสำรวจองค์กรไทย 580 แห่งพบว่าร้อยละ 17.8 ใช้ AI แล้ว และร้อยละ 73.3 วางแผนจะใช้ งานวิเคราะห์ latency budget ของอุตสาหกรรมให้เวลาขั้น TTS ราว 100 ถึง 200 มิลลิวินาทีจนถึงเสียงแรก ภายใต้เป้าหมายรวมต่ำกว่าหนึ่งวินาที ขาฟังและขาพูดอยู่บน API เดียวกันนี้ทั้งคู่ Paxa STT Lite Realtime ถอดเสียงผู้โทรผ่าน WebSocket เดียวและบอกจุดจบของแต่ละรอบพูด ส่วน Paxa TTS Flash v2 อ่านคำตอบออกเสียง รูปแบบการเชื่อมต่อที่ใช้ได้จริงจึงเป็นการสตรีม ส่งประโยคที่โมเดลภาษาเขียนเสร็จมาพร้อม stream: true แล้วส่งต่อเสียง MP3 ทีละชิ้นไปยังสายโทรศัพท์หรือเว็บไคลเอนต์ทันทีที่มาถึง วอยซ์เอเจนต์ภาษาไทยมีผู้พัฒนาจริงในประเทศ ทั้งสตาร์ตอัปที่ขายระบบและโมเดลเสียงโอเพนซอร์สจากกลุ่มวิจัย ส่วนโจทย์ยากยังเป็นตัวภาษาเอง ทั้งวรรณยุกต์ ข้อความที่เขียนติดกันโดยไม่มีช่องว่างระหว่างคำ และคำตอบที่ไทยปนอังกฤษอยู่ในประโยคเดียว
ที่มา:DataReportal (2026)(เปิดในแท็บใหม่)ETDA (2024)(เปิดในแท็บใหม่)
สตรีมทีละประโยค
เมื่อโมเดลภาษาเขียนประโยคเสร็จ ส่งมาพร้อม stream: true เสียง MP3 จะทยอยมาถึงก่อนการสังเคราะห์จบ เอเจนต์ส่งต่อให้ผู้ใช้ได้ทันทีที่แต่ละชิ้นมาถึง แล้วประโยคถัดไปก็ทำแบบเดียวกัน
ทำให้เส้นทางส่งซ้ำปลอดภัย
แนบ Idempotency-Key กับทุกคำขอ หากการเชื่อมต่อหลุดแล้วระบบส่งซ้ำ คำขอซ้ำจะได้ผลลัพธ์เดิมโดยไม่ถูกคิดเครดิตอีกครั้ง และคำขอซ้ำที่วิ่งพร้อมกันด้วยคีย์เดียวกันจะถูกปฏิเสธแทนการคิดเงินสองครั้ง
ล้มเหลวได้โดยไม่เสียเครดิต
ระบบคิดเครดิตก่อนสังเคราะห์และคืนอัตโนมัติ คำขอที่ล้มเหลว แม้กลางสตรีม จะได้เครดิตคืน และทุกคำขอไม่ว่าจะถูกคิดเครดิตหรือไม่ก็ตรวจสอบได้ในหน้าบันทึกคำขอ
หนึ่งสายจากมุมของคนโทร
ข้อความต้อนรับเริ่มเล่น
คนโทรรู้อยู่แล้วว่าต้องการอะไร เขารู้ตั้งแต่ก่อนกดโทรด้วยซ้ำ และข้อความต้อนรับคือส่วนของสายที่เขากำลังรอให้ผ่านไป
เขาพูดแทรกขึ้นมา
นี่คือสิ่งที่คนทำกับคนตามปกติ และเป็นจังหวะที่ระบบอัตโนมัติส่วนใหญ่พัง เมนูอ่านต่อไป คนโทรพูดซ้ำด้วยเสียงดังขึ้น และสายนั้นก็เริ่มไปได้ไม่สวยตั้งแต่ตรงนั้น
เสียงหยุด
ผู้ช่วยที่ถูกพูดแทรกได้จะหยุดกลางประโยคแล้วฟัง ไม่มีอะไรในนั้นที่คนโทรจะเรียกว่าฟีเจอร์ และมันคือความต่างทั้งหมดระหว่างระบบที่ตอบกับระบบที่พูดใส่
จบเรื่อง หรือส่งต่อ
ไม่คนโทรได้สิ่งที่มาเอา ก็มีเจ้าหน้าที่รับสายต่อโดยมีบทสนทนาอยู่ตรงหน้าแล้ว ทั้งสองทางพาคนออกจากคิวได้ แต่มีทางเดียวที่ใช้เวลาของเจ้าหน้าที่
อัตราการวางสายคือตัวเลขที่ส่วนนี้พูดถึง คนโทรที่พูดแทรกไม่ได้จะวางสายแล้วโทรใหม่ ซึ่งไปโผล่ในคิวสองครั้งและในคะแนนความพึงพอใจหนึ่งครั้ง
เวลาของคำตอบหนึ่งครั้งหายไปไหน
30-80 ms
เครือข่าย
150-300 ms
จังหวะสนทนา
150-400 ms
โทเคนแรกของ LLM
100-200 ms
เสียงแรกของ TTS
ตัวเลขชุดนี้มาจาก latency budget ของอุตสาหกรรมที่เผยแพร่สาธารณะ (The Prompt Bench, Hamming, Telnyx) และไม่ได้วัดจาก API นี้ ยกมาเพื่ออธิบายว่าทำไมรูปแบบการเชื่อมต่อด้านล่างจึงเป็นการสตรีมแทนการรอไฟล์ทั้งก้อน
คำตอบหนึ่งครั้งบนสาย
llm → "สวัสดีค่ะ มีอะไรให้ช่วยไหมคะ"
agent → POST /v1/tts {"stream": true, "voice": "nomyen"}
tts ← เสียงชิ้นที่ 1 (เริ่มเล่นให้ผู้โทรฟังแล้ว)
tts ← เสียงชิ้นที่ 2 … ชิ้นสุดท้าย
agent → ประโยคถัดไป รูปแบบเดิมจำนวนคำตอบกับค่าใช้จ่าย
| คำตอบ | ตัวอักษร | เครดิต | ค่าใช้จ่าย |
|---|---|---|---|
| 100 | 20,000 | 200 | $0.20 |
| 10,000 | 2,000,000 | 20,000 | $20.00 |
| คำตอบเสียง 1,000 ครั้ง | ประมาณ $2.00 | ||
คำนวณที่ประมาณ 200 ตัวอักษรต่อคำตอบ ซึ่งยาวราวหนึ่งถึงสองประโยคพูด ที่อัตราคงที่ $10 ต่อหนึ่งล้านตัวอักษร คำขอแบบสตรีมและแบบรับทั้งไฟล์คิดราคาเท่ากัน และคำขอที่ล้มเหลวหลังคิดเครดิตได้รับคืน
สำหรับนักพัฒนา
ตัวอย่างทั้ง curl, TypeScript และ Python ส่งประโยคเดียวพร้อม stream: true แล้วรับเสียง MP3 ไปใช้ทีละชิ้นทันทีที่มาถึง ซึ่งเป็นลูปที่เอเจนต์ทำซ้ำต่อหนึ่งประโยค
เอกสารอ้างอิง API ฉบับเต็มcurl -N -X POST https://api.paxalabs.com/v1/tts \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"text": "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", "voice": "khanomkrok", "model": "paxa-tts-flash-v2", "stream": true}' \ --output speech.mp3
const response = await fetch("https://api.paxalabs.com/v1/tts", { method: "POST", headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ text: "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", voice: "khanomkrok", model: "paxa-tts-flash-v2", stream: true, }), }); if (!response.ok || !response.body) { throw new Error(`TTS failed: ${response.status}`); } // Chunks arrive while synthesis is still running. for await (const chunk of response.body) { player.feed(chunk); }
import os import requests response = requests.post( "https://api.paxalabs.com/v1/tts", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={"text": "สวัสดีครับ ยินดีต้อนรับสู่ Paxa Labs", "voice": "khanomkrok", "model": "paxa-tts-flash-v2", "stream": True}, stream=True, ) response.raise_for_status() with open("speech.mp3", "wb") as f: for chunk in response.iter_content(chunk_size=None): f.write(chunk)
ฟังเสียงจริง
เสียงบางส่วนจากทั้งหมด 50 เสียง สร้างจาก API ด้วยรหัสเสียงที่เปิดให้ใช้งานจริง ฟังครบทุกเสียงได้ที่หน้า Text-to-Speech
- นมเย็นv1 + v2เปิดในหน้าเสียงพูด
- คุกกี้v1 + v2งานบริการ
- ขนมครกv1 + v2เสียงชายหลัก
- ฝอยทองv1 + v2เสียงเล่าเรื่อง
สร้างเพื่อบทสนทนาภาษาไทย
โมเดลภาษาเขียนคำตอบโดยมีเครื่องหมายวรรคตอนน้อย และมักมีภาษาอังกฤษแทรกกลางประโยคภาษาไทย Paxa TTS Flash v2 เว้นจังหวะข้อความไทยที่เขียนติดกันได้โดยไม่ต้องอาศัยเครื่องหมายวรรคตอน และใช้เสียงเดียวกับทั้งสองภาษา วอยซ์เอเจนต์จึงฟังเป็นผู้พูดคนเดียวตลอดบทสนทนา
คำถามที่พบบ่อย
ถ้าคนโทรพูดแทรกขึ้นมาระหว่างที่เอเจนต์กำลังพูด จะเป็นอย่างไร
เสียงหยุดกลางประโยค และคำตอบส่วนที่เหลือถูกทิ้งไป นั่นคือคำสั่งยกเลิกบนซ็อกเก็ตสด และการเชื่อมต่อเดิมรับตาถัดไปต่อได้เลย ไม่มีอะไรในสายนั้นต้องเริ่มใหม่
วอยซ์เอเจนต์พูดคำตอบที่ไทยปนอังกฤษได้ไหม
ได้ ข้อความไทยปนอังกฤษอ่านในคำขอเดียวด้วยเสียงเดียว ซึ่งตรงกับวิธีที่ผู้ใช้ไทยคุยกับผู้ช่วยเสียงจริง และตรงกับวิธีที่โมเดลภาษาเขียนตอบกลับ
ถ้าคำขอแบบสตรีมล้มเหลวกลางทางจะเกิดอะไรขึ้น
สตรีมจะถูกตัดและเครดิตถูกคืนอัตโนมัติ ระบบคิดเครดิตก่อนสังเคราะห์ ทุกเส้นทางที่ล้มเหลวจึงได้เครดิตคืนเสมอ และคำขอที่ล้มเหลวยังปรากฏในหน้าบันทึกคำขอพร้อมรหัสข้อผิดพลาด
API เดียวกันนี้ถอดเสียงผู้โทรได้ด้วยไหม
ได้ Paxa STT Lite Realtime ฟังผ่าน WebSocket ที่ /v1/stt/live ตัดสินจุดจบของแต่ละรอบพูดเอง และส่งบทถอดที่จบแล้วหนึ่งชุดต่อหนึ่งรอบพูด คิด 12.5 เครดิตต่อนาทีของเสียงที่รับเข้ามา ทั้งสองขาของวงจรหักจากยอดเครดิตเดียวกันและลงในบันทึกคำขอเดียวกัน
ระบบเดิมเรียก speech API ของ OpenAI อยู่แล้ว ต้องเขียนใหม่ไหม
ไม่ต้อง POST /v1/audio/speech เป็น endpoint ที่เข้ากันได้กับ OpenAI และสตรีมโดยค่าเริ่มต้น โค้ดเดิมใช้ต่อได้โดยเปลี่ยนแค่ base URL กับคีย์
เริ่มต้นด้วยเครดิตฟรี
เข้าสู่ระบบด้วย Google, GitHub หรือ Hugging Face แล้วใช้เครดิตฟรี 100 เครดิตกับข้อความของคุณเอง
บทความที่เกี่ยวข้อง
- ค่าพากย์เสียงภาษาไทยปี 2569: สตูดิโอ ฟรีแลนซ์ และ AI
- เลือกเสียง AI ภาษาไทยให้เหมาะกับงาน: คู่มือครบทั้ง 34 เสียง
- วิธีเขียนสคริปต์ให้เสียง AI ภาษาไทยอ่านได้เป็นธรรมชาติ
- ภาษาไทยไม่มีจุดจบประโยค: เสียงพูดแบบสตรีมควรตัดตรงไหน
- วัดคุณภาพเสียง AI ภาษาไทยด้วยสิบประโยค
- Paxa TTS Flash อ่านภาษาจีนกลางได้แล้ว พร้อมเสียงใหม่หกเสียง
- Paxa TTS Flash อ่านแท็กอารมณ์ได้แล้ว บนเสียงใหม่สองเสียง
- Paxa TTS Flash เริ่มส่งเสียงแรกใน 104 มิลลิวินาที
- Text to Speech คืออะไร เสียง AI ทำงานอย่างไร และใช้ทำอะไรได้บ้าง
- วิธีทำเสียงพากย์ AI ใส่คลิป TikTok Reels และ Shorts
- แปลงข้อความเป็นเสียงภาษาไทยที่ดีที่สุด สำหรับแอป วิดีโอ และสายโทรศัพท์
- โปรแกรมสร้างเสียง AI ที่ดีที่สุดสำหรับ YouTube ทั้งเสียงบรรยาย ช่องไม่เปิดหน้า และ Shorts
- Text to Speech ฟรีที่ดีที่สุด สำหรับงานส่วนตัวและการลองเสียงก่อนจ่ายเงิน
- Text to Speech ที่ดีที่สุดสำหรับทำหนังสือเสียงและงานอ่านเรื่องยาว
- วิธีเจนเสียง AI ภาษาไทย ตั้งแต่เลือกเสียงจนได้ไฟล์
- ให้ AI อ่านนิยายให้ฟัง ด้วยเสียงผู้บรรยายและเสียงตัวละคร
- วิธีเขียนคำบรรยายเสียงสำหรับออกแบบเสียง AI พร้อมตัวอย่าง
- ออกแบบเสียงกับโคลนเสียงต่างกันอย่างไร สองวิธีสร้างเสียง AI ของตัวเอง
- เครื่องมือออกแบบเสียง AI ที่ดีที่สุดสำหรับเสียงภาษาไทย เสียงที่บันทึกไว้ใช้ซ้ำ และ Voice Agent
- Paxa TTS Flash v2 เปิดให้ใช้งานแล้ว
- เครื่องมือออกแบบเสียง AI เปิดให้ใช้งานแล้ว
- Temperature และแท็กช่วงหยุดบน Paxa TTS Flash v2