{
  "aboutHtml": "<p>ElevenLabs Scribe v2 เป็นโมเดลรู้จำเสียงพูดแบบ batch สำหรับเสียงที่บันทึกไว้ การถอดเสียง และการทำคำบรรยาย พัฒนาต่อยอดจาก Scribe v1 โดยจัดการไฟล์บันทึกยาว การหยุดพัก การเปลี่ยนน้ำเสียง และช่วงเงียบยาวได้ดีขึ้น ผลลัพธ์เป็นคำพูดที่เขียนเป็นข้อความพร้อมข้อมูลเวลา และคำกำกับผู้พูดกับเหตุการณ์เสียงที่เลือกเปิดได้ Scribe v2 Realtime เป็นรุ่นถอดเสียงสดแยกต่างหาก ส่วนโมเดลนี้มีจุดประสงค์เพื่อประมวลผลไฟล์บันทึกที่ครบถ้วน</p><p>ผู้สร้างระบุในเอกสารว่ารู้จำได้มากกว่า 90 ภาษาและตรวจจับภาษาอัตโนมัติ รวมถึงไฟล์บันทึกที่สลับภาษา คำใบ้ภาษาที่ทราบช่วยให้โมเดลตีความเสียงได้ เตรียมไฟล์บันทึกที่ชัดเจน คงภาษาและชื่อต้นฉบับ และหลีกเลี่ยงเสียงแตกจากการตัดยอดสัญญาณอย่างรุนแรงหรือการประมวลผลที่ไม่จำเป็นซึ่งตัดรายละเอียดคำพูดออก รูปแบบนำเข้าทั่วไปที่เอกสารระบุ ได้แก่ WAV, MP3, FLAC, M4A, AAC, OGG, Opus และ WebM เลือกวิธีส่งข้อมูลนำเข้าที่ระบบถอดเสียงรองรับและเก็บไฟล์บันทึกต้นฉบับไว้สำหรับตรวจทาน</p><p>คำตอบมาตรฐานมีข้อความที่รู้จำ ข้อมูลภาษาที่ตรวจพบ และลำดับคำพร้อมข้อมูลเวลา บันทึกคำอาจมีเวลาเริ่มและสิ้นสุด รหัสผู้พูด และค่า log-probability ของการรู้จำ ข้อมูลเหล่านี้ทำให้ผลลัพธ์มีประโยชน์สำหรับคำบรรยาย บทสัมภาษณ์ที่ค้นหาได้ หรือตัวแก้ไขที่ข้ามกลับไปยังเสียงที่เกี่ยวข้อง เก็บผลลัพธ์พร้อมข้อมูลเวลาไว้กับเสียงต้นฉบับ ตัวอย่างเช่น สำหรับพอดแคสต์ ผลงานอาจเป็นข้อความถอดเสียงที่แก้ไขได้และบันทึกที่จัดแนวตามคำ ซึ่งช่วยระบุตำแหน่งที่ต้องแก้ก่อนจัดคำบรรยาย</p><p>การแยกผู้พูดติดป้ายว่าใครพูดเมื่อใดในเสียงที่มีหลายคน โดยผู้สร้างระบุว่ารองรับสูงสุด 32 คน เปิดใช้เมื่อเทิร์นผู้พูดมีความสำคัญ และระบุจำนวนผู้พูดที่สมเหตุสมผลหากทราบข้อมูลนั้น แยกป้ายผู้พูดที่ตรวจพบออกจากชื่อบุคคลที่ยืนยันแล้ว สำหรับบทสัมภาษณ์หรือประชุม ให้ทบทวนการเปลี่ยนเทิร์นเทียบกับไฟล์บันทึก โดยเฉพาะจุดที่เสียงซ้อนกันหรือคล้ายกัน ป้ายช่วยจัดระเบียบข้อความถอดเสียง แต่ไม่ได้ยืนยันตัวตนผู้พูดด้วยตัวเอง</p><p>ไฟล์บันทึกที่มีผู้พูดหนึ่งคนต่อช่องมีโครงสร้างต่างจากหลายเสียงที่ผสมไว้ในช่องเดียว อินเทอร์เฟซผู้ผลิตสามารถประมวลผลได้สูงสุดห้าช่องอย่างอิสระ และส่งกลับข้อความถอดเสียงแยกกันหรือข้อความรวมเรียงตามเวลา พร้อมดัชนีช่อง คงการจัดช่องนั้นไว้เมื่อมีความหมาย การรวมช่องของบันทึกสายสนทนาที่แยกมาแล้วก่อนถอดเสียงอาจทิ้งแหล่งข้อมูลผู้พูดที่มีประโยชน์ แยกการระบุผู้พูดตามช่องออกจากการแยกผู้พูดที่อนุมานจากเสียงผสม คำตอบแบบรวมช่องต้องมีข้อมูลเวลาและไม่สามารถใช้การตรวจจับหรือปกปิดเอนทิตีร่วมด้วย</p><p>การป้อนคำสำคัญนำทางการรู้จำชื่อ ศัพท์ผลิตภัณฑ์ และศัพท์เฉพาะด้วยบริบท เอกสาร batch ปัจจุบันอนุญาตสูงสุด 1,000 รายการ โดยแต่ละรายการต้องน้อยกว่า 50 อักขระและไม่เกินห้าคำ ป้อนการสะกดที่เกี่ยวข้องแทนแค็ตตาล็อกกว้าง ๆ ที่ไม่เกี่ยวข้อง สำหรับบทสัมภาษณ์ทางเทคนิค ให้ป้อนชื่อผลิตภัณฑ์และคำย่อที่น่าจะปรากฏ แล้วตรวจตรงข้อมูลเวลาของคำนั้นในผลลัพธ์ คำสำคัญช่วยโน้มการรู้จำ แต่ไม่ใช่คำสั่งให้แทรกคำเมื่อไฟล์บันทึกไม่มีข้อมูลรองรับ</p><p>เลือกจุดประสงค์ของข้อความถอดเสียงก่อนเกลาข้อความ บันทึกแบบ verbatim คงถ้อยคำที่พูดไว้ ส่วนตัวเลือก no-verbatim ตามเอกสารนำคำเติม การเริ่มพูดแล้วหยุดใหม่ และความไม่ลื่นไหลออก เพื่อให้ผลลัพธ์อ่านง่ายขึ้น การติดแท็กเสียงแบบไดนามิกสามารถระบุเหตุการณ์ที่ไม่ใช่คำพูด เช่น เสียงหัวเราะหรือเสียงฝีเท้า ข้อความถอดเสียงที่เกลาแล้วอาจมีประโยชน์สำหรับคำบรรยายหรือการอ่าน แต่ไม่ควรแทนบันทึกดิบโดยไม่แจ้งเมื่องานให้ความสำคัญกับการพูดซ้ำ คำแก้ไข หรือเสียงที่ไม่ใช่คำพูด</p><p>ผู้สร้างยังอธิบายการตรวจจับเอนทิตีและการแก้ไขข้อความถอดเสียงแบบทดลอง ในอินเทอร์เฟซผู้ผลิต การแก้ไขข้อความถอดเสียงไม่สามารถใช้ร่วมกับการตรวจจับเอนทิตี การปกปิดเอนทิตี หรือการถอดเสียงหลายช่อง เอนทิตีที่ตรวจพบให้ตำแหน่งแบบมีโครงสร้างของข้อมูลบางชนิดในข้อความถอดเสียง การปกปิดเอนทิตีที่เลือกเปิดได้ปิดบังข้อความที่ตรวจพบด้วยป้ายกำกับแทนที่ โดยอาศัยการตรวจจับเอนทิตี และจะไม่ส่งรายการเอนทิตีกลับเมื่อเปิดการปกปิด การปกปิดเกิดขึ้นระหว่างถอดเสียง โดยใช้เครื่องหมายแทนที่ทั่วไป ป้ายหมวดหมู่ หรือป้ายหมวดหมู่ที่มีหมายเลข การปกปิดอัตโนมัติอาจพลาดเนื้อหาอ่อนไหว จึงควรตรวจข้อความที่ปกปิดแล้วก่อนแชร์ การแก้ไขด้วยภาษาธรรมชาติส่งข้อความที่แก้ไขแล้วกลับมาพร้อมผลลัพธ์ต้นฉบับ โดยยังคงบันทึกเวลาและผู้พูดต้นฉบับให้ใช้ได้ เก็บผลงานเหล่านั้นแยกกัน การแก้การสะกดหรือจัดรูปประโยคใหม่อาจต้องตรวจอีกครั้งก่อนจัดแนวกับเสียงหรือนำไปสกัดข้อมูลปลายทาง คุณสมบัติเหล่านี้ประมวลผลข้อความถอดเสียง ไม่ได้ยืนยันว่ารายละเอียดสำคัญทุกอย่างรู้จำถูกต้อง</p><p>สำหรับข้อความถอดเสียงที่เสร็จสมบูรณ์ ให้ทบทวนชื่อ ตัวเลข คำปฏิเสธ และการเปลี่ยนผู้พูดโดยกลับไปฟังเสียงตรงตำแหน่งนั้น ใส่ใจช่วงเสียงเบา เสียงซ้อน และการสลับภาษา แทนการตัดสินคุณภาพจากข้อความที่ลื่นไหลเพียงอย่างเดียว คงถ้อยคำที่ไม่แน่นอนไว้เพื่อแก้ไข แทนการเติมช่วงที่ฟังไม่ออกด้วยประโยคที่ดูเป็นไปได้ ผลลัพธ์ที่มีประโยชน์คือบันทึกข้อความที่ตรวจสอบแล้ว พร้อมข้อมูลเวลาและผู้พูดตามที่การใช้งานต้องการ จากนั้นข้อความถอดเสียงจึงเป็นข้อมูลนำเข้าสำหรับขั้นตอนสรุป แปล หรือวิเคราะห์ที่แยกต่างหากได้</p>",
  "aboutText": "ElevenLabs Scribe v2 เป็นโมเดลรู้จำเสียงพูดแบบ batch สำหรับเสียงที่บันทึกไว้ การถอดเสียง และการทำคำบรรยาย พัฒนาต่อยอดจาก Scribe v1 โดยจัดการไฟล์บันทึกยาว การหยุดพัก การเปลี่ยนน้ำเสียง และช่วงเงียบยาวได้ดีขึ้น ผลลัพธ์เป็นคำพูดที่เขียนเป็นข้อความพร้อมข้อมูลเวลา และคำกำกับผู้พูดกับเหตุการณ์เสียงที่เลือกเปิดได้ Scribe v2 Realtime เป็นรุ่นถอดเสียงสดแยกต่างหาก ส่วนโมเดลนี้มีจุดประสงค์เพื่อประมวลผลไฟล์บันทึกที่ครบถ้วน\n\nผู้สร้างระบุในเอกสารว่ารู้จำได้มากกว่า 90 ภาษาและตรวจจับภาษาอัตโนมัติ รวมถึงไฟล์บันทึกที่สลับภาษา คำใบ้ภาษาที่ทราบช่วยให้โมเดลตีความเสียงได้ เตรียมไฟล์บันทึกที่ชัดเจน คงภาษาและชื่อต้นฉบับ และหลีกเลี่ยงเสียงแตกจากการตัดยอดสัญญาณอย่างรุนแรงหรือการประมวลผลที่ไม่จำเป็นซึ่งตัดรายละเอียดคำพูดออก รูปแบบนำเข้าทั่วไปที่เอกสารระบุ ได้แก่ WAV, MP3, FLAC, M4A, AAC, OGG, Opus และ WebM เลือกวิธีส่งข้อมูลนำเข้าที่ระบบถอดเสียงรองรับและเก็บไฟล์บันทึกต้นฉบับไว้สำหรับตรวจทาน\n\nคำตอบมาตรฐานมีข้อความที่รู้จำ ข้อมูลภาษาที่ตรวจพบ และลำดับคำพร้อมข้อมูลเวลา บันทึกคำอาจมีเวลาเริ่มและสิ้นสุด รหัสผู้พูด และค่า log-probability ของการรู้จำ ข้อมูลเหล่านี้ทำให้ผลลัพธ์มีประโยชน์สำหรับคำบรรยาย บทสัมภาษณ์ที่ค้นหาได้ หรือตัวแก้ไขที่ข้ามกลับไปยังเสียงที่เกี่ยวข้อง เก็บผลลัพธ์พร้อมข้อมูลเวลาไว้กับเสียงต้นฉบับ ตัวอย่างเช่น สำหรับพอดแคสต์ ผลงานอาจเป็นข้อความถอดเสียงที่แก้ไขได้และบันทึกที่จัดแนวตามคำ ซึ่งช่วยระบุตำแหน่งที่ต้องแก้ก่อนจัดคำบรรยาย\n\nการแยกผู้พูดติดป้ายว่าใครพูดเมื่อใดในเสียงที่มีหลายคน โดยผู้สร้างระบุว่ารองรับสูงสุด 32 คน เปิดใช้เมื่อเทิร์นผู้พูดมีความสำคัญ และระบุจำนวนผู้พูดที่สมเหตุสมผลหากทราบข้อมูลนั้น แยกป้ายผู้พูดที่ตรวจพบออกจากชื่อบุคคลที่ยืนยันแล้ว สำหรับบทสัมภาษณ์หรือประชุม ให้ทบทวนการเปลี่ยนเทิร์นเทียบกับไฟล์บันทึก โดยเฉพาะจุดที่เสียงซ้อนกันหรือคล้ายกัน ป้ายช่วยจัดระเบียบข้อความถอดเสียง แต่ไม่ได้ยืนยันตัวตนผู้พูดด้วยตัวเอง\n\nไฟล์บันทึกที่มีผู้พูดหนึ่งคนต่อช่องมีโครงสร้างต่างจากหลายเสียงที่ผสมไว้ในช่องเดียว อินเทอร์เฟซผู้ผลิตสามารถประมวลผลได้สูงสุดห้าช่องอย่างอิสระ และส่งกลับข้อความถอดเสียงแยกกันหรือข้อความรวมเรียงตามเวลา พร้อมดัชนีช่อง คงการจัดช่องนั้นไว้เมื่อมีความหมาย การรวมช่องของบันทึกสายสนทนาที่แยกมาแล้วก่อนถอดเสียงอาจทิ้งแหล่งข้อมูลผู้พูดที่มีประโยชน์ แยกการระบุผู้พูดตามช่องออกจากการแยกผู้พูดที่อนุมานจากเสียงผสม คำตอบแบบรวมช่องต้องมีข้อมูลเวลาและไม่สามารถใช้การตรวจจับหรือปกปิดเอนทิตีร่วมด้วย\n\nการป้อนคำสำคัญนำทางการรู้จำชื่อ ศัพท์ผลิตภัณฑ์ และศัพท์เฉพาะด้วยบริบท เอกสาร batch ปัจจุบันอนุญาตสูงสุด 1,000 รายการ โดยแต่ละรายการต้องน้อยกว่า 50 อักขระและไม่เกินห้าคำ ป้อนการสะกดที่เกี่ยวข้องแทนแค็ตตาล็อกกว้าง ๆ ที่ไม่เกี่ยวข้อง สำหรับบทสัมภาษณ์ทางเทคนิค ให้ป้อนชื่อผลิตภัณฑ์และคำย่อที่น่าจะปรากฏ แล้วตรวจตรงข้อมูลเวลาของคำนั้นในผลลัพธ์ คำสำคัญช่วยโน้มการรู้จำ แต่ไม่ใช่คำสั่งให้แทรกคำเมื่อไฟล์บันทึกไม่มีข้อมูลรองรับ\n\nเลือกจุดประสงค์ของข้อความถอดเสียงก่อนเกลาข้อความ บันทึกแบบ verbatim คงถ้อยคำที่พูดไว้ ส่วนตัวเลือก no-verbatim ตามเอกสารนำคำเติม การเริ่มพูดแล้วหยุดใหม่ และความไม่ลื่นไหลออก เพื่อให้ผลลัพธ์อ่านง่ายขึ้น การติดแท็กเสียงแบบไดนามิกสามารถระบุเหตุการณ์ที่ไม่ใช่คำพูด เช่น เสียงหัวเราะหรือเสียงฝีเท้า ข้อความถอดเสียงที่เกลาแล้วอาจมีประโยชน์สำหรับคำบรรยายหรือการอ่าน แต่ไม่ควรแทนบันทึกดิบโดยไม่แจ้งเมื่องานให้ความสำคัญกับการพูดซ้ำ คำแก้ไข หรือเสียงที่ไม่ใช่คำพูด\n\nผู้สร้างยังอธิบายการตรวจจับเอนทิตีและการแก้ไขข้อความถอดเสียงแบบทดลอง ในอินเทอร์เฟซผู้ผลิต การแก้ไขข้อความถอดเสียงไม่สามารถใช้ร่วมกับการตรวจจับเอนทิตี การปกปิดเอนทิตี หรือการถอดเสียงหลายช่อง เอนทิตีที่ตรวจพบให้ตำแหน่งแบบมีโครงสร้างของข้อมูลบางชนิดในข้อความถอดเสียง การปกปิดเอนทิตีที่เลือกเปิดได้ปิดบังข้อความที่ตรวจพบด้วยป้ายกำกับแทนที่ โดยอาศัยการตรวจจับเอนทิตี และจะไม่ส่งรายการเอนทิตีกลับเมื่อเปิดการปกปิด การปกปิดเกิดขึ้นระหว่างถอดเสียง โดยใช้เครื่องหมายแทนที่ทั่วไป ป้ายหมวดหมู่ หรือป้ายหมวดหมู่ที่มีหมายเลข การปกปิดอัตโนมัติอาจพลาดเนื้อหาอ่อนไหว จึงควรตรวจข้อความที่ปกปิดแล้วก่อนแชร์ การแก้ไขด้วยภาษาธรรมชาติส่งข้อความที่แก้ไขแล้วกลับมาพร้อมผลลัพธ์ต้นฉบับ โดยยังคงบันทึกเวลาและผู้พูดต้นฉบับให้ใช้ได้ เก็บผลงานเหล่านั้นแยกกัน การแก้การสะกดหรือจัดรูปประโยคใหม่อาจต้องตรวจอีกครั้งก่อนจัดแนวกับเสียงหรือนำไปสกัดข้อมูลปลายทาง คุณสมบัติเหล่านี้ประมวลผลข้อความถอดเสียง ไม่ได้ยืนยันว่ารายละเอียดสำคัญทุกอย่างรู้จำถูกต้อง\n\nสำหรับข้อความถอดเสียงที่เสร็จสมบูรณ์ ให้ทบทวนชื่อ ตัวเลข คำปฏิเสธ และการเปลี่ยนผู้พูดโดยกลับไปฟังเสียงตรงตำแหน่งนั้น ใส่ใจช่วงเสียงเบา เสียงซ้อน และการสลับภาษา แทนการตัดสินคุณภาพจากข้อความที่ลื่นไหลเพียงอย่างเดียว คงถ้อยคำที่ไม่แน่นอนไว้เพื่อแก้ไข แทนการเติมช่วงที่ฟังไม่ออกด้วยประโยคที่ดูเป็นไปได้ ผลลัพธ์ที่มีประโยชน์คือบันทึกข้อความที่ตรวจสอบแล้ว พร้อมข้อมูลเวลาและผู้พูดตามที่การใช้งานต้องการ จากนั้นข้อความถอดเสียงจึงเป็นข้อมูลนำเข้าสำหรับขั้นตอนสรุป แปล หรือวิเคราะห์ที่แยกต่างหากได้",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "8efebe871b28d8097d7b80f4bcb479248f3d4b04796662b0d297b6b15e2c951a",
    "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\">•</span><h2 id=\"sheet-title\">ElevenLabs: Scribe v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"ปิด\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/scribe-v2</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|elevenlabs%2Fscribe-v2\">การรู้จำ</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\">ElevenLabs Scribe v2 ถอดเสียงที่บันทึกไว้ในมากกว่า 90 ภาษา พร้อมข้อมูลเวลาระดับคำ การแยกผู้พูดที่เลือกเปิดได้ และแท็กเหตุการณ์ที่ไม่ใช่คำพูด ออกแบบมาสำหรับไฟล์บันทึกยาว คำบรรยาย และข้อความถอดเสียงที่แก้ไขได้ โดยรองรับคำสำคัญตามบริบทและตัวเลือกถอดตามคำพูดทุกคำหรือเกลาข้อความให้อ่านง่าย</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>ElevenLabs Scribe v2 เป็นโมเดลรู้จำเสียงพูดแบบ batch สำหรับเสียงที่บันทึกไว้ การถอดเสียง และการทำคำบรรยาย พัฒนาต่อยอดจาก Scribe v1 โดยจัดการไฟล์บันทึกยาว การหยุดพัก การเปลี่ยนน้ำเสียง และช่วงเงียบยาวได้ดีขึ้น ผลลัพธ์เป็นคำพูดที่เขียนเป็นข้อความพร้อมข้อมูลเวลา และคำกำกับผู้พูดกับเหตุการณ์เสียงที่เลือกเปิดได้ Scribe v2 Realtime เป็นรุ่นถอดเสียงสดแยกต่างหาก ส่วนโมเดลนี้มีจุดประสงค์เพื่อประมวลผลไฟล์บันทึกที่ครบถ้วน</p><p>ผู้สร้างระบุในเอกสารว่ารู้จำได้มากกว่า 90 ภาษาและตรวจจับภาษาอัตโนมัติ รวมถึงไฟล์บันทึกที่สลับภาษา คำใบ้ภาษาที่ทราบช่วยให้โมเดลตีความเสียงได้ เตรียมไฟล์บันทึกที่ชัดเจน คงภาษาและชื่อต้นฉบับ และหลีกเลี่ยงเสียงแตกจากการตัดยอดสัญญาณอย่างรุนแรงหรือการประมวลผลที่ไม่จำเป็นซึ่งตัดรายละเอียดคำพูดออก รูปแบบนำเข้าทั่วไปที่เอกสารระบุ ได้แก่ WAV, MP3, FLAC, M4A, AAC, OGG, Opus และ WebM เลือกวิธีส่งข้อมูลนำเข้าที่ระบบถอดเสียงรองรับและเก็บไฟล์บันทึกต้นฉบับไว้สำหรับตรวจทาน</p><p>คำตอบมาตรฐานมีข้อความที่รู้จำ ข้อมูลภาษาที่ตรวจพบ และลำดับคำพร้อมข้อมูลเวลา บันทึกคำอาจมีเวลาเริ่มและสิ้นสุด รหัสผู้พูด และค่า log-probability ของการรู้จำ ข้อมูลเหล่านี้ทำให้ผลลัพธ์มีประโยชน์สำหรับคำบรรยาย บทสัมภาษณ์ที่ค้นหาได้ หรือตัวแก้ไขที่ข้ามกลับไปยังเสียงที่เกี่ยวข้อง เก็บผลลัพธ์พร้อมข้อมูลเวลาไว้กับเสียงต้นฉบับ ตัวอย่างเช่น สำหรับพอดแคสต์ ผลงานอาจเป็นข้อความถอดเสียงที่แก้ไขได้และบันทึกที่จัดแนวตามคำ ซึ่งช่วยระบุตำแหน่งที่ต้องแก้ก่อนจัดคำบรรยาย</p><p>การแยกผู้พูดติดป้ายว่าใครพูดเมื่อใดในเสียงที่มีหลายคน โดยผู้สร้างระบุว่ารองรับสูงสุด 32 คน เปิดใช้เมื่อเทิร์นผู้พูดมีความสำคัญ และระบุจำนวนผู้พูดที่สมเหตุสมผลหากทราบข้อมูลนั้น แยกป้ายผู้พูดที่ตรวจพบออกจากชื่อบุคคลที่ยืนยันแล้ว สำหรับบทสัมภาษณ์หรือประชุม ให้ทบทวนการเปลี่ยนเทิร์นเทียบกับไฟล์บันทึก โดยเฉพาะจุดที่เสียงซ้อนกันหรือคล้ายกัน ป้ายช่วยจัดระเบียบข้อความถอดเสียง แต่ไม่ได้ยืนยันตัวตนผู้พูดด้วยตัวเอง</p><p>ไฟล์บันทึกที่มีผู้พูดหนึ่งคนต่อช่องมีโครงสร้างต่างจากหลายเสียงที่ผสมไว้ในช่องเดียว อินเทอร์เฟซผู้ผลิตสามารถประมวลผลได้สูงสุดห้าช่องอย่างอิสระ และส่งกลับข้อความถอดเสียงแยกกันหรือข้อความรวมเรียงตามเวลา พร้อมดัชนีช่อง คงการจัดช่องนั้นไว้เมื่อมีความหมาย การรวมช่องของบันทึกสายสนทนาที่แยกมาแล้วก่อนถอดเสียงอาจทิ้งแหล่งข้อมูลผู้พูดที่มีประโยชน์ แยกการระบุผู้พูดตามช่องออกจากการแยกผู้พูดที่อนุมานจากเสียงผสม คำตอบแบบรวมช่องต้องมีข้อมูลเวลาและไม่สามารถใช้การตรวจจับหรือปกปิดเอนทิตีร่วมด้วย</p><p>การป้อนคำสำคัญนำทางการรู้จำชื่อ ศัพท์ผลิตภัณฑ์ และศัพท์เฉพาะด้วยบริบท เอกสาร batch ปัจจุบันอนุญาตสูงสุด 1,000 รายการ โดยแต่ละรายการต้องน้อยกว่า 50 อักขระและไม่เกินห้าคำ ป้อนการสะกดที่เกี่ยวข้องแทนแค็ตตาล็อกกว้าง ๆ ที่ไม่เกี่ยวข้อง สำหรับบทสัมภาษณ์ทางเทคนิค ให้ป้อนชื่อผลิตภัณฑ์และคำย่อที่น่าจะปรากฏ แล้วตรวจตรงข้อมูลเวลาของคำนั้นในผลลัพธ์ คำสำคัญช่วยโน้มการรู้จำ แต่ไม่ใช่คำสั่งให้แทรกคำเมื่อไฟล์บันทึกไม่มีข้อมูลรองรับ</p><p>เลือกจุดประสงค์ของข้อความถอดเสียงก่อนเกลาข้อความ บันทึกแบบ verbatim คงถ้อยคำที่พูดไว้ ส่วนตัวเลือก no-verbatim ตามเอกสารนำคำเติม การเริ่มพูดแล้วหยุดใหม่ และความไม่ลื่นไหลออก เพื่อให้ผลลัพธ์อ่านง่ายขึ้น การติดแท็กเสียงแบบไดนามิกสามารถระบุเหตุการณ์ที่ไม่ใช่คำพูด เช่น เสียงหัวเราะหรือเสียงฝีเท้า ข้อความถอดเสียงที่เกลาแล้วอาจมีประโยชน์สำหรับคำบรรยายหรือการอ่าน แต่ไม่ควรแทนบันทึกดิบโดยไม่แจ้งเมื่องานให้ความสำคัญกับการพูดซ้ำ คำแก้ไข หรือเสียงที่ไม่ใช่คำพูด</p><p>ผู้สร้างยังอธิบายการตรวจจับเอนทิตีและการแก้ไขข้อความถอดเสียงแบบทดลอง ในอินเทอร์เฟซผู้ผลิต การแก้ไขข้อความถอดเสียงไม่สามารถใช้ร่วมกับการตรวจจับเอนทิตี การปกปิดเอนทิตี หรือการถอดเสียงหลายช่อง เอนทิตีที่ตรวจพบให้ตำแหน่งแบบมีโครงสร้างของข้อมูลบางชนิดในข้อความถอดเสียง การปกปิดเอนทิตีที่เลือกเปิดได้ปิดบังข้อความที่ตรวจพบด้วยป้ายกำกับแทนที่ โดยอาศัยการตรวจจับเอนทิตี และจะไม่ส่งรายการเอนทิตีกลับเมื่อเปิดการปกปิด การปกปิดเกิดขึ้นระหว่างถอดเสียง โดยใช้เครื่องหมายแทนที่ทั่วไป ป้ายหมวดหมู่ หรือป้ายหมวดหมู่ที่มีหมายเลข การปกปิดอัตโนมัติอาจพลาดเนื้อหาอ่อนไหว จึงควรตรวจข้อความที่ปกปิดแล้วก่อนแชร์ การแก้ไขด้วยภาษาธรรมชาติส่งข้อความที่แก้ไขแล้วกลับมาพร้อมผลลัพธ์ต้นฉบับ โดยยังคงบันทึกเวลาและผู้พูดต้นฉบับให้ใช้ได้ เก็บผลงานเหล่านั้นแยกกัน การแก้การสะกดหรือจัดรูปประโยคใหม่อาจต้องตรวจอีกครั้งก่อนจัดแนวกับเสียงหรือนำไปสกัดข้อมูลปลายทาง คุณสมบัติเหล่านี้ประมวลผลข้อความถอดเสียง ไม่ได้ยืนยันว่ารายละเอียดสำคัญทุกอย่างรู้จำถูกต้อง</p><p>สำหรับข้อความถอดเสียงที่เสร็จสมบูรณ์ ให้ทบทวนชื่อ ตัวเลข คำปฏิเสธ และการเปลี่ยนผู้พูดโดยกลับไปฟังเสียงตรงตำแหน่งนั้น ใส่ใจช่วงเสียงเบา เสียงซ้อน และการสลับภาษา แทนการตัดสินคุณภาพจากข้อความที่ลื่นไหลเพียงอย่างเดียว คงถ้อยคำที่ไม่แน่นอนไว้เพื่อแก้ไข แทนการเติมช่วงที่ฟังไม่ออกด้วยประโยคที่ดูเป็นไปได้ ผลลัพธ์ที่มีประโยชน์คือบันทึกข้อความที่ตรวจสอบแล้ว พร้อมข้อมูลเวลาและผู้พูดตามที่การใช้งานต้องการ จากนั้นข้อความถอดเสียงจึงเป็นข้อมูลนำเข้าสำหรับขั้นตอนสรุป แปล หรือวิเคราะห์ที่แยกต่างหากได้</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>elevenlabs/scribe-v2</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></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>ตัวอย่างนี้อ่านไฟล์ PCM WAV จริงของคุณที่ไม่ว่าง เข้ารหัสไบต์ทั้งหมดของไฟล์เป็น base64 และส่ง input_audio.format เป็น wav</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 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>อัตราค่าบริการ Ailoot</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></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><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><div><span>ขาเข้า · วินาทีเสียงขาเข้า</span> <b>$0.0001222222222222</b> <span class=\"price-unit\">ต่อวินาทีของเสียงอินพุต</span></div></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-1328-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1328-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · ไฟล์ WAV จริงและผลลัพธ์ต้นฉบับที่ครบถ้วน</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-1328-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1328-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 PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\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;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;elevenlabs/scribe-v2&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#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# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">รับและบันทึกผลลัพธ์</h3><h4>Ailoot Ultra · การถอดเสียง</h4><p class=\"note-s\">เนื้อหาการตอบกลับเดิมทั้งหมด สถานะ และส่วนหัวที่ส่งต่อ ตัวจัดการนี้ไม่เพิ่มโครงสร้าง JSON ฟิลด์ข้อความ หรือโครงสร้างห่อหุ้มงานแบบสากล</p><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><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 จริงและการตอบกลับทั้งหมด อ่านแอสเซ็ตเดิมที่เป็นของคุณและ URL เนื้อหาที่ลงลายเซ็นตรงตามที่ส่งกลับ ห้ามส่งคำขอสร้างที่ยังไม่แน่ชัดซ้ำ</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 (when present)</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 (when present)</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>ข้อผิดพลาดและขั้นตอนถัดไป</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>การตอบกลับ</th><th>เงื่อนไข</th><th>ขั้นตอนถัดไป</th></tr></thead><tbody><tr><th data-cell-label=\"การตอบกลับ\" scope=\"row\"><span class=\"card-cell-label\">การตอบกลับ</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"เงื่อนไข\"><span class=\"card-cell-label\">เงื่อนไข</span>เนื้อหา JSON หรือ ID โมเดลมาตรฐานที่ระบุชัดเจนไม่ถูกต้อง</td><td data-cell-label=\"ขั้นตอนถัดไป\"><span class=\"card-cell-label\">ขั้นตอนถัดไป</span>เก็บการตอบกลับและแก้ไขฟิลด์คำขอที่ระบุ</td></tr><tr><th data-cell-label=\"การตอบกลับ\" scope=\"row\"><span class=\"card-cell-label\">การตอบกลับ</span>401 · <code>authentication_error</code></th><td data-cell-label=\"เงื่อนไข\"><span class=\"card-cell-label\">เงื่อนไข</span>คีย์ API ของ Ailoot ไม่ถูกต้อง</td><td data-cell-label=\"ขั้นตอนถัดไป\"><span class=\"card-cell-label\">ขั้นตอนถัดไป</span>ใช้คีย์ API ของ Ailoot ที่คุณได้รับอนุญาต</td></tr><tr><th data-cell-label=\"การตอบกลับ\" scope=\"row\"><span class=\"card-cell-label\">การตอบกลับ</span>403 · <code>permission_error</code></th><td data-cell-label=\"เงื่อนไข\"><span class=\"card-cell-label\">เงื่อนไข</span>กลุ่มคีย์ไม่อนุญาตให้ใช้เมธอดนี้</td><td data-cell-label=\"ขั้นตอนถัดไป\"><span class=\"card-cell-label\">ขั้นตอนถัดไป</span>เก็บรายละเอียดข้อผิดพลาดที่ส่งกลับไว้</td></tr><tr><th data-cell-label=\"การตอบกลับ\" scope=\"row\"><span class=\"card-cell-label\">การตอบกลับ</span>404 · <code>not_found_error</code></th><td data-cell-label=\"เงื่อนไข\"><span class=\"card-cell-label\">เงื่อนไข</span>เมธอดที่เลือกไม่มีเส้นทางที่ได้รับอนุญาต</td><td data-cell-label=\"ขั้นตอนถัดไป\"><span class=\"card-cell-label\">ขั้นตอนถัดไป</span>เก็บรายละเอียดข้อผิดพลาดที่ส่งกลับไว้</td></tr><tr><th data-cell-label=\"การตอบกลับ\" scope=\"row\"><span class=\"card-cell-label\">การตอบกลับ</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"เงื่อนไข\"><span class=\"card-cell-label\">เงื่อนไข</span>อัตราค่าบริการที่ยอมรับไม่สามารถระบุปริมาณข้อมูลขาเข้าหรือขอบเขตที่จำเป็นได้</td><td data-cell-label=\"ขั้นตอนถัดไป\"><span class=\"card-cell-label\">ขั้นตอนถัดไป</span>เก็บการตอบกลับไว้ ใช้รูปแบบข้อมูลขาเข้าที่อัตราค่าบริการที่ยอมรับกำหนดไว้</td></tr><tr><th data-cell-label=\"การตอบกลับ\" scope=\"row\"><span class=\"card-cell-label\">การตอบกลับ</span>503 · <code></code></th><td data-cell-label=\"เงื่อนไข\"><span class=\"card-cell-label\">เงื่อนไข</span>ที่เก็บข้อมูล เส้นทาง ราคาเมธอด หรือการกันวงเงินที่จำเป็นไม่พร้อมใช้งาน</td><td data-cell-label=\"ขั้นตอนถัดไป\"><span class=\"card-cell-label\">ขั้นตอนถัดไป</span>เก็บการตอบกลับเดิมทั้งหมด การกันวงเงินที่ไม่แน่นอนไม่อนุญาตให้ส่งซ้ำ</td></tr><tr><th data-cell-label=\"การตอบกลับ\" scope=\"row\"><span class=\"card-cell-label\">การตอบกลับ</span>502 · <code>server_error</code></th><td data-cell-label=\"เงื่อนไข\"><span class=\"card-cell-label\">เงื่อนไข</span>ต้องตรวจสอบผลลัพธ์ การใช้งาน หรือการชำระบัญชีเดิม</td><td data-cell-label=\"ขั้นตอนถัดไป\"><span class=\"card-cell-label\">ขั้นตอนถัดไป</span>เก็บ ID คำขอจริงและการตอบกลับเดิม อ่านบันทึกเดิมที่เป็นของคุณ อย่าส่งคำขอสร้างซ้ำ</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=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></span></p><h4>ชื่อพาธเมธอดอื่น</h4><p class=\"note-s\">ใช้พาธเมธอดที่แสดงด้านบน</p><h4>ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล</h4><p class=\"note-s\"><a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "elevenlabs/scribe-v2",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|elevenlabs%2Fscribe-v2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "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.",
            "errors": [
              {
                "code": null,
                "condition": "เนื้อหา JSON หรือ ID โมเดลมาตรฐานที่ระบุชัดเจนไม่ถูกต้อง",
                "http_status": 400,
                "recovery": "เก็บการตอบกลับและแก้ไขฟิลด์คำขอที่ระบุ",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "คีย์ API ของ Ailoot ไม่ถูกต้อง",
                "http_status": 401,
                "recovery": "ใช้คีย์ API ของ Ailoot ที่คุณได้รับอนุญาต",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "กลุ่มคีย์ไม่อนุญาตให้ใช้เมธอดนี้",
                "http_status": 403,
                "recovery": "เก็บรายละเอียดข้อผิดพลาดที่ส่งกลับไว้",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "เมธอดที่เลือกไม่มีเส้นทางที่ได้รับอนุญาต",
                "http_status": 404,
                "recovery": "เก็บรายละเอียดข้อผิดพลาดที่ส่งกลับไว้",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "อัตราค่าบริการที่ยอมรับไม่สามารถระบุปริมาณข้อมูลขาเข้าหรือขอบเขตที่จำเป็นได้",
                "http_status": 422,
                "recovery": "เก็บการตอบกลับไว้ ใช้รูปแบบข้อมูลขาเข้าที่อัตราค่าบริการที่ยอมรับกำหนดไว้",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "ที่เก็บข้อมูล เส้นทาง ราคาเมธอด หรือการกันวงเงินที่จำเป็นไม่พร้อมใช้งาน",
                "http_status": 503,
                "recovery": "เก็บการตอบกลับเดิมทั้งหมด การกันวงเงินที่ไม่แน่นอนไม่อนุญาตให้ส่งซ้ำ",
                "type": null
              },
              {
                "code": null,
                "condition": "ต้องตรวจสอบผลลัพธ์ การใช้งาน หรือการชำระบัญชีเดิม",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "เก็บ ID คำขอจริงและการตอบกลับเดิม อ่านบันทึกเดิมที่เป็นของคุณ อย่าส่งคำขอสร้างซ้ำ",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "เก็บ X-Client-Request-ID จริงและการตอบกลับทั้งหมด อ่านแอสเซ็ตเดิมที่เป็นของคุณและ URL เนื้อหาที่ลงลายเซ็นตรงตามที่ส่งกลับ ห้ามส่งคำขอสร้างที่ยังไม่แน่ชัดซ้ำ"
            },
            "outputs": {
              "all_results": "เก็บการตอบกลับและส่วนหัวให้ครบถ้วน เก็บผลลัพธ์จริงทุกรายการ ตัวระบุที่ส่งกลับมาแต่เดิม และฟิลด์ข้อมูลการใช้งานทั้งหมด กู้คืนการดำเนินการเดิมโดยไม่ส่งคำขอสร้างซ้ำ",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "เนื้อหาการตอบกลับเดิมทั้งหมด สถานะ และส่วนหัวที่ส่งต่อ ตัวจัดการนี้ไม่เพิ่มโครงสร้าง JSON ฟิลด์ข้อความ หรือโครงสร้างห่อหุ้มงานแบบสากล"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "elevenlabs/scribe-v2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "ตัวอย่างนี้อ่านไฟล์ PCM WAV จริงของคุณที่ไม่ว่าง เข้ารหัสไบต์ทั้งหมดของไฟล์เป็น base64 และส่ง input_audio.format เป็น wav"
            ],
            "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id ที่ตรงตามบันทึกสื่อเดิมซึ่งเป็นของคุณ",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain 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 (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "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.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'elevenlabs/scribe-v2', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\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# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "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.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "elevenlabs/scribe-v2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "ce89c5cd57282523c827e4fe1beb0b66fb9bc66ddd14a37e8c186e676e397dfd",
    "input_html_sha256": "7e1ae3817b2400b02aa8908869035561a3fb8014e042ea32304ddecb47d05c27",
    "private_audit_sha256": "2dd21637dbb17f0e13e408246bcc65b72c928c8145657f39691156776713e188",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/th/elevenlabs-scribe-v2/",
    "description": "ElevenLabs Scribe v2 ถอดเสียงที่บันทึกไว้ในมากกว่า 90 ภาษา พร้อมข้อมูลเวลาระดับคำ การแยกผู้พูดที่เลือกเปิดได้ และแท็กเหตุการณ์ที่ไม่ใช่คำพูด ออกแบบมาสำหรับไฟล์บันทึกยาว คำบรรยาย และข้อความถอดเสียงที่แก้ไขได้ โดยรองรับคำสำคัญตามบริบทและตัวเลือกถอดตามคำพูดทุกคำหรือเกลาข้อความให้อ่านง่าย",
    "locale": "th",
    "md_url": "https://ailoot.ai/models/th/elevenlabs-scribe-v2/index.md",
    "title": "ElevenLabs: Scribe v2 — Ailoot",
    "url": "https://ailoot.ai/models/th/elevenlabs-scribe-v2/"
  },
  "rawModel": {
    "about": "ElevenLabs Scribe v2 เป็นโมเดลรู้จำเสียงพูดแบบ batch สำหรับเสียงที่บันทึกไว้ การถอดเสียง และการทำคำบรรยาย พัฒนาต่อยอดจาก Scribe v1 โดยจัดการไฟล์บันทึกยาว การหยุดพัก การเปลี่ยนน้ำเสียง และช่วงเงียบยาวได้ดีขึ้น ผลลัพธ์เป็นคำพูดที่เขียนเป็นข้อความพร้อมข้อมูลเวลา และคำกำกับผู้พูดกับเหตุการณ์เสียงที่เลือกเปิดได้ Scribe v2 Realtime เป็นรุ่นถอดเสียงสดแยกต่างหาก ส่วนโมเดลนี้มีจุดประสงค์เพื่อประมวลผลไฟล์บันทึกที่ครบถ้วน\n\nผู้สร้างระบุในเอกสารว่ารู้จำได้มากกว่า 90 ภาษาและตรวจจับภาษาอัตโนมัติ รวมถึงไฟล์บันทึกที่สลับภาษา คำใบ้ภาษาที่ทราบช่วยให้โมเดลตีความเสียงได้ เตรียมไฟล์บันทึกที่ชัดเจน คงภาษาและชื่อต้นฉบับ และหลีกเลี่ยงเสียงแตกจากการตัดยอดสัญญาณอย่างรุนแรงหรือการประมวลผลที่ไม่จำเป็นซึ่งตัดรายละเอียดคำพูดออก รูปแบบนำเข้าทั่วไปที่เอกสารระบุ ได้แก่ WAV, MP3, FLAC, M4A, AAC, OGG, Opus และ WebM เลือกวิธีส่งข้อมูลนำเข้าที่ระบบถอดเสียงรองรับและเก็บไฟล์บันทึกต้นฉบับไว้สำหรับตรวจทาน\n\nคำตอบมาตรฐานมีข้อความที่รู้จำ ข้อมูลภาษาที่ตรวจพบ และลำดับคำพร้อมข้อมูลเวลา บันทึกคำอาจมีเวลาเริ่มและสิ้นสุด รหัสผู้พูด และค่า log-probability ของการรู้จำ ข้อมูลเหล่านี้ทำให้ผลลัพธ์มีประโยชน์สำหรับคำบรรยาย บทสัมภาษณ์ที่ค้นหาได้ หรือตัวแก้ไขที่ข้ามกลับไปยังเสียงที่เกี่ยวข้อง เก็บผลลัพธ์พร้อมข้อมูลเวลาไว้กับเสียงต้นฉบับ ตัวอย่างเช่น สำหรับพอดแคสต์ ผลงานอาจเป็นข้อความถอดเสียงที่แก้ไขได้และบันทึกที่จัดแนวตามคำ ซึ่งช่วยระบุตำแหน่งที่ต้องแก้ก่อนจัดคำบรรยาย\n\nการแยกผู้พูดติดป้ายว่าใครพูดเมื่อใดในเสียงที่มีหลายคน โดยผู้สร้างระบุว่ารองรับสูงสุด 32 คน เปิดใช้เมื่อเทิร์นผู้พูดมีความสำคัญ และระบุจำนวนผู้พูดที่สมเหตุสมผลหากทราบข้อมูลนั้น แยกป้ายผู้พูดที่ตรวจพบออกจากชื่อบุคคลที่ยืนยันแล้ว สำหรับบทสัมภาษณ์หรือประชุม ให้ทบทวนการเปลี่ยนเทิร์นเทียบกับไฟล์บันทึก โดยเฉพาะจุดที่เสียงซ้อนกันหรือคล้ายกัน ป้ายช่วยจัดระเบียบข้อความถอดเสียง แต่ไม่ได้ยืนยันตัวตนผู้พูดด้วยตัวเอง\n\nไฟล์บันทึกที่มีผู้พูดหนึ่งคนต่อช่องมีโครงสร้างต่างจากหลายเสียงที่ผสมไว้ในช่องเดียว อินเทอร์เฟซผู้ผลิตสามารถประมวลผลได้สูงสุดห้าช่องอย่างอิสระ และส่งกลับข้อความถอดเสียงแยกกันหรือข้อความรวมเรียงตามเวลา พร้อมดัชนีช่อง คงการจัดช่องนั้นไว้เมื่อมีความหมาย การรวมช่องของบันทึกสายสนทนาที่แยกมาแล้วก่อนถอดเสียงอาจทิ้งแหล่งข้อมูลผู้พูดที่มีประโยชน์ แยกการระบุผู้พูดตามช่องออกจากการแยกผู้พูดที่อนุมานจากเสียงผสม คำตอบแบบรวมช่องต้องมีข้อมูลเวลาและไม่สามารถใช้การตรวจจับหรือปกปิดเอนทิตีร่วมด้วย\n\nการป้อนคำสำคัญนำทางการรู้จำชื่อ ศัพท์ผลิตภัณฑ์ และศัพท์เฉพาะด้วยบริบท เอกสาร batch ปัจจุบันอนุญาตสูงสุด 1,000 รายการ โดยแต่ละรายการต้องน้อยกว่า 50 อักขระและไม่เกินห้าคำ ป้อนการสะกดที่เกี่ยวข้องแทนแค็ตตาล็อกกว้าง ๆ ที่ไม่เกี่ยวข้อง สำหรับบทสัมภาษณ์ทางเทคนิค ให้ป้อนชื่อผลิตภัณฑ์และคำย่อที่น่าจะปรากฏ แล้วตรวจตรงข้อมูลเวลาของคำนั้นในผลลัพธ์ คำสำคัญช่วยโน้มการรู้จำ แต่ไม่ใช่คำสั่งให้แทรกคำเมื่อไฟล์บันทึกไม่มีข้อมูลรองรับ\n\nเลือกจุดประสงค์ของข้อความถอดเสียงก่อนเกลาข้อความ บันทึกแบบ verbatim คงถ้อยคำที่พูดไว้ ส่วนตัวเลือก no-verbatim ตามเอกสารนำคำเติม การเริ่มพูดแล้วหยุดใหม่ และความไม่ลื่นไหลออก เพื่อให้ผลลัพธ์อ่านง่ายขึ้น การติดแท็กเสียงแบบไดนามิกสามารถระบุเหตุการณ์ที่ไม่ใช่คำพูด เช่น เสียงหัวเราะหรือเสียงฝีเท้า ข้อความถอดเสียงที่เกลาแล้วอาจมีประโยชน์สำหรับคำบรรยายหรือการอ่าน แต่ไม่ควรแทนบันทึกดิบโดยไม่แจ้งเมื่องานให้ความสำคัญกับการพูดซ้ำ คำแก้ไข หรือเสียงที่ไม่ใช่คำพูด\n\nผู้สร้างยังอธิบายการตรวจจับเอนทิตีและการแก้ไขข้อความถอดเสียงแบบทดลอง ในอินเทอร์เฟซผู้ผลิต การแก้ไขข้อความถอดเสียงไม่สามารถใช้ร่วมกับการตรวจจับเอนทิตี การปกปิดเอนทิตี หรือการถอดเสียงหลายช่อง เอนทิตีที่ตรวจพบให้ตำแหน่งแบบมีโครงสร้างของข้อมูลบางชนิดในข้อความถอดเสียง การปกปิดเอนทิตีที่เลือกเปิดได้ปิดบังข้อความที่ตรวจพบด้วยป้ายกำกับแทนที่ โดยอาศัยการตรวจจับเอนทิตี และจะไม่ส่งรายการเอนทิตีกลับเมื่อเปิดการปกปิด การปกปิดเกิดขึ้นระหว่างถอดเสียง โดยใช้เครื่องหมายแทนที่ทั่วไป ป้ายหมวดหมู่ หรือป้ายหมวดหมู่ที่มีหมายเลข การปกปิดอัตโนมัติอาจพลาดเนื้อหาอ่อนไหว จึงควรตรวจข้อความที่ปกปิดแล้วก่อนแชร์ การแก้ไขด้วยภาษาธรรมชาติส่งข้อความที่แก้ไขแล้วกลับมาพร้อมผลลัพธ์ต้นฉบับ โดยยังคงบันทึกเวลาและผู้พูดต้นฉบับให้ใช้ได้ เก็บผลงานเหล่านั้นแยกกัน การแก้การสะกดหรือจัดรูปประโยคใหม่อาจต้องตรวจอีกครั้งก่อนจัดแนวกับเสียงหรือนำไปสกัดข้อมูลปลายทาง คุณสมบัติเหล่านี้ประมวลผลข้อความถอดเสียง ไม่ได้ยืนยันว่ารายละเอียดสำคัญทุกอย่างรู้จำถูกต้อง\n\nสำหรับข้อความถอดเสียงที่เสร็จสมบูรณ์ ให้ทบทวนชื่อ ตัวเลข คำปฏิเสธ และการเปลี่ยนผู้พูดโดยกลับไปฟังเสียงตรงตำแหน่งนั้น ใส่ใจช่วงเสียงเบา เสียงซ้อน และการสลับภาษา แทนการตัดสินคุณภาพจากข้อความที่ลื่นไหลเพียงอย่างเดียว คงถ้อยคำที่ไม่แน่นอนไว้เพื่อแก้ไข แทนการเติมช่วงที่ฟังไม่ออกด้วยประโยคที่ดูเป็นไปได้ ผลลัพธ์ที่มีประโยชน์คือบันทึกข้อความที่ตรวจสอบแล้ว พร้อมข้อมูลเวลาและผู้พูดตามที่การใช้งานต้องการ จากนั้นข้อความถอดเสียงจึงเป็นข้อมูลนำเข้าสำหรับขั้นตอนสรุป แปล หรือวิเคราะห์ที่แยกต่างหากได้",
    "alias_of": null,
    "aliases": [],
    "author": "ElevenLabs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "ดูราคาตามการกำหนดค่าแบบครบถ้วนในรายละเอียด"
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "elevenlabs/scribe-v2",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "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.",
            "errors": [
              {
                "code": null,
                "condition": "เนื้อหา JSON หรือ ID โมเดลมาตรฐานที่ระบุชัดเจนไม่ถูกต้อง",
                "http_status": 400,
                "recovery": "เก็บการตอบกลับและแก้ไขฟิลด์คำขอที่ระบุ",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "คีย์ API ของ Ailoot ไม่ถูกต้อง",
                "http_status": 401,
                "recovery": "ใช้คีย์ API ของ Ailoot ที่คุณได้รับอนุญาต",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "กลุ่มคีย์ไม่อนุญาตให้ใช้เมธอดนี้",
                "http_status": 403,
                "recovery": "เก็บรายละเอียดข้อผิดพลาดที่ส่งกลับไว้",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "เมธอดที่เลือกไม่มีเส้นทางที่ได้รับอนุญาต",
                "http_status": 404,
                "recovery": "เก็บรายละเอียดข้อผิดพลาดที่ส่งกลับไว้",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "อัตราค่าบริการที่ยอมรับไม่สามารถระบุปริมาณข้อมูลขาเข้าหรือขอบเขตที่จำเป็นได้",
                "http_status": 422,
                "recovery": "เก็บการตอบกลับไว้ ใช้รูปแบบข้อมูลขาเข้าที่อัตราค่าบริการที่ยอมรับกำหนดไว้",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "ที่เก็บข้อมูล เส้นทาง ราคาเมธอด หรือการกันวงเงินที่จำเป็นไม่พร้อมใช้งาน",
                "http_status": 503,
                "recovery": "เก็บการตอบกลับเดิมทั้งหมด การกันวงเงินที่ไม่แน่นอนไม่อนุญาตให้ส่งซ้ำ",
                "type": null
              },
              {
                "code": null,
                "condition": "ต้องตรวจสอบผลลัพธ์ การใช้งาน หรือการชำระบัญชีเดิม",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "เก็บ ID คำขอจริงและการตอบกลับเดิม อ่านบันทึกเดิมที่เป็นของคุณ อย่าส่งคำขอสร้างซ้ำ",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "เก็บ X-Client-Request-ID จริงและการตอบกลับทั้งหมด อ่านแอสเซ็ตเดิมที่เป็นของคุณและ URL เนื้อหาที่ลงลายเซ็นตรงตามที่ส่งกลับ ห้ามส่งคำขอสร้างที่ยังไม่แน่ชัดซ้ำ"
            },
            "outputs": {
              "all_results": "เก็บการตอบกลับและส่วนหัวให้ครบถ้วน เก็บผลลัพธ์จริงทุกรายการ ตัวระบุที่ส่งกลับมาแต่เดิม และฟิลด์ข้อมูลการใช้งานทั้งหมด กู้คืนการดำเนินการเดิมโดยไม่ส่งคำขอสร้างซ้ำ",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "เนื้อหาการตอบกลับเดิมทั้งหมด สถานะ และส่วนหัวที่ส่งต่อ ตัวจัดการนี้ไม่เพิ่มโครงสร้าง JSON ฟิลด์ข้อความ หรือโครงสร้างห่อหุ้มงานแบบสากล"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "elevenlabs/scribe-v2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "ตัวอย่างนี้อ่านไฟล์ PCM WAV จริงของคุณที่ไม่ว่าง เข้ารหัสไบต์ทั้งหมดของไฟล์เป็น base64 และส่ง input_audio.format เป็น wav"
            ],
            "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id ที่ตรงตามบันทึกสื่อเดิมซึ่งเป็นของคุณ",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain 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 (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "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.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'elevenlabs/scribe-v2', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\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# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "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.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "elevenlabs/scribe-v2",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      }
    ],
    "name": "ElevenLabs: Scribe v2",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "ElevenLabs Scribe v2 ถอดเสียงที่บันทึกไว้ในมากกว่า 90 ภาษา พร้อมข้อมูลเวลาระดับคำ การแยกผู้พูดที่เลือกเปิดได้ และแท็กเหตุการณ์ที่ไม่ใช่คำพูด ออกแบบมาสำหรับไฟล์บันทึกยาว คำบรรยาย และข้อความถอดเสียงที่แก้ไขได้ โดยรองรับคำสำคัญตามบริบทและตัวเลือกถอดตามคำพูดทุกคำหรือเกลาข้อความให้อ่านง่าย"
  },
  "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": "ElevenLabs Scribe v2 ถอดเสียงที่บันทึกไว้ในมากกว่า 90 ภาษา พร้อมข้อมูลเวลาระดับคำ การแยกผู้พูดที่เลือกเปิดได้ และแท็กเหตุการณ์ที่ไม่ใช่คำพูด ออกแบบมาสำหรับไฟล์บันทึกยาว คำบรรยาย และข้อความถอดเสียงที่แก้ไขได้ โดยรองรับคำสำคัญตามบริบทและตัวเลือกถอดตามคำพูดทุกคำหรือเกลาข้อความให้อ่านง่าย",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "45f8a6051f2b20d9ceac14a620c25ddfe46e8dcc5118ebc47528764744221658",
    "renderer_sha256": "890edb706fafafdd4f598bb324acf65fada58918b0911b97eb80e68be2ef65d9"
  },
  "sourceRevision": "309faeb93958360ea4623902c7a4b826e4bd5a6a3e1d3bb7933a62dacd5c59c1"
}
