{
  "aboutHtml": "<p>Qwen3-ASR-0.6B เป็นรุ่นกะทัดรัดของตระกูลรู้จำเสียงพูด Qwen3-ASR ของ Qwen โดยรับเสียงและให้ข้อความถอดเสียงพร้อมป้ายระบุภาษา ผู้พัฒนาวาง 0.6B ไว้ที่ความสมดุลระหว่างคุณภาพการรู้จำกับประสิทธิภาพ ส่วน 1.7B เป็นรุ่นใหญ่กว่าที่มีชื่อแยก ทั้งสองอาศัยความเข้าใจเสียงจาก Qwen3-Omni และใช้ขอบเขตการรู้จำตามเอกสารกับแนวทางออฟไลน์/สตรีมมิงแบบรวมร่วมกัน รุ่นกะทัดรัดสามารถเป็นขั้นตอนถอดเสียงในกระบวนการสำหรับบันทึกเสียง เตรียมคำบรรยาย หรือสร้างชุดเสียงบันทึกที่ค้นหาได้</p><h4>ภาษา ภาษาถิ่น และเสียงบันทึกที่รองรับ</h4><p>Qwen ระบุการรู้จำเสียงพูดและการระบุภาษาสำหรับ 30 ภาษาและ 22 ภาษาถิ่นจีน พร้อมรองรับสำเนียงอังกฤษจากภูมิภาคต่าง ๆ ตารางภาษาระบุจีน อังกฤษ กวางตุ้ง อาหรับ เยอรมัน ฝรั่งเศส สเปน โปรตุเกส อินโดนีเซีย อิตาลี เกาหลี รัสเซีย ไทย เวียดนาม ญี่ปุ่น ตุรกี ฮินดี มลายู ดัตช์ สวีเดน เดนมาร์ก ฟินแลนด์ โปแลนด์ เช็ก ฟิลิปปินส์ เปอร์เซีย กรีก ฮังการี มาซิโดเนีย และโรมาเนีย ประเภทเสียงที่รู้จำได้รวมเสียงพูด เสียงร้อง และเพลงที่มีดนตรีพื้นหลัง รุ่นเล็กยังคงขอบเขตร่วมของตระกูลนี้ ขนาดที่เล็กลงไม่ได้หมายถึงรายการภาษาที่รองรับต่างออกไป</p><h4>การรู้จำออฟไลน์และเตรียมข้อมูลขาเข้า</h4><p>ชุดเครื่องมือทางการรับเสียงผ่านข้อมูลอ้างอิงไฟล์ เสียงที่เข้ารหัส หรือรูปคลื่นพร้อมอัตราสุ่มตัวอย่างได้ รองรับการประมวลผลออฟไลน์หลายเสียงบันทึก การตรวจหาภาษาอัตโนมัติ และการกำหนดภาษาที่รองรับ ผลลัพธ์ตามเอกสารประกอบด้วยภาษาและข้อความที่รู้จำ เลือกภาษาที่พูดเมื่อทราบ หรือให้โมเดลตรวจหาเมื่อชุดเสียงมีภาษาที่ไม่ทราบ เก็บตัวระบุของแต่ละเสียงบันทึกไว้ข้างผลลัพธ์ เพื่อย้อนข้อความถอดเสียงกลับไปยังแหล่งที่มาที่ถูกต้องได้</p><p>สำหรับชุดบันทึกเสียง ให้เก็บผลลัพธ์แยกสำหรับแต่ละรายการ และตรวจชื่อ ตัวเลข และวลีที่ไม่ชัดกับเสียงบันทึกก่อนเปลี่ยนข้อความเป็นงานหรือบทสรุป สำหรับบทสอนที่พูด ให้ใช้ข้อความถอดเสียงค้นหาช่วงที่ต้องการและตรวจถ้อยคำของแต่ละคำสั่ง สำหรับเสียงร้อง ให้ฟังแนวร้องเมื่อตรวจเนื้อเพลง แทนที่จะยอมรับคำเพียงเพราะเข้ากับความหมายของเพลง ขั้นตอนเหล่านี้คือการเตรียมและตรวจชิ้นงานข้อความ การสรุป แปล หรือตีความข้อความถอดเสียงสามารถตามมาเป็นการดำเนินการแยก</p><h4>ข้อความสตรีมมิงและการจบเสียงบันทึก</h4><p>Qwen3-ASR ใช้โมเดลเดียวกันสำหรับการรู้จำออฟไลน์และสตรีมมิง ในตัวอย่างสตรีมมิงของผู้พัฒนา ชิ้นเสียงที่เข้ามาจะอัปเดตสถานะการรู้จำที่เก็บไว้ และขั้นตอนจบงานจะให้ข้อความสมบูรณ์กับภาษา วิธีนี้รองรับการแสดงผลเพิ่มทีละส่วนซึ่งมีประโยชน์สำหรับข้อความถอดเสียงที่กำลังดำเนินอยู่ ให้ถือว่าข้อความระหว่างทางเป็นสถานะการรู้จำปัจจุบัน และเก็บผลลัพธ์สุดท้ายเมื่อการบันทึกจบ พร้อมต้นฉบับเสียงสำหรับแก้ไข</p><p>การใช้งานสตรีมมิงที่ระบุในเอกสารไม่รองรับการอนุมานเป็นแบตช์หรือคืนเวลาประทับในกระบวนการสตรีมมิงนั้น ดังนั้นข้อความสตรีมมิง ชุดข้อความถอดเสียงออฟไลน์ และการเตรียมคำบรรยายพร้อมเวลา จึงเป็นกระบวนการของผู้พัฒนาที่แยกกัน ขนาดชิ้นเสียงและค่าตั้งโทเคนในตัวอย่างแสดงการใช้งานรูปแบบหนึ่ง ไม่ใช่คำรับรองสากลเรื่องความหน่วง จำนวนงานพร้อมกัน หรือความยาวเสียง เลือกกระบวนการตามว่าผลลัพธ์ที่ต้องการคือข้อความที่ทยอยมาระหว่างบันทึก ข้อความสมบูรณ์สำหรับเสียงหลายรายการ หรือข้อความที่จัดแนวกับเส้นเวลา</p><h4>ข้อความพร้อมเวลาใช้ Qwen3-ForcedAligner</h4><p>Qwen3-ForcedAligner-0.6B เป็นโมเดลจัดแนวแยก แม้จะใช้ป้ายขนาด 0.6B ร่วมกับ ASR รุ่นนี้ โดยรับคู่ข้อความ–เสียงและทำนายเวลาเริ่มกับสิ้นสุดในระดับคำหรืออักขระ ชุดเครื่องมือ ASR ออฟไลน์ของผู้พัฒนาสามารถเรียกใช้เมื่อขอเวลาประทับ กลุ่มภาษาที่ระบุคือจีน อังกฤษ กวางตุ้ง ฝรั่งเศส เยอรมัน อิตาลี ญี่ปุ่น เกาหลี โปรตุเกส รัสเซีย และสเปน โดยช่วงเสียงพูดที่จัดแนวได้ตามที่ระบุยาวสูงสุดห้านาที กลุ่มภาษาที่แคบกว่าและช่วงห้านาทีนี้เป็นของการจัดแนวแบบบังคับ ไม่ใช่ขอบเขตทั่วไปในการถอดเสียงของ ASR</p><p>สำหรับคำบรรยาย ให้เตรียมข้อความถอดเสียงที่ตรวจแล้วในภาษาของเสียงบันทึก จัดแนวในกรณีที่กระบวนการรองรับ และตรวจขอบเขตช่วงข้อความขณะเล่นต้นฉบับ ชิ้นงานคำบรรยายที่ใช้ได้จะเก็บถ้อยคำกับเวลาไว้ด้วยกัน หากคำในข้อความถอดเสียงผิด ให้แก้จากเสียงจริง แทนที่จะถือว่าช่วงเวลายืนยันความถูกต้องของคำได้ การแยกนี้ช่วยให้เห็นชัดว่าปัญหาอยู่ที่การรู้จำ ข้อความที่ให้มา หรือตำแหน่งขอบเขตคำบรรยาย</p><h4>ผลลัพธ์สำหรับเสียงยาวและการตรวจสอบการรู้จำ</h4><p>ตระกูล Qwen3-ASR รองรับเสียงบันทึกยาว ตัวอย่างการอนุมานแนะนำให้จัดสรรโทเคนที่สร้างได้มากขึ้นสำหรับเสียงที่ยาวขึ้น จึงควรตรวจว่าข้อความถอดเสียงถึงปลายเสียงบันทึกและไม่ได้ถูกตัดเพราะขนาดผลลัพธ์ที่อนุญาต ตัวอย่างที่เผยแพร่ไม่ได้กำหนดหน้าต่างบริบทเชิงตัวเลขหรือความยาวสูงสุดของเสียงบันทึก ASR ที่ใช้ได้เป็นสากล เก็บช่วงที่มีประโยชน์เชื่อมกับตำแหน่งในต้นฉบับเมื่อจัดเสียงบันทึกยาวสำหรับตรวจทาน ตรวจคำที่ถูกเสียงอื่นกลบ การสลับภาษา เสียงพูดซ้อน ชื่อที่ไม่คุ้นเคย และพยางค์ที่ร้องเทียบกับเสียงเดิม ผลลัพธ์ที่ใช้จริงคือข้อความที่รู้จำพร้อมป้ายระบุภาษา ซึ่งพร้อมค้นหาหรือใช้ในขั้นตอนเนื้อหาถัดไป โดยเพิ่มเวลาผ่านกระบวนการจัดแนวแยกเมื่อจำเป็น</p>",
  "aboutText": "Qwen3-ASR-0.6B เป็นรุ่นกะทัดรัดของตระกูลรู้จำเสียงพูด Qwen3-ASR ของ Qwen โดยรับเสียงและให้ข้อความถอดเสียงพร้อมป้ายระบุภาษา ผู้พัฒนาวาง 0.6B ไว้ที่ความสมดุลระหว่างคุณภาพการรู้จำกับประสิทธิภาพ ส่วน 1.7B เป็นรุ่นใหญ่กว่าที่มีชื่อแยก ทั้งสองอาศัยความเข้าใจเสียงจาก Qwen3-Omni และใช้ขอบเขตการรู้จำตามเอกสารกับแนวทางออฟไลน์/สตรีมมิงแบบรวมร่วมกัน รุ่นกะทัดรัดสามารถเป็นขั้นตอนถอดเสียงในกระบวนการสำหรับบันทึกเสียง เตรียมคำบรรยาย หรือสร้างชุดเสียงบันทึกที่ค้นหาได้\n\n### ภาษา ภาษาถิ่น และเสียงบันทึกที่รองรับ\n\nQwen ระบุการรู้จำเสียงพูดและการระบุภาษาสำหรับ 30 ภาษาและ 22 ภาษาถิ่นจีน พร้อมรองรับสำเนียงอังกฤษจากภูมิภาคต่าง ๆ ตารางภาษาระบุจีน อังกฤษ กวางตุ้ง อาหรับ เยอรมัน ฝรั่งเศส สเปน โปรตุเกส อินโดนีเซีย อิตาลี เกาหลี รัสเซีย ไทย เวียดนาม ญี่ปุ่น ตุรกี ฮินดี มลายู ดัตช์ สวีเดน เดนมาร์ก ฟินแลนด์ โปแลนด์ เช็ก ฟิลิปปินส์ เปอร์เซีย กรีก ฮังการี มาซิโดเนีย และโรมาเนีย ประเภทเสียงที่รู้จำได้รวมเสียงพูด เสียงร้อง และเพลงที่มีดนตรีพื้นหลัง รุ่นเล็กยังคงขอบเขตร่วมของตระกูลนี้ ขนาดที่เล็กลงไม่ได้หมายถึงรายการภาษาที่รองรับต่างออกไป\n\n### การรู้จำออฟไลน์และเตรียมข้อมูลขาเข้า\n\nชุดเครื่องมือทางการรับเสียงผ่านข้อมูลอ้างอิงไฟล์ เสียงที่เข้ารหัส หรือรูปคลื่นพร้อมอัตราสุ่มตัวอย่างได้ รองรับการประมวลผลออฟไลน์หลายเสียงบันทึก การตรวจหาภาษาอัตโนมัติ และการกำหนดภาษาที่รองรับ ผลลัพธ์ตามเอกสารประกอบด้วยภาษาและข้อความที่รู้จำ เลือกภาษาที่พูดเมื่อทราบ หรือให้โมเดลตรวจหาเมื่อชุดเสียงมีภาษาที่ไม่ทราบ เก็บตัวระบุของแต่ละเสียงบันทึกไว้ข้างผลลัพธ์ เพื่อย้อนข้อความถอดเสียงกลับไปยังแหล่งที่มาที่ถูกต้องได้\n\nสำหรับชุดบันทึกเสียง ให้เก็บผลลัพธ์แยกสำหรับแต่ละรายการ และตรวจชื่อ ตัวเลข และวลีที่ไม่ชัดกับเสียงบันทึกก่อนเปลี่ยนข้อความเป็นงานหรือบทสรุป สำหรับบทสอนที่พูด ให้ใช้ข้อความถอดเสียงค้นหาช่วงที่ต้องการและตรวจถ้อยคำของแต่ละคำสั่ง สำหรับเสียงร้อง ให้ฟังแนวร้องเมื่อตรวจเนื้อเพลง แทนที่จะยอมรับคำเพียงเพราะเข้ากับความหมายของเพลง ขั้นตอนเหล่านี้คือการเตรียมและตรวจชิ้นงานข้อความ การสรุป แปล หรือตีความข้อความถอดเสียงสามารถตามมาเป็นการดำเนินการแยก\n\n### ข้อความสตรีมมิงและการจบเสียงบันทึก\n\nQwen3-ASR ใช้โมเดลเดียวกันสำหรับการรู้จำออฟไลน์และสตรีมมิง ในตัวอย่างสตรีมมิงของผู้พัฒนา ชิ้นเสียงที่เข้ามาจะอัปเดตสถานะการรู้จำที่เก็บไว้ และขั้นตอนจบงานจะให้ข้อความสมบูรณ์กับภาษา วิธีนี้รองรับการแสดงผลเพิ่มทีละส่วนซึ่งมีประโยชน์สำหรับข้อความถอดเสียงที่กำลังดำเนินอยู่ ให้ถือว่าข้อความระหว่างทางเป็นสถานะการรู้จำปัจจุบัน และเก็บผลลัพธ์สุดท้ายเมื่อการบันทึกจบ พร้อมต้นฉบับเสียงสำหรับแก้ไข\n\nการใช้งานสตรีมมิงที่ระบุในเอกสารไม่รองรับการอนุมานเป็นแบตช์หรือคืนเวลาประทับในกระบวนการสตรีมมิงนั้น ดังนั้นข้อความสตรีมมิง ชุดข้อความถอดเสียงออฟไลน์ และการเตรียมคำบรรยายพร้อมเวลา จึงเป็นกระบวนการของผู้พัฒนาที่แยกกัน ขนาดชิ้นเสียงและค่าตั้งโทเคนในตัวอย่างแสดงการใช้งานรูปแบบหนึ่ง ไม่ใช่คำรับรองสากลเรื่องความหน่วง จำนวนงานพร้อมกัน หรือความยาวเสียง เลือกกระบวนการตามว่าผลลัพธ์ที่ต้องการคือข้อความที่ทยอยมาระหว่างบันทึก ข้อความสมบูรณ์สำหรับเสียงหลายรายการ หรือข้อความที่จัดแนวกับเส้นเวลา\n\n### ข้อความพร้อมเวลาใช้ Qwen3-ForcedAligner\n\nQwen3-ForcedAligner-0.6B เป็นโมเดลจัดแนวแยก แม้จะใช้ป้ายขนาด 0.6B ร่วมกับ ASR รุ่นนี้ โดยรับคู่ข้อความ–เสียงและทำนายเวลาเริ่มกับสิ้นสุดในระดับคำหรืออักขระ ชุดเครื่องมือ ASR ออฟไลน์ของผู้พัฒนาสามารถเรียกใช้เมื่อขอเวลาประทับ กลุ่มภาษาที่ระบุคือจีน อังกฤษ กวางตุ้ง ฝรั่งเศส เยอรมัน อิตาลี ญี่ปุ่น เกาหลี โปรตุเกส รัสเซีย และสเปน โดยช่วงเสียงพูดที่จัดแนวได้ตามที่ระบุยาวสูงสุดห้านาที กลุ่มภาษาที่แคบกว่าและช่วงห้านาทีนี้เป็นของการจัดแนวแบบบังคับ ไม่ใช่ขอบเขตทั่วไปในการถอดเสียงของ ASR\n\nสำหรับคำบรรยาย ให้เตรียมข้อความถอดเสียงที่ตรวจแล้วในภาษาของเสียงบันทึก จัดแนวในกรณีที่กระบวนการรองรับ และตรวจขอบเขตช่วงข้อความขณะเล่นต้นฉบับ ชิ้นงานคำบรรยายที่ใช้ได้จะเก็บถ้อยคำกับเวลาไว้ด้วยกัน หากคำในข้อความถอดเสียงผิด ให้แก้จากเสียงจริง แทนที่จะถือว่าช่วงเวลายืนยันความถูกต้องของคำได้ การแยกนี้ช่วยให้เห็นชัดว่าปัญหาอยู่ที่การรู้จำ ข้อความที่ให้มา หรือตำแหน่งขอบเขตคำบรรยาย\n\n### ผลลัพธ์สำหรับเสียงยาวและการตรวจสอบการรู้จำ\n\nตระกูล Qwen3-ASR รองรับเสียงบันทึกยาว ตัวอย่างการอนุมานแนะนำให้จัดสรรโทเคนที่สร้างได้มากขึ้นสำหรับเสียงที่ยาวขึ้น จึงควรตรวจว่าข้อความถอดเสียงถึงปลายเสียงบันทึกและไม่ได้ถูกตัดเพราะขนาดผลลัพธ์ที่อนุญาต ตัวอย่างที่เผยแพร่ไม่ได้กำหนดหน้าต่างบริบทเชิงตัวเลขหรือความยาวสูงสุดของเสียงบันทึก ASR ที่ใช้ได้เป็นสากล เก็บช่วงที่มีประโยชน์เชื่อมกับตำแหน่งในต้นฉบับเมื่อจัดเสียงบันทึกยาวสำหรับตรวจทาน ตรวจคำที่ถูกเสียงอื่นกลบ การสลับภาษา เสียงพูดซ้อน ชื่อที่ไม่คุ้นเคย และพยางค์ที่ร้องเทียบกับเสียงเดิม ผลลัพธ์ที่ใช้จริงคือข้อความที่รู้จำพร้อมป้ายระบุภาษา ซึ่งพร้อมค้นหาหรือใช้ในขั้นตอนเนื้อหาถัดไป โดยเพิ่มเวลาผ่านกระบวนการจัดแนวแยกเมื่อจำเป็น",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a32822a9bc34591e8fea41935890ebbd9727183dbe505d54a1a46a1cc80bf4e7",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "th",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">Al</span><h2 id=\"sheet-title\">Qwen: Qwen3 ASR 0.6B</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"ปิด\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>qwen/qwen3-asr-0.6b</code><button type=\"button\" id=\"copy-id\">คัดลอก ID</button></div><nav class=\"card-jump-nav\" aria-label=\"ส่วนต่าง ๆ ของการ์ดโมเดล\"><button type=\"button\" data-card-jump=\"overview\">เริ่มต้น</button><button type=\"button\" data-card-jump=\"methods\">อินพุตและเมธอด</button><button type=\"button\" data-card-jump=\"pricing\">ราคา</button><button type=\"button\" data-card-jump=\"examples\">ตัวอย่าง</button><button type=\"button\" data-card-jump=\"results\">ผลลัพธ์</button><button type=\"button\" data-card-jump=\"aliases\">ชื่ออื่น</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"เมธอด API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|qwen%2Fqwen3-asr-0.6b\">การรู้จำ</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">เริ่มต้น</h3><p class=\"mdesc-full\">Qwen3-ASR-0.6B เป็นโมเดลรู้จำเสียงพูดขนาดกะทัดรัดของ Qwen สำหรับแปลงเสียงพูดหรือเสียงร้องเป็นข้อความพร้อมระบุภาษา โดยครอบคลุม 30 ภาษาและ 22 ภาษาถิ่นร่วมกับตระกูล มีทั้งกระบวนการออฟไลน์และสตรีมมิง และใช้การจัดแนวแบบบังคับแยกต่างหากสำหรับข้อความพร้อมเวลา</p><dl class=\"card-io\" data-card-io><div><dt>อินพุตที่รองรับ</dt><dd>เสียง</dd></div><div><dt>ผลลัพธ์</dt><dd>ข้อความ</dd></div></dl><details class=\"card-about\"><summary>เกี่ยวกับโมเดล</summary><p class=\"note-s\" data-model-method-boundary>คำอธิบายนี้ครอบคลุมความสามารถของโมเดล อินพุต เอาต์พุต และตัวเลือกที่ใช้ได้ใน Ailoot แสดงด้านล่างตามเมธอดที่เลือก</p><div class=\"mabout\" id=\"m-about\"><p>Qwen3-ASR-0.6B เป็นรุ่นกะทัดรัดของตระกูลรู้จำเสียงพูด Qwen3-ASR ของ Qwen โดยรับเสียงและให้ข้อความถอดเสียงพร้อมป้ายระบุภาษา ผู้พัฒนาวาง 0.6B ไว้ที่ความสมดุลระหว่างคุณภาพการรู้จำกับประสิทธิภาพ ส่วน 1.7B เป็นรุ่นใหญ่กว่าที่มีชื่อแยก ทั้งสองอาศัยความเข้าใจเสียงจาก Qwen3-Omni และใช้ขอบเขตการรู้จำตามเอกสารกับแนวทางออฟไลน์/สตรีมมิงแบบรวมร่วมกัน รุ่นกะทัดรัดสามารถเป็นขั้นตอนถอดเสียงในกระบวนการสำหรับบันทึกเสียง เตรียมคำบรรยาย หรือสร้างชุดเสียงบันทึกที่ค้นหาได้</p><h4>ภาษา ภาษาถิ่น และเสียงบันทึกที่รองรับ</h4><p>Qwen ระบุการรู้จำเสียงพูดและการระบุภาษาสำหรับ 30 ภาษาและ 22 ภาษาถิ่นจีน พร้อมรองรับสำเนียงอังกฤษจากภูมิภาคต่าง ๆ ตารางภาษาระบุจีน อังกฤษ กวางตุ้ง อาหรับ เยอรมัน ฝรั่งเศส สเปน โปรตุเกส อินโดนีเซีย อิตาลี เกาหลี รัสเซีย ไทย เวียดนาม ญี่ปุ่น ตุรกี ฮินดี มลายู ดัตช์ สวีเดน เดนมาร์ก ฟินแลนด์ โปแลนด์ เช็ก ฟิลิปปินส์ เปอร์เซีย กรีก ฮังการี มาซิโดเนีย และโรมาเนีย ประเภทเสียงที่รู้จำได้รวมเสียงพูด เสียงร้อง และเพลงที่มีดนตรีพื้นหลัง รุ่นเล็กยังคงขอบเขตร่วมของตระกูลนี้ ขนาดที่เล็กลงไม่ได้หมายถึงรายการภาษาที่รองรับต่างออกไป</p><h4>การรู้จำออฟไลน์และเตรียมข้อมูลขาเข้า</h4><p>ชุดเครื่องมือทางการรับเสียงผ่านข้อมูลอ้างอิงไฟล์ เสียงที่เข้ารหัส หรือรูปคลื่นพร้อมอัตราสุ่มตัวอย่างได้ รองรับการประมวลผลออฟไลน์หลายเสียงบันทึก การตรวจหาภาษาอัตโนมัติ และการกำหนดภาษาที่รองรับ ผลลัพธ์ตามเอกสารประกอบด้วยภาษาและข้อความที่รู้จำ เลือกภาษาที่พูดเมื่อทราบ หรือให้โมเดลตรวจหาเมื่อชุดเสียงมีภาษาที่ไม่ทราบ เก็บตัวระบุของแต่ละเสียงบันทึกไว้ข้างผลลัพธ์ เพื่อย้อนข้อความถอดเสียงกลับไปยังแหล่งที่มาที่ถูกต้องได้</p><p>สำหรับชุดบันทึกเสียง ให้เก็บผลลัพธ์แยกสำหรับแต่ละรายการ และตรวจชื่อ ตัวเลข และวลีที่ไม่ชัดกับเสียงบันทึกก่อนเปลี่ยนข้อความเป็นงานหรือบทสรุป สำหรับบทสอนที่พูด ให้ใช้ข้อความถอดเสียงค้นหาช่วงที่ต้องการและตรวจถ้อยคำของแต่ละคำสั่ง สำหรับเสียงร้อง ให้ฟังแนวร้องเมื่อตรวจเนื้อเพลง แทนที่จะยอมรับคำเพียงเพราะเข้ากับความหมายของเพลง ขั้นตอนเหล่านี้คือการเตรียมและตรวจชิ้นงานข้อความ การสรุป แปล หรือตีความข้อความถอดเสียงสามารถตามมาเป็นการดำเนินการแยก</p><h4>ข้อความสตรีมมิงและการจบเสียงบันทึก</h4><p>Qwen3-ASR ใช้โมเดลเดียวกันสำหรับการรู้จำออฟไลน์และสตรีมมิง ในตัวอย่างสตรีมมิงของผู้พัฒนา ชิ้นเสียงที่เข้ามาจะอัปเดตสถานะการรู้จำที่เก็บไว้ และขั้นตอนจบงานจะให้ข้อความสมบูรณ์กับภาษา วิธีนี้รองรับการแสดงผลเพิ่มทีละส่วนซึ่งมีประโยชน์สำหรับข้อความถอดเสียงที่กำลังดำเนินอยู่ ให้ถือว่าข้อความระหว่างทางเป็นสถานะการรู้จำปัจจุบัน และเก็บผลลัพธ์สุดท้ายเมื่อการบันทึกจบ พร้อมต้นฉบับเสียงสำหรับแก้ไข</p><p>การใช้งานสตรีมมิงที่ระบุในเอกสารไม่รองรับการอนุมานเป็นแบตช์หรือคืนเวลาประทับในกระบวนการสตรีมมิงนั้น ดังนั้นข้อความสตรีมมิง ชุดข้อความถอดเสียงออฟไลน์ และการเตรียมคำบรรยายพร้อมเวลา จึงเป็นกระบวนการของผู้พัฒนาที่แยกกัน ขนาดชิ้นเสียงและค่าตั้งโทเคนในตัวอย่างแสดงการใช้งานรูปแบบหนึ่ง ไม่ใช่คำรับรองสากลเรื่องความหน่วง จำนวนงานพร้อมกัน หรือความยาวเสียง เลือกกระบวนการตามว่าผลลัพธ์ที่ต้องการคือข้อความที่ทยอยมาระหว่างบันทึก ข้อความสมบูรณ์สำหรับเสียงหลายรายการ หรือข้อความที่จัดแนวกับเส้นเวลา</p><h4>ข้อความพร้อมเวลาใช้ Qwen3-ForcedAligner</h4><p>Qwen3-ForcedAligner-0.6B เป็นโมเดลจัดแนวแยก แม้จะใช้ป้ายขนาด 0.6B ร่วมกับ ASR รุ่นนี้ โดยรับคู่ข้อความ–เสียงและทำนายเวลาเริ่มกับสิ้นสุดในระดับคำหรืออักขระ ชุดเครื่องมือ ASR ออฟไลน์ของผู้พัฒนาสามารถเรียกใช้เมื่อขอเวลาประทับ กลุ่มภาษาที่ระบุคือจีน อังกฤษ กวางตุ้ง ฝรั่งเศส เยอรมัน อิตาลี ญี่ปุ่น เกาหลี โปรตุเกส รัสเซีย และสเปน โดยช่วงเสียงพูดที่จัดแนวได้ตามที่ระบุยาวสูงสุดห้านาที กลุ่มภาษาที่แคบกว่าและช่วงห้านาทีนี้เป็นของการจัดแนวแบบบังคับ ไม่ใช่ขอบเขตทั่วไปในการถอดเสียงของ ASR</p><p>สำหรับคำบรรยาย ให้เตรียมข้อความถอดเสียงที่ตรวจแล้วในภาษาของเสียงบันทึก จัดแนวในกรณีที่กระบวนการรองรับ และตรวจขอบเขตช่วงข้อความขณะเล่นต้นฉบับ ชิ้นงานคำบรรยายที่ใช้ได้จะเก็บถ้อยคำกับเวลาไว้ด้วยกัน หากคำในข้อความถอดเสียงผิด ให้แก้จากเสียงจริง แทนที่จะถือว่าช่วงเวลายืนยันความถูกต้องของคำได้ การแยกนี้ช่วยให้เห็นชัดว่าปัญหาอยู่ที่การรู้จำ ข้อความที่ให้มา หรือตำแหน่งขอบเขตคำบรรยาย</p><h4>ผลลัพธ์สำหรับเสียงยาวและการตรวจสอบการรู้จำ</h4><p>ตระกูล Qwen3-ASR รองรับเสียงบันทึกยาว ตัวอย่างการอนุมานแนะนำให้จัดสรรโทเคนที่สร้างได้มากขึ้นสำหรับเสียงที่ยาวขึ้น จึงควรตรวจว่าข้อความถอดเสียงถึงปลายเสียงบันทึกและไม่ได้ถูกตัดเพราะขนาดผลลัพธ์ที่อนุญาต ตัวอย่างที่เผยแพร่ไม่ได้กำหนดหน้าต่างบริบทเชิงตัวเลขหรือความยาวสูงสุดของเสียงบันทึก ASR ที่ใช้ได้เป็นสากล เก็บช่วงที่มีประโยชน์เชื่อมกับตำแหน่งในต้นฉบับเมื่อจัดเสียงบันทึกยาวสำหรับตรวจทาน ตรวจคำที่ถูกเสียงอื่นกลบ การสลับภาษา เสียงพูดซ้อน ชื่อที่ไม่คุ้นเคย และพยางค์ที่ร้องเทียบกับเสียงเดิม ผลลัพธ์ที่ใช้จริงคือข้อความที่รู้จำพร้อมป้ายระบุภาษา ซึ่งพร้อมค้นหาหรือใช้ในขั้นตอนเนื้อหาถัดไป โดยเพิ่มเวลาผ่านกระบวนการจัดแนวแยกเมื่อจำเป็น</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">ใช้งานได้ใน Ailoot · อินพุตและเมธอด</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · การถอดเสียง</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>ขาเข้า</dt><dd><code>audio</code></dd></div><div><dt>ขาออก</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>ฟิลด์</th><th>ประเภท</th><th>ข้อกำหนด</th><th>ค่าและข้อจำกัด</th><th>ค่าเริ่มต้น</th></tr></thead><tbody><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>string</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>จำเป็น</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span><div>qwen/qwen3-asr-0.6b</div></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"unspecified\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>—</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>object</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>จำเป็น</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"unspecified\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>—</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">language</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>string</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>ไม่บังคับ</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"unspecified\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>—</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>number</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>ไม่บังคับ</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span><div>ขั้นต่ำ: 0</div><div>สูงสุด: 1</div></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"unspecified\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>—</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>string</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>ไม่บังคับ</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span><div>json, verbose_json</div></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"known\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>json</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">timestamp_granularities</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>array</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>ไม่บังคับ</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"unspecified\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>—</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>object</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>ไม่บังคับ</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"unspecified\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>พารามิเตอร์และวงจรการทำงานของเมธอด</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>พารามิเตอร์</th><th>ข้อกำหนด</th></tr></thead><tbody><tr><th data-cell-label=\"พารามิเตอร์\" scope=\"row\"><span class=\"card-cell-label\">พารามิเตอร์</span><code>content_type</code></th><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>application/json</td></tr><tr><th data-cell-label=\"พารามิเตอร์\" scope=\"row\"><span class=\"card-cell-label\">พารามิเตอร์</span><code>required</code></th><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>model, input_audio</td></tr><tr><th data-cell-label=\"พารามิเตอร์\" scope=\"row\"><span class=\"card-cell-label\">พารามิเตอร์</span><code>material_types</code></th><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>audio</td></tr><tr><th data-cell-label=\"พารามิเตอร์\" scope=\"row\"><span class=\"card-cell-label\">พารามิเตอร์</span><code>material_conditions</code></th><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>อ่านไฟล์ WAV จริงและเข้ารหัสไบต์จริงสำหรับ input_audio แบบ JSON ที่ประกาศไว้ ข้อกำหนดที่รองรับเฉพาะ JSON นี้ไม่ได้ระบุเส้นทาง multipart</td></tr></tbody></table></div><p>วงจรการทำงาน: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · ค่า task_id ที่ส่งกลับมาจริง หรือระเบียนในคลังสื่อ</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">ราคา</h3><div class=\"card-result-process\" data-billing-basis><h5>วิธีคำนวณค่าบริการสุดท้าย</h5><p class=\"note-s\">อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก</p><dl data-price-conditions><dt>โหมดรวดเร็ว</dt><dd>ไม่ได้ระบุ <span class=\"note-s\">เมื่อเลือกโหมดรวดเร็ว</span></dd><dt>โหมดยืดหยุ่น</dt><dd>ไม่ได้ระบุ <span class=\"note-s\">เมื่อเลือกโหมด flex</span></dd><dt>ระดับการใช้เหตุผลสูงสุด</dt><dd>ไม่ได้ระบุ <span class=\"note-s\">เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด</span></dd></dl></div><div data-declared-tariff-pricing><h4>อัตราประมาณการเพื่อเปรียบเทียบ</h4><h4>ราคาตามการตั้งค่า</h4><p class=\"note-s\">เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>การตั้งค่า</th><th>ตารางอัตราค่าบริการ</th><th>ปริมาณคาดการณ์</th><th>หน่วยคิดค่าบริการ</th><th>ค่าบริการ</th></tr></thead><tbody><tr><th data-cell-label=\"การตั้งค่า\" scope=\"row\"><span class=\"card-cell-label\">การตั้งค่า</span>อัตราค่าบริการโทเคนพื้นฐาน</th><td data-cell-label=\"ตารางอัตราค่าบริการ\"><span class=\"card-cell-label\">ตารางอัตราค่าบริการ</span>อัตราพื้นฐาน</td><td data-cell-label=\"ปริมาณคาดการณ์\"><span class=\"card-cell-label\">ปริมาณคาดการณ์</span>—</td><td data-cell-label=\"หน่วยคิดค่าบริการ\"><span class=\"card-cell-label\">หน่วยคิดค่าบริการ</span>—</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาเข้า · โทเค็นอินพุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาออก · โทเค็นเอาต์พุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาเข้า · การอ่านแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาเข้า · การเขียนแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาเข้า · การเขียนแคช, 1 ชั่วโมง · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div></td></tr><tr><th data-cell-label=\"การตั้งค่า\" scope=\"row\"><span class=\"card-cell-label\">การตั้งค่า</span>วินาทีเสียงขาเข้า</th><td data-cell-label=\"ตารางอัตราค่าบริการ\"><span class=\"card-cell-label\">ตารางอัตราค่าบริการ</span>—</td><td data-cell-label=\"ปริมาณคาดการณ์\"><span class=\"card-cell-label\">ปริมาณคาดการณ์</span>—</td><td data-cell-label=\"หน่วยคิดค่าบริการ\"><span class=\"card-cell-label\">หน่วยคิดค่าบริการ</span>ต่อวินาทีของเสียงอินพุต</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาเข้า · วินาทีเสียงขาเข้า · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>$0.00000666</b> <span class=\"price-unit\">ต่อวินาทีของเสียงอินพุต</span></div></td></tr><tr><th data-cell-label=\"การตั้งค่า\" scope=\"row\"><span class=\"card-cell-label\">การตั้งค่า</span>ต้นทุนการสร้างโดยประมาณ</th><td data-cell-label=\"ตารางอัตราค่าบริการ\"><span class=\"card-cell-label\">ตารางอัตราค่าบริการ</span>—</td><td data-cell-label=\"ปริมาณคาดการณ์\"><span class=\"card-cell-label\">ปริมาณคาดการณ์</span>ค่าประมาณสำหรับการสร้างหนึ่งครั้ง</td><td data-cell-label=\"หน่วยคิดค่าบริการ\"><span class=\"card-cell-label\">หน่วยคิดค่าบริการ</span>—</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>$0.00000666</b> <span class=\"price-unit\">ประมาณการก่อนสร้าง</span></div><p class=\"note-s\">ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย <a href=\"/docs/th/billing/reserve/\">วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">ตัวอย่างคำขอ</h3><h4>Ailoot Ultra · การถอดเสียง</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"ตัวเลือกโค้ด\"><button class=\"cg-tab\" id=\"model-code-2388-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2388-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · เนื้อหาคำขอแบบเนทีฟที่ตรงตามต้นฉบับและผลลัพธ์ที่ครบถ้วน</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"คัดลอกโค้ด\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2388-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2388-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4]==b&#39;RIFF&#39; and audio[8:12]==b&#39;WAVE&#39;): raise SystemExit(&#39;Supply an actual WAV audio file&#39;)\nif len(audio)&gt;26214400: raise SystemExit(&#39;Use a documented supported large-file flow&#39;)\nrequest={&#39;model&#39;: &#39;qwen/qwen3-asr-0.6b&#39;, &#39;input_audio&#39;: {&#39;data&#39;: &#39;${BASE64_ACTUAL_WAV_BYTES}&#39;, &#39;format&#39;: &#39;wav&#39;}}\nrequest[&#39;input_audio&#39;][&#39;data&#39;]=base64.b64encode(audio).decode(&#39;ascii&#39;)\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">รับและบันทึกผลลัพธ์</h3><h4>Ailoot Ultra · การถอดเสียง</h4><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>การอ่านเนื้อหาแบบอื่น</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"ตัวเลือกโค้ด\"><button class=\"cg-tab\" id=\"model-code-2389-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2389-panel-0\" aria-selected=\"true\" tabindex=\"0\">อ่านไฟล์สื่อที่มีอยู่และเป็นของคุณ</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"คัดลอกโค้ด\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2389-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2389-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>เก็บผลลัพธ์ที่เสร็จสมบูรณ์ทั้งหมด</h5><p class=\"note-s\">เก็บทุกการตอบกลับ ไฟล์ และส่วนเนื้อหาที่ส่งกลับมาอย่างครบถ้วน</p><p class=\"note-s\">เก็บการตอบกลับและส่วนหัวให้ครบถ้วน เก็บผลลัพธ์จริงทุกรายการ ตัวระบุที่ส่งกลับมาแต่เดิม และฟิลด์ข้อมูลการใช้งานทั้งหมด กู้คืนการดำเนินการเดิมโดยไม่ส่งคำขอสร้างซ้ำ</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>เมื่อต้องตรวจสอบการตอบกลับต้นฉบับ</h5><p class=\"note-s\">เก็บ X-Client-Request-ID ที่ส่งกลับมาไว้เพื่อกระทบยอด อ่านเฉพาะค่า task_id/asset_id ที่ส่งกลับมาจริง หรืออ่านจากคลังสื่อที่เป็นของตนเอง ห้ามสร้าง URL ของงานจาก ID การดำเนินการ และห้ามส่งคำขอสร้างซ้ำเด็ดขาด</p></div><details class=\"card-about\" data-output-fields><summary>ฟิลด์การตอบกลับ</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>ฟิลด์</th><th>ประเภท</th></tr></thead><tbody><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span></td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span></td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span></td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">words[]</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span></td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">speaker fields</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span></td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">timestamps</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">ชื่ออื่น</h3><h4>ชื่ออื่นของโมเดล</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=qwen%2Fqwen3-asr-0.6b&amp;route=Ultra&amp;caller=qwen%2Fqwen3-asr-0.6b&amp;fmt=transcriptions\"><code>qwen/qwen3-asr-0.6b</code></a></span></p><h4>ชื่อพาธเมธอดอื่น</h4><p class=\"note-s\">ใช้พาธเมธอดที่แสดงด้านบน</p><h4>ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล</h4><p class=\"note-s\"><a href=\"#m=qwen%2Fqwen3-asr-0.6b&amp;route=Ultra&amp;caller=qwen%2Fqwen3-asr-0.6b&amp;fmt=transcriptions\"><code>qwen/qwen3-asr-0.6b</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "qwen/qwen3-asr-0.6b",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "qwen/qwen3-asr-0.6b",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|qwen%2Fqwen3-asr-0.6b",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "เก็บ X-Client-Request-ID ที่ส่งกลับมาไว้เพื่อกระทบยอด อ่านเฉพาะค่า task_id/asset_id ที่ส่งกลับมาจริง หรืออ่านจากคลังสื่อที่เป็นของตนเอง ห้ามสร้าง URL ของงานจาก ID การดำเนินการ และห้ามส่งคำขอสร้างซ้ำเด็ดขาด"
            },
            "outputs": {
              "all_results": "เก็บการตอบกลับและส่วนหัวให้ครบถ้วน เก็บผลลัพธ์จริงทุกรายการ ตัวระบุที่ส่งกลับมาแต่เดิม และฟิลด์ข้อมูลการใช้งานทั้งหมด กู้คืนการดำเนินการเดิมโดยไม่ส่งคำขอสร้างซ้ำ",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "qwen/qwen3-asr-0.6b"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "qwen/qwen3-asr-0.6b"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "qwen/qwen3-asr-0.6b"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "อ่านไฟล์ WAV จริงและเข้ารหัสไบต์จริงสำหรับ input_audio แบบ JSON ที่ประกาศไว้ ข้อกำหนดที่รองรับเฉพาะ JSON นี้ไม่ได้ระบุเส้นทาง multipart"
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "ค่า task_id ที่ส่งกลับมาจริง หรือระเบียนในคลังสื่อ",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "ต้นทุนการสร้างโดยประมาณ",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'qwen/qwen3-asr-0.6b', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "การถอดเสียง",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "qwen/qwen3-asr-0.6b",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "qwen/qwen3-asr-0.6b",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f426db8fe0734479f7db4cb9d3a2fa78fbb746324a59b2e7b99d59cee85ca013",
    "input_html_sha256": "c5add361dc4920f118da2e3a92f1be59375744972cb7d9760dec5ef74c17e15f",
    "private_audit_sha256": "eb2fabc412febcdb4a88f1ca286df7bf249396881b69cc15c89f40ffec173db5",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/th/qwen-qwen3-asr-0-6b/",
    "description": "Qwen3-ASR-0.6B เป็นโมเดลรู้จำเสียงพูดขนาดกะทัดรัดของ Qwen สำหรับแปลงเสียงพูดหรือเสียงร้องเป็นข้อความพร้อมระบุภาษา โดยครอบคลุม 30 ภาษาและ 22 ภาษาถิ่นร่วมกับตระกูล มีทั้งกระบวนการออฟไลน์และสตรีมมิง และใช้การจัดแนวแบบบังคับแยกต่างหากสำหรับข้อความพร้อมเวลา",
    "locale": "th",
    "md_url": "https://ailoot.ai/models/th/qwen-qwen3-asr-0-6b/index.md",
    "title": "Qwen: Qwen3 ASR 0.6B — Ailoot",
    "url": "https://ailoot.ai/models/th/qwen-qwen3-asr-0-6b/"
  },
  "rawModel": {
    "about": "Qwen3-ASR-0.6B เป็นรุ่นกะทัดรัดของตระกูลรู้จำเสียงพูด Qwen3-ASR ของ Qwen โดยรับเสียงและให้ข้อความถอดเสียงพร้อมป้ายระบุภาษา ผู้พัฒนาวาง 0.6B ไว้ที่ความสมดุลระหว่างคุณภาพการรู้จำกับประสิทธิภาพ ส่วน 1.7B เป็นรุ่นใหญ่กว่าที่มีชื่อแยก ทั้งสองอาศัยความเข้าใจเสียงจาก Qwen3-Omni และใช้ขอบเขตการรู้จำตามเอกสารกับแนวทางออฟไลน์/สตรีมมิงแบบรวมร่วมกัน รุ่นกะทัดรัดสามารถเป็นขั้นตอนถอดเสียงในกระบวนการสำหรับบันทึกเสียง เตรียมคำบรรยาย หรือสร้างชุดเสียงบันทึกที่ค้นหาได้\n\n### ภาษา ภาษาถิ่น และเสียงบันทึกที่รองรับ\n\nQwen ระบุการรู้จำเสียงพูดและการระบุภาษาสำหรับ 30 ภาษาและ 22 ภาษาถิ่นจีน พร้อมรองรับสำเนียงอังกฤษจากภูมิภาคต่าง ๆ ตารางภาษาระบุจีน อังกฤษ กวางตุ้ง อาหรับ เยอรมัน ฝรั่งเศส สเปน โปรตุเกส อินโดนีเซีย อิตาลี เกาหลี รัสเซีย ไทย เวียดนาม ญี่ปุ่น ตุรกี ฮินดี มลายู ดัตช์ สวีเดน เดนมาร์ก ฟินแลนด์ โปแลนด์ เช็ก ฟิลิปปินส์ เปอร์เซีย กรีก ฮังการี มาซิโดเนีย และโรมาเนีย ประเภทเสียงที่รู้จำได้รวมเสียงพูด เสียงร้อง และเพลงที่มีดนตรีพื้นหลัง รุ่นเล็กยังคงขอบเขตร่วมของตระกูลนี้ ขนาดที่เล็กลงไม่ได้หมายถึงรายการภาษาที่รองรับต่างออกไป\n\n### การรู้จำออฟไลน์และเตรียมข้อมูลขาเข้า\n\nชุดเครื่องมือทางการรับเสียงผ่านข้อมูลอ้างอิงไฟล์ เสียงที่เข้ารหัส หรือรูปคลื่นพร้อมอัตราสุ่มตัวอย่างได้ รองรับการประมวลผลออฟไลน์หลายเสียงบันทึก การตรวจหาภาษาอัตโนมัติ และการกำหนดภาษาที่รองรับ ผลลัพธ์ตามเอกสารประกอบด้วยภาษาและข้อความที่รู้จำ เลือกภาษาที่พูดเมื่อทราบ หรือให้โมเดลตรวจหาเมื่อชุดเสียงมีภาษาที่ไม่ทราบ เก็บตัวระบุของแต่ละเสียงบันทึกไว้ข้างผลลัพธ์ เพื่อย้อนข้อความถอดเสียงกลับไปยังแหล่งที่มาที่ถูกต้องได้\n\nสำหรับชุดบันทึกเสียง ให้เก็บผลลัพธ์แยกสำหรับแต่ละรายการ และตรวจชื่อ ตัวเลข และวลีที่ไม่ชัดกับเสียงบันทึกก่อนเปลี่ยนข้อความเป็นงานหรือบทสรุป สำหรับบทสอนที่พูด ให้ใช้ข้อความถอดเสียงค้นหาช่วงที่ต้องการและตรวจถ้อยคำของแต่ละคำสั่ง สำหรับเสียงร้อง ให้ฟังแนวร้องเมื่อตรวจเนื้อเพลง แทนที่จะยอมรับคำเพียงเพราะเข้ากับความหมายของเพลง ขั้นตอนเหล่านี้คือการเตรียมและตรวจชิ้นงานข้อความ การสรุป แปล หรือตีความข้อความถอดเสียงสามารถตามมาเป็นการดำเนินการแยก\n\n### ข้อความสตรีมมิงและการจบเสียงบันทึก\n\nQwen3-ASR ใช้โมเดลเดียวกันสำหรับการรู้จำออฟไลน์และสตรีมมิง ในตัวอย่างสตรีมมิงของผู้พัฒนา ชิ้นเสียงที่เข้ามาจะอัปเดตสถานะการรู้จำที่เก็บไว้ และขั้นตอนจบงานจะให้ข้อความสมบูรณ์กับภาษา วิธีนี้รองรับการแสดงผลเพิ่มทีละส่วนซึ่งมีประโยชน์สำหรับข้อความถอดเสียงที่กำลังดำเนินอยู่ ให้ถือว่าข้อความระหว่างทางเป็นสถานะการรู้จำปัจจุบัน และเก็บผลลัพธ์สุดท้ายเมื่อการบันทึกจบ พร้อมต้นฉบับเสียงสำหรับแก้ไข\n\nการใช้งานสตรีมมิงที่ระบุในเอกสารไม่รองรับการอนุมานเป็นแบตช์หรือคืนเวลาประทับในกระบวนการสตรีมมิงนั้น ดังนั้นข้อความสตรีมมิง ชุดข้อความถอดเสียงออฟไลน์ และการเตรียมคำบรรยายพร้อมเวลา จึงเป็นกระบวนการของผู้พัฒนาที่แยกกัน ขนาดชิ้นเสียงและค่าตั้งโทเคนในตัวอย่างแสดงการใช้งานรูปแบบหนึ่ง ไม่ใช่คำรับรองสากลเรื่องความหน่วง จำนวนงานพร้อมกัน หรือความยาวเสียง เลือกกระบวนการตามว่าผลลัพธ์ที่ต้องการคือข้อความที่ทยอยมาระหว่างบันทึก ข้อความสมบูรณ์สำหรับเสียงหลายรายการ หรือข้อความที่จัดแนวกับเส้นเวลา\n\n### ข้อความพร้อมเวลาใช้ Qwen3-ForcedAligner\n\nQwen3-ForcedAligner-0.6B เป็นโมเดลจัดแนวแยก แม้จะใช้ป้ายขนาด 0.6B ร่วมกับ ASR รุ่นนี้ โดยรับคู่ข้อความ–เสียงและทำนายเวลาเริ่มกับสิ้นสุดในระดับคำหรืออักขระ ชุดเครื่องมือ ASR ออฟไลน์ของผู้พัฒนาสามารถเรียกใช้เมื่อขอเวลาประทับ กลุ่มภาษาที่ระบุคือจีน อังกฤษ กวางตุ้ง ฝรั่งเศส เยอรมัน อิตาลี ญี่ปุ่น เกาหลี โปรตุเกส รัสเซีย และสเปน โดยช่วงเสียงพูดที่จัดแนวได้ตามที่ระบุยาวสูงสุดห้านาที กลุ่มภาษาที่แคบกว่าและช่วงห้านาทีนี้เป็นของการจัดแนวแบบบังคับ ไม่ใช่ขอบเขตทั่วไปในการถอดเสียงของ ASR\n\nสำหรับคำบรรยาย ให้เตรียมข้อความถอดเสียงที่ตรวจแล้วในภาษาของเสียงบันทึก จัดแนวในกรณีที่กระบวนการรองรับ และตรวจขอบเขตช่วงข้อความขณะเล่นต้นฉบับ ชิ้นงานคำบรรยายที่ใช้ได้จะเก็บถ้อยคำกับเวลาไว้ด้วยกัน หากคำในข้อความถอดเสียงผิด ให้แก้จากเสียงจริง แทนที่จะถือว่าช่วงเวลายืนยันความถูกต้องของคำได้ การแยกนี้ช่วยให้เห็นชัดว่าปัญหาอยู่ที่การรู้จำ ข้อความที่ให้มา หรือตำแหน่งขอบเขตคำบรรยาย\n\n### ผลลัพธ์สำหรับเสียงยาวและการตรวจสอบการรู้จำ\n\nตระกูล Qwen3-ASR รองรับเสียงบันทึกยาว ตัวอย่างการอนุมานแนะนำให้จัดสรรโทเคนที่สร้างได้มากขึ้นสำหรับเสียงที่ยาวขึ้น จึงควรตรวจว่าข้อความถอดเสียงถึงปลายเสียงบันทึกและไม่ได้ถูกตัดเพราะขนาดผลลัพธ์ที่อนุญาต ตัวอย่างที่เผยแพร่ไม่ได้กำหนดหน้าต่างบริบทเชิงตัวเลขหรือความยาวสูงสุดของเสียงบันทึก ASR ที่ใช้ได้เป็นสากล เก็บช่วงที่มีประโยชน์เชื่อมกับตำแหน่งในต้นฉบับเมื่อจัดเสียงบันทึกยาวสำหรับตรวจทาน ตรวจคำที่ถูกเสียงอื่นกลบ การสลับภาษา เสียงพูดซ้อน ชื่อที่ไม่คุ้นเคย และพยางค์ที่ร้องเทียบกับเสียงเดิม ผลลัพธ์ที่ใช้จริงคือข้อความที่รู้จำพร้อมป้ายระบุภาษา ซึ่งพร้อมค้นหาหรือใช้ในขั้นตอนเนื้อหาถัดไป โดยเพิ่มเวลาผ่านกระบวนการจัดแนวแยกเมื่อจำเป็น",
    "alias_of": null,
    "aliases": [],
    "author": "Alibaba",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "ดูราคาตามการกำหนดค่าแบบครบถ้วนในรายละเอียด"
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "qwen/qwen3-asr-0.6b",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "เก็บ X-Client-Request-ID ที่ส่งกลับมาไว้เพื่อกระทบยอด อ่านเฉพาะค่า task_id/asset_id ที่ส่งกลับมาจริง หรืออ่านจากคลังสื่อที่เป็นของตนเอง ห้ามสร้าง URL ของงานจาก ID การดำเนินการ และห้ามส่งคำขอสร้างซ้ำเด็ดขาด"
            },
            "outputs": {
              "all_results": "เก็บการตอบกลับและส่วนหัวให้ครบถ้วน เก็บผลลัพธ์จริงทุกรายการ ตัวระบุที่ส่งกลับมาแต่เดิม และฟิลด์ข้อมูลการใช้งานทั้งหมด กู้คืนการดำเนินการเดิมโดยไม่ส่งคำขอสร้างซ้ำ",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "qwen/qwen3-asr-0.6b"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "qwen/qwen3-asr-0.6b"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "qwen/qwen3-asr-0.6b"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "อ่านไฟล์ WAV จริงและเข้ารหัสไบต์จริงสำหรับ input_audio แบบ JSON ที่ประกาศไว้ ข้อกำหนดที่รองรับเฉพาะ JSON นี้ไม่ได้ระบุเส้นทาง multipart"
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "ค่า task_id ที่ส่งกลับมาจริง หรือระเบียนในคลังสื่อ",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "ต้นทุนการสร้างโดยประมาณ",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'qwen/qwen3-asr-0.6b', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "การถอดเสียง",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.00000666",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00000666",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "qwen/qwen3-asr-0.6b",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0.00000666",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.00000666",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "qwen/qwen3-asr-0.6b",
        "request_model_id": "qwen/qwen3-asr-0.6b",
        "route_label": "Ultra"
      }
    ],
    "name": "Qwen: Qwen3 ASR 0.6B",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 6.66e-06,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 6.66e-06,
      "varies": false
    },
    "short": "Qwen3-ASR-0.6B เป็นโมเดลรู้จำเสียงพูดขนาดกะทัดรัดของ Qwen สำหรับแปลงเสียงพูดหรือเสียงร้องเป็นข้อความพร้อมระบุภาษา โดยครอบคลุม 30 ภาษาและ 22 ภาษาถิ่นร่วมกับตระกูล มีทั้งกระบวนการออฟไลน์และสตรีมมิง และใช้การจัดแนวแบบบังคับแยกต่างหากสำหรับข้อความพร้อมเวลา"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Qwen3-ASR-0.6B เป็นโมเดลรู้จำเสียงพูดขนาดกะทัดรัดของ Qwen สำหรับแปลงเสียงพูดหรือเสียงร้องเป็นข้อความพร้อมระบุภาษา โดยครอบคลุม 30 ภาษาและ 22 ภาษาถิ่นร่วมกับตระกูล มีทั้งกระบวนการออฟไลน์และสตรีมมิง และใช้การจัดแนวแบบบังคับแยกต่างหากสำหรับข้อความพร้อมเวลา",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "ad4c7c87f5b86c6ae50eea46f115fa6014d49f499c81d78c376738838cebae7c",
    "renderer_sha256": "890edb706fafafdd4f598bb324acf65fada58918b0911b97eb80e68be2ef65d9"
  },
  "sourceRevision": "164dc1c1f8a972f1aa494f7cde152dd1569e8cecac789f976310249db21f26af"
}
