Paxa Labs
ตัวอย่างการใช้งานทั้งหมด

เสียง AI ภาษาไทยสำหรับพอดแคสต์

ผลิตพอดแคสต์ภาษาไทยจากสคริปต์ จะโฮสต์เดียวหรือสองคนก็ได้ ลงได้ทุกวัน ทำแชปเตอร์จาก timestamp และคิดเงินตามตัวอักษร

ไอเดียให้ลองเล่น

เปิดในหน้าเสียงพูด
เปิดในหน้าเสียงพูด
เปิดในหน้าเสียงพูด
เปิดในหน้าเสียงพูด

ทุกการ์ดเล่นคลิปจริงที่สร้างจากสคริปต์นั้น ๆ ด้วยเสียงนมเย็น เปิดในหน้าเสียงพูดเพื่อให้พูดข้อความของคุณเองได้

คนทำพอดแคสต์ใช้ API อย่างไร

พอดแคสต์ไทยส่วนใหญ่คือคนหนึ่งหรือสองคนคุยกัน และคนที่พูดก็คือกระบวนการผลิตทั้งหมด รายการออกอากาศเมื่อโฮสต์อัดเสียง ด้วยพลังเท่าที่โฮสต์มีในวันนั้น และรายการที่ลงทุกวันก็หมายถึงต้องอัดทุกวัน ไม่ว่าจะเหลือเสียงพอหรือไม่ Text-to-Speech API ทำให้โฮสต์กลายเป็นคุณสมบัติหนึ่งของสคริปต์ รหัสเสียงหนึ่งตัวอ่านทั้งรายการ รหัสเสียงตัวที่สองคือโฮสต์คนที่สอง และทั้งคู่ฟังเหมือนเดิมในตอนที่ 118 เท่ากับตอนที่ 1 ช่วงที่เขียนใหม่คิดเงินตามตัวอักษรของช่วงนั้น ส่วนที่เหลือของตอนยังอยู่เหมือนเดิม ชื่อภาษาอังกฤษและศัพท์เฉพาะที่อยู่ในประโยคไทยอ่านด้วยเสียงเดียวกัน ช่วงเวลาระดับประโยคที่ส่งกลับมาพร้อมเสียงกลายเป็นแชปเตอร์และทรานสคริปต์สำหรับโน้ตของรายการ และไฟล์ที่ได้กลับมาก็คือไฟล์ที่ฟีดชี้ไป

  1. แบ่งสคริปต์ตามผู้พูดบทพูดต่อเนื่องของโฮสต์แต่ละคนคือหนึ่งช่วง และแต่ละช่วงคือหนึ่งคำขอที่ส่งรหัสเสียงของโฮสต์คนนั้น ช่วงที่ยาวเกินเพดานต่อคำขอแบ่งอีกครั้งที่ย่อหน้า รายการโฮสต์เดียวใช้รหัสเสียงเดียวตลอดทั้งตอน
  2. สร้างเสียงแล้วต่อไฟล์แต่ละช่วงกลับมาเป็นไฟล์ MP3 ที่ต่อกันตามลำดับได้ใน ffmpeg หรือโปรแกรมตัดต่อที่รายการใช้อยู่ วางเพลงประกอบและเสียงคั่นเหมือนเดิม หากรายการต้องการแชปเตอร์หรือทรานสคริปต์ ให้ขอช่วงเวลาระดับประโยคในคำขอเดียวกัน
  3. เผยแพร่ตามปกติไฟล์ที่ต่อเสร็จส่งขึ้นบริการโฮสต์เป็น enclosure ของตอนนั้น รายการรายวันทำสามขั้นตอนนี้ซ้ำจากสคริปต์ทุกเช้า การแก้ไขสร้างใหม่เพียงช่วงเดียว ส่วนที่เหลือของตอนยังอยู่เหมือนเดิม

ความยาวตอนกับค่าใช้จ่าย

รายการตัวอักษรคำขอค่าใช้จ่าย
หนึ่งตอน 20 นาที12,1203$0.18
รายการรายสัปดาห์ ต่อเดือน48,48012$0.73
รายการรายวันตอนละ 20 นาที ต่อเดือนประมาณ $5.45

คำนวณจาก 606 ตัวอักษรต่อเสียงหนึ่งนาที ที่อัตรา $15 ต่อหนึ่งล้านตัวอักษร นับ 30 ตอนต่อเดือน เพลงประกอบ อินโทร และการตัดต่ออยู่นอกตัวเลขนี้ ช่วงที่เขียนใหม่คิดเงินตามตัวอักษรของช่วงนั้นเท่านั้น

สองโฮสต์จากสคริปต์เดียว

episode-118/
script.txt        12,120 ตัวอักษร (ราว 20 นาที)
01 โฮสต์ A  oliang      เปิดรายการ สรุปข่าว
02 โฮสต์ B  sanaechan   ช่วงคำถามจากผู้ฟัง
03 โฮสต์ A  oliang      ปิดรายการ
→ POST /v1/tts   หนึ่งคำขอต่อหนึ่งช่วง ใช้รหัสเสียงของช่วงนั้น
→ part-01.mp3  part-02.mp3  part-03.mp3
→ episode-118.mp3   (ต่อไฟล์ตามลำดับ วางเพลงประกอบไว้ข้างใต้)

หนึ่งช่วงคือบทพูดต่อเนื่องของโฮสต์คนเดียว แต่ละช่วงเป็นหนึ่งคำขอที่ส่งรหัสเสียงของโฮสต์คนนั้น แล้วนำทุกช่วงมาต่อกันตามลำดับ โฮสต์ A ใช้รหัสเสียงเดิมทุกตอน นั่นคือสิ่งที่ทำให้รายการฟังเป็นรายการเดิม

สิ่งที่ฟีดชี้ไป

feed.xml
<item>
  <title>ตอนที่ 118</title>
  <enclosure url="https://cdn.example.com/ep118.mp3" type="audio/mpeg"/>
  <itunes:duration>20:00</itunes:duration>
  <podcast:chapters url="https://cdn.example.com/ep118.chapters.json"/>
</item>

enclosure คือไฟล์ MP3 ที่ต่อเสร็จแล้ว ไฟล์แชปเตอร์เขียนจากช่วงเวลาระดับประโยคที่ API ส่งกลับมาพร้อมแต่ละช่วง โดยเลื่อนตามตำแหน่งที่ช่วงนั้นเริ่มในตอน บริการโฮสต์พอดแคสต์ที่ใช้อยู่ยังเป็นผู้เผยแพร่ฟีดเหมือนเดิม ไม่มีอะไรเปลี่ยน

สำหรับนักพัฒนา

ส่งแต่ละช่วงพร้อมรหัสเสียงของโฮสต์ และขอช่วงเวลาระดับประโยคในคำขอเดียวกันเมื่อรายการต้องการแชปเตอร์หรือทรานสคริปต์

curl -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-v1",
    "timestamps": "word"
  }' \
  -o response.json

jq -r .audio response.json | base64 -d > speech.mp3
jq .timing.spans response.json

เอกสารอ้างอิง API ฉบับเต็ม

ฟังเสียงจริง

  • โอเลี้ยงชาย0:03

    เสียงทุ้มสบาย ๆ เหมาะกับรายการชิล ๆ และวิทยุยามดึก

    ดึกแล้วนะครับ ชงกาแฟดำสักแก้ว แล้วฟังเพลงเบา ๆ ไปด้วยกันครับ

  • ขนมครกชาย0:03

    เสียงผู้ใหญ่ใจเย็น ไม่เร่งรีบ เสียงชายหลักของทั้งชุด เหมาะกับสารคดี เรื่องเล่าย้อนวัน และงานบรรยาย

    สมัยผมยังหนุ่ม แถวนี้ยังเป็นทุ่งนา เดินไปตลาดทีหนึ่งก็ค่อนวันแล้วครับ

  • นมเย็นหญิง0:06

    เสียงสดใสมีพลัง เสียงหญิงหลักของทั้งชุด เหมาะกับโปรโมต คลิปโซเชียล และเสียงพูดในผลิตภัณฑ์ทั่วไป

    ยินดีต้อนรับสู่ Paxa Labs ค่ะ เสียงภาษาไทยที่สลับเป็น English ได้กลางประโยค อย่างเป็นธรรมชาติ

  • ตะโก้หญิง0:05

    เสียงสาวเป็นกันเอง เหมาะกับหนังสือเสียง สรุปข่าว และคลิปอธิบาย

    ยามเช้าในกรุงเทพฯ แสงแดดอ่อน ๆ ทาบลงบนถนนที่เริ่มคึกคัก

เสียงบางส่วนจากทั้งหมด 26 เสียง สร้างจาก API ด้วยรหัสเสียงที่เปิดให้ใช้งานจริง ฟังครบทุกเสียงได้ที่หน้า Text-to-Speech

สองโฮสต์ คนละหนึ่งคำขอ

Paxa TTS Flash อ่านหนึ่งเสียงต่อหนึ่งคำขอ รายการสองโฮสต์จึงเป็นรหัสเสียงสองตัวสลับกันไปตามสคริปต์ และโฮสต์แต่ละคนฟังเหมือนเดิมทุกตอน โมเดลอ่านบทสนทนายาวตามที่เขียน รวมถึงคำลงท้ายประโยค และอ่านชื่อภาษาอังกฤษในประโยคไทยโดยไม่เปลี่ยนผู้พูด

คำถามที่พบบ่อย

ให้โฮสต์สองคนคุยกันในตอนเดียวได้ไหม
ได้ หนึ่งคำขอใช้หนึ่งเสียง สคริปต์สองโฮสต์จึงสลับรหัสเสียงสองตัว หนึ่งคำขอต่อหนึ่งรอบพูดหรือหลายรอบต่อเนื่อง แล้วนำช่วงมาต่อกันตามลำดับ โฮสต์แต่ละคนใช้รหัสเสียงเดิมทุกตอน
ตอนหนึ่งยาวได้แค่ไหน
หนึ่งคำขอรับได้ถึง 5,000 ตัวอักษร ตอนความยาว 20 นาทีจึงสร้างด้วย 3 คำขอ ตัวรายการไม่มีขีดจำกัดความยาว ส่วนขีดจำกัดอัตราต่อแพลนอยู่ในหน้าราคา
ทำแชปเตอร์และทรานสคริปต์ได้ไหม
ได้ ขอช่วงเวลาระดับประโยคหรือระดับคำในคำขอเดียวกัน ระบบจะส่งเสียงพร้อมเวลาของทุกช่วงกลับมา ด้วยตัวคูณที่ระบุไว้บนอัตราต่อตัวอักษร เลื่อนเวลาของแต่ละช่วงตามตำแหน่งที่ช่วงนั้นเริ่มในไฟล์ที่ต่อแล้ว ก็จะได้แชปเตอร์และทรานสคริปต์
อ่านชื่อและศัพท์ภาษาอังกฤษในประโยคไทยได้ไหม
ได้ ข้อความไทยปนอังกฤษในคำขอเดียวอ่านด้วยเสียงเดียว ชื่อสินค้า ชื่อแขกรับเชิญ และวลีภาษาอังกฤษในประโยคไทยจึงฟังเป็นโฮสต์คนเดิม
รายการที่ทำแบบนี้หารายได้ได้ไหม
หากใช้เครดิตฟรีเพียงอย่างเดียว เสียงที่สร้างใช้ได้เฉพาะส่วนตัวและเพื่อทดลอง เมื่อซื้อแพลนหรือเครดิตแล้ว เสียงนั้นเป็นของคุณสำหรับทุกการใช้งาน รวมถึงรายการที่มีสปอนเซอร์หรือโฆษณา และครอบคลุมตอนที่สร้างก่อนการซื้อครั้งแรกด้วย

เริ่มต้นด้วยเครดิตฟรี

เข้าสู่ระบบด้วย Google, GitHub หรือ Hugging Face แล้วใช้เครดิตฟรี 100 เครดิตกับข้อความของคุณเอง