กำหนดความต่างของการอ่านด้วย Temperature
temperature กำหนดว่าการอ่านของ Paxa TTS Flash v2 แต่ละคำขอจะต่างกันมากแค่ไหน ตั้งแต่ 0 ถึง 2 พร้อมรายละเอียดสิ่งที่เปลี่ยน เสียงที่ออกแบบเอง จุดที่อ่านค่านี้ และการคิดค่าบริการ
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.mp3import { writeFile } from "node:fs/promises";
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",
temperature: 0,
}),
});
if (!response.ok) throw new Error(`TTS failed: ${response.status}`);
await writeFile("speech.mp3", Buffer.from(await response.arrayBuffer()));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", "temperature": 0},
)
response.raise_for_status()
with open("speech.mp3", "wb") as f:
f.write(response.content)ค่าที่ใช้ได้#
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