Paxa Labs

กำหนดความต่างของการอ่านด้วย Temperature

temperature กำหนดว่าการอ่านของ Paxa TTS Flash v2 แต่ละคำขอจะต่างกันมากแค่ไหน ตั้งแต่ 0 ถึง 2 พร้อมรายละเอียดสิ่งที่เปลี่ยน เสียงที่ออกแบบเอง จุดที่อ่านค่านี้ และการคิดค่าบริการ

ดูเป็น Markdown

temperature เป็นฟิลด์ของ POST /v1/tts ที่กำหนดว่าการอ่านแต่ละคำขอจะต่างกันมากแค่ไหน ทั้งจังหวะ ช่วงหยุด การหายใจ และทำนองเสียง ค่าอยู่ระหว่าง 0 ถึง 2 ค่าเริ่มต้นคือ 0.5 และ Paxa TTS Flash v2 เป็นโมเดลที่อ่านค่านี้

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-v2",
    "temperature": 0
  }' \
  --output speech.mp3

ค่าที่ใช้ได้#

  • 0 ต่างกันน้อยที่สุด ข้อความเดิมในเสียงเดิมจะได้จังหวะและทำนองเสียงใกล้เคียงกันที่สุดในแต่ละคำขอ แต่ไม่รับประกันว่าสองคำขอจะตรงกัน
  • 0.5 คือค่าเริ่มต้น การไม่ส่งฟิลด์นี้กับการส่ง 0.5 ถือเป็นคำขอเดียวกัน
  • 2 ทำให้การอ่านต่างกันมากที่สุด
  • ค่าจะปัดเป็นช่วงละ 0.1 ที่ใกล้ที่สุด ค่านอกช่วง 0 ถึง 2 จะได้คำตอบ 400 validation

เสียงที่ออกแบบเอง#

บนเสียงที่ออกแบบเอง ค่าที่ต่ำลงทำให้เสียงนิ่งขึ้น และค่าที่สูงขึ้นทำให้ต่างกันมากขึ้น เหมือนเสียงอื่นทุกเสียง

โมเดล#

Paxa TTS Flash v2 (paxa-tts-flash-v2) อ่าน temperature ส่วนบน Paxa TTS Flash (paxa-tts-flash-v1) ค่าที่ปัดแล้วได้ 0.5 ใช้ได้ ส่วนค่าอื่นจะได้คำตอบ 400 validation พร้อม path เป็น body.temperature และ reason เป็น not_allowed ก่อนคิดค่าบริการ

จุดที่อ่านค่านี้#

  • POST /v1/tts
  • POST /v1/audio/speech ในฐานะส่วนขยายของ Paxa ที่เพิ่มจากรูปแบบ OpenAI ส่วนเอนด์พอยต์ถอดเสียงที่เข้ากันได้กับ OpenAI จะละเว้น temperature ของตัวเอง
  • เฟรม start ของ WS /v1/tts/live ซึ่งคงค่าไว้ตลอดการเชื่อมต่อ อีเวนต์ started จะส่งค่ากลับมาเมื่อค่าต่างจาก 0.5 เฟรม start ที่โมเดลไม่รับค่านี้จะได้อีเวนต์ error พร้อม validation และการเชื่อมต่อยังเปิดอยู่เพื่อรอเฟรม start ที่แก้แล้ว

การคิดค่าบริการและ Idempotency#

ค่าบริการเท่ากันทุกค่า temperature เมื่อส่ง Idempotency-Key ค่า temperature นับเป็นส่วนหนึ่งของคำขอ การลองใหม่ด้วยค่าอื่นจะได้คำตอบ 422 idempotency_mismatch และการไม่ส่งฟิลด์นี้ตรงกับค่า 0.5