{
  "aboutHtml": "<p>Google Gemini 3.8 Flash-Lite TTS เป็นสมาชิกตระกูลแปลงข้อความเป็นเสียง 3.8 ของ Google ที่เน้นปริมาณการประมวลผล รับบทเขียนและสร้างเสียงพูด Google วางตำแหน่งสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายผู้พูดคนเดียวทั่วไป การผลิตเสียงจำนวนมาก และขั้นเอาต์พุตเสียงของระบบเอเจนต์เสียง ชิ้นงานที่มีประโยชน์คือบทความอ่านด้วยเสียงสม่ำเสมอ คำอธิบายสินค้าที่พูด หรือชุดเสียงสอนสั้น ๆ บทควรมีคำที่ผู้ฟังต้องได้ยินครบแล้ว</p><p>ตระกูล 3.8 แยกบทข้อความจากคำกำกับการแสดง รักษาข้อความพูดตามต้นฉบับและใส่อารมณ์ จังหวะ ความดัง หรือสไตล์พูดต่อเนื่องในเมทาดาทาเสียง บทนำอบอุ่น คำสั่งเร่งด่วน และตอนจบเงียบ ๆ มีคำอธิบายสไตล์สั้นแนบกับเทิร์นของตนได้ ข้อความอย่าง “พูดอย่างร่าเริง” ในบทอาจถูกพูดออกมาด้วย ชื่อผู้พูดควรอยู่ในเมทาดาทาผู้พูด แทนป้ายในบทที่ได้ยิน การเตรียมนี้สำคัญเป็นพิเศษเมื่อใช้พรอมป์ต์ที่เขียนสำหรับ Gemini 3.1 Flash TTS ซ้ำ</p><p>ใช้แท็กวงเล็บมุมในบรรทัดสำหรับเหตุการณ์สั้น ณ จุดเฉพาะ เช่น หายใจ หัวเราะ ไอ ถอนหายใจ หรือหยุด ตัวอย่างบท “ขั้นตอนถัดไปง่ายมาก &lt;short pause&gt; เลือกภาษาที่คุณต้องการ” วางการหยุดไว้ใกล้คำที่ได้รับผล ใส่การกระซิบต่อเนื่องในคำอธิบายสไตล์ แทนเพิ่มแท็กเหตุการณ์ซ้ำ Google แนะนำชื่อแท็กภาษาอังกฤษแม้บทเป็นภาษาอื่น ตัวควบคุมเหล่านี้กำกับเสียงพูด ส่วนเสียงปรบมือหรือประตูปิดแรงต้องผลิตเสียงแยก ไม่ใช่แท็กเหตุการณ์เสียงจากปาก</p><p>Google ระบุ 101 ภาษาที่รุ่นนี้รองรับ รวมภาษาอังกฤษ รัสเซีย จีน ญี่ปุ่น เกาหลี ฝรั่งเศส เยอรมัน สเปน อินโดนีเซีย และเวียดนาม เขียนบทสมบูรณ์ในภาษาที่ตั้งใจ รวมรูปแบบชื่อ ตัวย่อ และตัวเลขที่ต้องการ ในการเตรียมบรรณาธิการ ให้เขียนตัวย่อกำกวมหรือการอ่านตัวเลขอย่างเต็มเมื่อผู้ฟังต้องได้ยินรูปเฉพาะ ฟังช่วงเริ่มที่มีชื่อและการเปลี่ยนผ่านยากก่อนถือว่าเสียงยาวเสร็จ จำนวนภาษาไม่ได้ทำให้การออกเสียงทุกภูมิภาคใช้แทนกันได้</p><p>ผู้ผลิตรองรับเสียงสำเร็จรูป คลังเสียงเพิ่มเติม บุคลิกเสียงที่ออกแบบ และการจำลองเสียง เลือกเอกลักษณ์เสียงแยกจากคำกำกับการแสดงชั่วคราว ใช้เอกลักษณ์และคำอธิบายการพูดสั้นซ้ำข้ามส่วนเมื่อต้องให้คำบรรยายต่อเนื่อง ในค่ากำหนดผู้พูดสองคนที่ระบุ ให้แต่ละเทิร์นมีผู้พูดชัดเจนที่ตรงกับหนึ่งในเสียงสำเร็จรูปสองเสียงที่กำหนด คู่มือ Google จัดการฉากหลายตัวละครที่ใช้เสียงออกแบบหรือจำลองโดยสร้างแต่ละเทิร์น ความต่างนี้สำคัญเมื่อวางบทสนทนาแทนผู้บรรยายคนเดียว</p><p>สำหรับคำขอทั่วไปที่เสร็จ คู่มือ 3.8 ของ Google ระบุเสียง WAV มีส่วนหัว RIFF ประกอบด้วย PCM 24 kHz โมโน 16 บิตแบบมีเครื่องหมายและ little-endian ส่วนค่ากำหนดสตรีมคืนชังก์ raw PCM ไม่มีส่วนหัวเป็นค่าเริ่มต้น คู่มือยังระบุตัวเลือก raw linear PCM, mu-law และ A-law ให้ค่าการเล่นหรือแก้ไขตรงรูปแบบเอาต์พุตจริง เปลี่ยนนามสกุล PCM ไม่มีส่วนหัวเป็น WAV ไม่ได้เพิ่มข้อมูลคอนเทนเนอร์ เมื่อประกอบเทิร์นที่สร้างแยก ให้รูปแบบเสียงคงที่และจัดการ WAV สมบูรณ์แต่ละไฟล์เป็นไฟล์ที่มีส่วนหัวของตน</p><p>หน้าโมเดลตรงตัวระบุขีดจำกัด Gemini API อินพุต 8,192 และเอาต์พุต 16,384 โทเคน โทเคนเสียงไม่ได้แสดงจำนวนวินาทีพูดคงที่ เตรียมเนื้อหายาวเป็นส่วนที่มีความหมาย คงเสียงและบรีฟสไตล์เดียวกัน และฟังรอยต่อ นี่คือขีดจำกัดให้บริการที่ผู้ผลิตระบุสำหรับรุ่นนี้ ซึ่งเป็นคนละปริมาณกับฟิลด์บริบทแค็ตตาล็อกทั่วไป ข้อความเป็นอินพุตและเสียงเป็นเอาต์พุต การร่างบท แปล และถอดเสียงจึงเป็นงานเตรียมหรือต่อยอดแยกกัน</p><p>Flash-Lite ใช้โครงสร้างคำขอ 3.8 ร่วมกับ Gemini 3.8 Flash TTS การเลือกจริงขึ้นกับการแสดงที่ต้องการ Flash-Lite มุ่งผลิตเร็วและซ้ำ ส่วน Flash TTS เป็นระดับสร้างสรรค์สำหรับการออกเสียงยาก การแสดงละเอียด และภาษาถิ่นที่กว้างกว่า บทความช่วยเหลือทั่วไปกับฉากดราม่าสองตัวละครต้องการเสียงต่างกัน ตรวจเสียงจริงเรื่องคำตกหล่นหรือซ้ำ การออกเสียง จังหวะ และการเปลี่ยนที่ได้ยินระหว่างช่วง ก่อนใช้ในประสบการณ์ฟังสุดท้าย</p>",
  "aboutText": "Google Gemini 3.8 Flash-Lite TTS เป็นสมาชิกตระกูลแปลงข้อความเป็นเสียง 3.8 ของ Google ที่เน้นปริมาณการประมวลผล รับบทเขียนและสร้างเสียงพูด Google วางตำแหน่งสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายผู้พูดคนเดียวทั่วไป การผลิตเสียงจำนวนมาก และขั้นเอาต์พุตเสียงของระบบเอเจนต์เสียง ชิ้นงานที่มีประโยชน์คือบทความอ่านด้วยเสียงสม่ำเสมอ คำอธิบายสินค้าที่พูด หรือชุดเสียงสอนสั้น ๆ บทควรมีคำที่ผู้ฟังต้องได้ยินครบแล้ว\n\nตระกูล 3.8 แยกบทข้อความจากคำกำกับการแสดง รักษาข้อความพูดตามต้นฉบับและใส่อารมณ์ จังหวะ ความดัง หรือสไตล์พูดต่อเนื่องในเมทาดาทาเสียง บทนำอบอุ่น คำสั่งเร่งด่วน และตอนจบเงียบ ๆ มีคำอธิบายสไตล์สั้นแนบกับเทิร์นของตนได้ ข้อความอย่าง “พูดอย่างร่าเริง” ในบทอาจถูกพูดออกมาด้วย ชื่อผู้พูดควรอยู่ในเมทาดาทาผู้พูด แทนป้ายในบทที่ได้ยิน การเตรียมนี้สำคัญเป็นพิเศษเมื่อใช้พรอมป์ต์ที่เขียนสำหรับ Gemini 3.1 Flash TTS ซ้ำ\n\nใช้แท็กวงเล็บมุมในบรรทัดสำหรับเหตุการณ์สั้น ณ จุดเฉพาะ เช่น หายใจ หัวเราะ ไอ ถอนหายใจ หรือหยุด ตัวอย่างบท “ขั้นตอนถัดไปง่ายมาก <short pause> เลือกภาษาที่คุณต้องการ” วางการหยุดไว้ใกล้คำที่ได้รับผล ใส่การกระซิบต่อเนื่องในคำอธิบายสไตล์ แทนเพิ่มแท็กเหตุการณ์ซ้ำ Google แนะนำชื่อแท็กภาษาอังกฤษแม้บทเป็นภาษาอื่น ตัวควบคุมเหล่านี้กำกับเสียงพูด ส่วนเสียงปรบมือหรือประตูปิดแรงต้องผลิตเสียงแยก ไม่ใช่แท็กเหตุการณ์เสียงจากปาก\n\nGoogle ระบุ 101 ภาษาที่รุ่นนี้รองรับ รวมภาษาอังกฤษ รัสเซีย จีน ญี่ปุ่น เกาหลี ฝรั่งเศส เยอรมัน สเปน อินโดนีเซีย และเวียดนาม เขียนบทสมบูรณ์ในภาษาที่ตั้งใจ รวมรูปแบบชื่อ ตัวย่อ และตัวเลขที่ต้องการ ในการเตรียมบรรณาธิการ ให้เขียนตัวย่อกำกวมหรือการอ่านตัวเลขอย่างเต็มเมื่อผู้ฟังต้องได้ยินรูปเฉพาะ ฟังช่วงเริ่มที่มีชื่อและการเปลี่ยนผ่านยากก่อนถือว่าเสียงยาวเสร็จ จำนวนภาษาไม่ได้ทำให้การออกเสียงทุกภูมิภาคใช้แทนกันได้\n\nผู้ผลิตรองรับเสียงสำเร็จรูป คลังเสียงเพิ่มเติม บุคลิกเสียงที่ออกแบบ และการจำลองเสียง เลือกเอกลักษณ์เสียงแยกจากคำกำกับการแสดงชั่วคราว ใช้เอกลักษณ์และคำอธิบายการพูดสั้นซ้ำข้ามส่วนเมื่อต้องให้คำบรรยายต่อเนื่อง ในค่ากำหนดผู้พูดสองคนที่ระบุ ให้แต่ละเทิร์นมีผู้พูดชัดเจนที่ตรงกับหนึ่งในเสียงสำเร็จรูปสองเสียงที่กำหนด คู่มือ Google จัดการฉากหลายตัวละครที่ใช้เสียงออกแบบหรือจำลองโดยสร้างแต่ละเทิร์น ความต่างนี้สำคัญเมื่อวางบทสนทนาแทนผู้บรรยายคนเดียว\n\nสำหรับคำขอทั่วไปที่เสร็จ คู่มือ 3.8 ของ Google ระบุเสียง WAV มีส่วนหัว RIFF ประกอบด้วย PCM 24 kHz โมโน 16 บิตแบบมีเครื่องหมายและ little-endian ส่วนค่ากำหนดสตรีมคืนชังก์ raw PCM ไม่มีส่วนหัวเป็นค่าเริ่มต้น คู่มือยังระบุตัวเลือก raw linear PCM, mu-law และ A-law ให้ค่าการเล่นหรือแก้ไขตรงรูปแบบเอาต์พุตจริง เปลี่ยนนามสกุล PCM ไม่มีส่วนหัวเป็น WAV ไม่ได้เพิ่มข้อมูลคอนเทนเนอร์ เมื่อประกอบเทิร์นที่สร้างแยก ให้รูปแบบเสียงคงที่และจัดการ WAV สมบูรณ์แต่ละไฟล์เป็นไฟล์ที่มีส่วนหัวของตน\n\nหน้าโมเดลตรงตัวระบุขีดจำกัด Gemini API อินพุต 8,192 และเอาต์พุต 16,384 โทเคน โทเคนเสียงไม่ได้แสดงจำนวนวินาทีพูดคงที่ เตรียมเนื้อหายาวเป็นส่วนที่มีความหมาย คงเสียงและบรีฟสไตล์เดียวกัน และฟังรอยต่อ นี่คือขีดจำกัดให้บริการที่ผู้ผลิตระบุสำหรับรุ่นนี้ ซึ่งเป็นคนละปริมาณกับฟิลด์บริบทแค็ตตาล็อกทั่วไป ข้อความเป็นอินพุตและเสียงเป็นเอาต์พุต การร่างบท แปล และถอดเสียงจึงเป็นงานเตรียมหรือต่อยอดแยกกัน\n\nFlash-Lite ใช้โครงสร้างคำขอ 3.8 ร่วมกับ Gemini 3.8 Flash TTS การเลือกจริงขึ้นกับการแสดงที่ต้องการ Flash-Lite มุ่งผลิตเร็วและซ้ำ ส่วน Flash TTS เป็นระดับสร้างสรรค์สำหรับการออกเสียงยาก การแสดงละเอียด และภาษาถิ่นที่กว้างกว่า บทความช่วยเหลือทั่วไปกับฉากดราม่าสองตัวละครต้องการเสียงต่างกัน ตรวจเสียงจริงเรื่องคำตกหล่นหรือซ้ำ การออกเสียง จังหวะ และการเปลี่ยนที่ได้ยินระหว่างช่วง ก่อนใช้ในประสบการณ์ฟังสุดท้าย",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c370ff37c0f585b13d433d9cca1e2cdb580e7304507f1d463a8d18d789b73b1e",
    "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.8 Flash Lite TTS</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"ปิด\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.8-flash-lite-tts</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|speech|/v1/audio/speech|google%2Fgemini-3.8-flash-lite-tts\">การสังเคราะห์เสียงพูด</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\">Google Gemini 3.8 Flash-Lite TTS เปลี่ยนบทที่แน่นอนเป็นเสียงพูดสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายทั่วไป และเนื้อหาเสียงจำนวนมาก รองรับ 101 ภาษา เลือกเสียงและควบคุมการพูดผ่านเมทาดาทาสไตล์แยก พร้อมแท็กในบรรทัดสำหรับหยุดสั้น ๆ และเหตุการณ์เสียง</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>Google Gemini 3.8 Flash-Lite TTS เป็นสมาชิกตระกูลแปลงข้อความเป็นเสียง 3.8 ของ Google ที่เน้นปริมาณการประมวลผล รับบทเขียนและสร้างเสียงพูด Google วางตำแหน่งสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายผู้พูดคนเดียวทั่วไป การผลิตเสียงจำนวนมาก และขั้นเอาต์พุตเสียงของระบบเอเจนต์เสียง ชิ้นงานที่มีประโยชน์คือบทความอ่านด้วยเสียงสม่ำเสมอ คำอธิบายสินค้าที่พูด หรือชุดเสียงสอนสั้น ๆ บทควรมีคำที่ผู้ฟังต้องได้ยินครบแล้ว</p><p>ตระกูล 3.8 แยกบทข้อความจากคำกำกับการแสดง รักษาข้อความพูดตามต้นฉบับและใส่อารมณ์ จังหวะ ความดัง หรือสไตล์พูดต่อเนื่องในเมทาดาทาเสียง บทนำอบอุ่น คำสั่งเร่งด่วน และตอนจบเงียบ ๆ มีคำอธิบายสไตล์สั้นแนบกับเทิร์นของตนได้ ข้อความอย่าง “พูดอย่างร่าเริง” ในบทอาจถูกพูดออกมาด้วย ชื่อผู้พูดควรอยู่ในเมทาดาทาผู้พูด แทนป้ายในบทที่ได้ยิน การเตรียมนี้สำคัญเป็นพิเศษเมื่อใช้พรอมป์ต์ที่เขียนสำหรับ Gemini 3.1 Flash TTS ซ้ำ</p><p>ใช้แท็กวงเล็บมุมในบรรทัดสำหรับเหตุการณ์สั้น ณ จุดเฉพาะ เช่น หายใจ หัวเราะ ไอ ถอนหายใจ หรือหยุด ตัวอย่างบท “ขั้นตอนถัดไปง่ายมาก &lt;short pause&gt; เลือกภาษาที่คุณต้องการ” วางการหยุดไว้ใกล้คำที่ได้รับผล ใส่การกระซิบต่อเนื่องในคำอธิบายสไตล์ แทนเพิ่มแท็กเหตุการณ์ซ้ำ Google แนะนำชื่อแท็กภาษาอังกฤษแม้บทเป็นภาษาอื่น ตัวควบคุมเหล่านี้กำกับเสียงพูด ส่วนเสียงปรบมือหรือประตูปิดแรงต้องผลิตเสียงแยก ไม่ใช่แท็กเหตุการณ์เสียงจากปาก</p><p>Google ระบุ 101 ภาษาที่รุ่นนี้รองรับ รวมภาษาอังกฤษ รัสเซีย จีน ญี่ปุ่น เกาหลี ฝรั่งเศส เยอรมัน สเปน อินโดนีเซีย และเวียดนาม เขียนบทสมบูรณ์ในภาษาที่ตั้งใจ รวมรูปแบบชื่อ ตัวย่อ และตัวเลขที่ต้องการ ในการเตรียมบรรณาธิการ ให้เขียนตัวย่อกำกวมหรือการอ่านตัวเลขอย่างเต็มเมื่อผู้ฟังต้องได้ยินรูปเฉพาะ ฟังช่วงเริ่มที่มีชื่อและการเปลี่ยนผ่านยากก่อนถือว่าเสียงยาวเสร็จ จำนวนภาษาไม่ได้ทำให้การออกเสียงทุกภูมิภาคใช้แทนกันได้</p><p>ผู้ผลิตรองรับเสียงสำเร็จรูป คลังเสียงเพิ่มเติม บุคลิกเสียงที่ออกแบบ และการจำลองเสียง เลือกเอกลักษณ์เสียงแยกจากคำกำกับการแสดงชั่วคราว ใช้เอกลักษณ์และคำอธิบายการพูดสั้นซ้ำข้ามส่วนเมื่อต้องให้คำบรรยายต่อเนื่อง ในค่ากำหนดผู้พูดสองคนที่ระบุ ให้แต่ละเทิร์นมีผู้พูดชัดเจนที่ตรงกับหนึ่งในเสียงสำเร็จรูปสองเสียงที่กำหนด คู่มือ Google จัดการฉากหลายตัวละครที่ใช้เสียงออกแบบหรือจำลองโดยสร้างแต่ละเทิร์น ความต่างนี้สำคัญเมื่อวางบทสนทนาแทนผู้บรรยายคนเดียว</p><p>สำหรับคำขอทั่วไปที่เสร็จ คู่มือ 3.8 ของ Google ระบุเสียง WAV มีส่วนหัว RIFF ประกอบด้วย PCM 24 kHz โมโน 16 บิตแบบมีเครื่องหมายและ little-endian ส่วนค่ากำหนดสตรีมคืนชังก์ raw PCM ไม่มีส่วนหัวเป็นค่าเริ่มต้น คู่มือยังระบุตัวเลือก raw linear PCM, mu-law และ A-law ให้ค่าการเล่นหรือแก้ไขตรงรูปแบบเอาต์พุตจริง เปลี่ยนนามสกุล PCM ไม่มีส่วนหัวเป็น WAV ไม่ได้เพิ่มข้อมูลคอนเทนเนอร์ เมื่อประกอบเทิร์นที่สร้างแยก ให้รูปแบบเสียงคงที่และจัดการ WAV สมบูรณ์แต่ละไฟล์เป็นไฟล์ที่มีส่วนหัวของตน</p><p>หน้าโมเดลตรงตัวระบุขีดจำกัด Gemini API อินพุต 8,192 และเอาต์พุต 16,384 โทเคน โทเคนเสียงไม่ได้แสดงจำนวนวินาทีพูดคงที่ เตรียมเนื้อหายาวเป็นส่วนที่มีความหมาย คงเสียงและบรีฟสไตล์เดียวกัน และฟังรอยต่อ นี่คือขีดจำกัดให้บริการที่ผู้ผลิตระบุสำหรับรุ่นนี้ ซึ่งเป็นคนละปริมาณกับฟิลด์บริบทแค็ตตาล็อกทั่วไป ข้อความเป็นอินพุตและเสียงเป็นเอาต์พุต การร่างบท แปล และถอดเสียงจึงเป็นงานเตรียมหรือต่อยอดแยกกัน</p><p>Flash-Lite ใช้โครงสร้างคำขอ 3.8 ร่วมกับ Gemini 3.8 Flash TTS การเลือกจริงขึ้นกับการแสดงที่ต้องการ Flash-Lite มุ่งผลิตเร็วและซ้ำ ส่วน Flash TTS เป็นระดับสร้างสรรค์สำหรับการออกเสียงยาก การแสดงละเอียด และภาษาถิ่นที่กว้างกว่า บทความช่วยเหลือทั่วไปกับฉากดราม่าสองตัวละครต้องการเสียงต่างกัน ตรวจเสียงจริงเรื่องคำตกหล่นหรือซ้ำ การออกเสียง จังหวะ และการเปลี่ยนที่ได้ยินระหว่างช่วง ก่อนใช้ในประสบการณ์ฟังสุดท้าย</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/speech</code></summary><dl class=\"method-capabilities\"><div><dt>ขาเข้า</dt><dd><code>text</code></dd></div><div><dt>ขาออก</dt><dd><code>audio</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>google/gemini-3.8-flash-lite-tts</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</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>ความยาวขั้นต่ำ: 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\">voice</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>Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat</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>mp3, pcm</div></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"known\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>pcm</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, voice</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>text</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>/ 1K โทเค็น</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาเข้า</span> <b>$0.001</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>/ 1K โทเค็น</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาออก</span> <b>$0.012</b> <span class=\"price-unit\">/ 1K โทเค็น</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-1476-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1476-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-1476-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1476-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;google/gemini-3.8-flash-lite-tts&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;Zephyr&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#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/speech \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\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\">เสียงไบนารีทั้งหมดหรือการตอบกลับ audio_url เดิม ส่วนหัว และแอสเซ็ตทุกชิ้นที่เป็นของคุณ</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><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-1477-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1477-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-1477-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1477-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></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=google%2Fgemini-3.8-flash-lite-tts&amp;route=Ultra&amp;caller=google%2Fgemini-3.8-flash-lite-tts&amp;fmt=speech\"><code>google/gemini-3.8-flash-lite-tts</code></a></span></p><h4>ชื่อพาธเมธอดอื่น</h4><p class=\"note-s\">ใช้พาธเมธอดที่แสดงด้านบน</p><h4>ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemini-3.8-flash-lite-tts&amp;route=Ultra&amp;caller=google%2Fgemini-3.8-flash-lite-tts&amp;fmt=speech\"><code>google/gemini-3.8-flash-lite-tts</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.8-flash-lite-tts",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "google/gemini-3.8-flash-lite-tts",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|google%2Fgemini-3.8-flash-lite-tts",
      "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.",
            "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": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "เสียงไบนารีทั้งหมดหรือการตอบกลับ audio_url เดิม ส่วนหัว และแอสเซ็ตทุกชิ้นที่เป็นของคุณ"
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.8-flash-lite-tts"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-3.8-flash-lite-tts"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.8-flash-lite-tts",
                "voice": "Zephyr"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "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/speech"
          },
          "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": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000012",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'google/gemini-3.8-flash-lite-tts', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Zephyr'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\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/speech \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the 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": "speech",
        "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": [
          "text"
        ],
        "label": "เสียงพูด",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": {
            "input_token": 1e-06,
            "output_token": 1.2e-05
          }
        },
        "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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000012",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.8-flash-lite-tts",
        "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.001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000001",
            "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": "0.012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000012",
            "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"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemini-3.8-flash-lite-tts",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "d03b44768cf25732e1a6b950cab033a9da4f07c4cf6bc235c73a17ad12e94eba",
    "input_html_sha256": "693d54f8b1f276549480e582b9366b7160804a7904f760530684b45d77fa4370",
    "private_audit_sha256": "bd7124f0e2d4aa3a520682e2e2a14f7aaf3d68dcfc294492c6c9408ba600b2c4",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/th/google-gemini-3-8-flash-lite-tts/",
    "description": "Google Gemini 3.8 Flash-Lite TTS เปลี่ยนบทที่แน่นอนเป็นเสียงพูดสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายทั่วไป และเนื้อหาเสียงจำนวนมาก รองรับ 101 ภาษา เลือกเสียงและควบคุมการพูดผ่านเมทาดาทาสไตล์แยก พร้อมแท็กในบรรทัดสำหรับหยุดสั้น ๆ และเหตุการณ์เสียง",
    "locale": "th",
    "md_url": "https://ailoot.ai/models/th/google-gemini-3-8-flash-lite-tts/index.md",
    "title": "Google: Gemini 3.8 Flash Lite TTS — Ailoot",
    "url": "https://ailoot.ai/models/th/google-gemini-3-8-flash-lite-tts/"
  },
  "rawModel": {
    "about": "Google Gemini 3.8 Flash-Lite TTS เป็นสมาชิกตระกูลแปลงข้อความเป็นเสียง 3.8 ของ Google ที่เน้นปริมาณการประมวลผล รับบทเขียนและสร้างเสียงพูด Google วางตำแหน่งสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายผู้พูดคนเดียวทั่วไป การผลิตเสียงจำนวนมาก และขั้นเอาต์พุตเสียงของระบบเอเจนต์เสียง ชิ้นงานที่มีประโยชน์คือบทความอ่านด้วยเสียงสม่ำเสมอ คำอธิบายสินค้าที่พูด หรือชุดเสียงสอนสั้น ๆ บทควรมีคำที่ผู้ฟังต้องได้ยินครบแล้ว\n\nตระกูล 3.8 แยกบทข้อความจากคำกำกับการแสดง รักษาข้อความพูดตามต้นฉบับและใส่อารมณ์ จังหวะ ความดัง หรือสไตล์พูดต่อเนื่องในเมทาดาทาเสียง บทนำอบอุ่น คำสั่งเร่งด่วน และตอนจบเงียบ ๆ มีคำอธิบายสไตล์สั้นแนบกับเทิร์นของตนได้ ข้อความอย่าง “พูดอย่างร่าเริง” ในบทอาจถูกพูดออกมาด้วย ชื่อผู้พูดควรอยู่ในเมทาดาทาผู้พูด แทนป้ายในบทที่ได้ยิน การเตรียมนี้สำคัญเป็นพิเศษเมื่อใช้พรอมป์ต์ที่เขียนสำหรับ Gemini 3.1 Flash TTS ซ้ำ\n\nใช้แท็กวงเล็บมุมในบรรทัดสำหรับเหตุการณ์สั้น ณ จุดเฉพาะ เช่น หายใจ หัวเราะ ไอ ถอนหายใจ หรือหยุด ตัวอย่างบท “ขั้นตอนถัดไปง่ายมาก <short pause> เลือกภาษาที่คุณต้องการ” วางการหยุดไว้ใกล้คำที่ได้รับผล ใส่การกระซิบต่อเนื่องในคำอธิบายสไตล์ แทนเพิ่มแท็กเหตุการณ์ซ้ำ Google แนะนำชื่อแท็กภาษาอังกฤษแม้บทเป็นภาษาอื่น ตัวควบคุมเหล่านี้กำกับเสียงพูด ส่วนเสียงปรบมือหรือประตูปิดแรงต้องผลิตเสียงแยก ไม่ใช่แท็กเหตุการณ์เสียงจากปาก\n\nGoogle ระบุ 101 ภาษาที่รุ่นนี้รองรับ รวมภาษาอังกฤษ รัสเซีย จีน ญี่ปุ่น เกาหลี ฝรั่งเศส เยอรมัน สเปน อินโดนีเซีย และเวียดนาม เขียนบทสมบูรณ์ในภาษาที่ตั้งใจ รวมรูปแบบชื่อ ตัวย่อ และตัวเลขที่ต้องการ ในการเตรียมบรรณาธิการ ให้เขียนตัวย่อกำกวมหรือการอ่านตัวเลขอย่างเต็มเมื่อผู้ฟังต้องได้ยินรูปเฉพาะ ฟังช่วงเริ่มที่มีชื่อและการเปลี่ยนผ่านยากก่อนถือว่าเสียงยาวเสร็จ จำนวนภาษาไม่ได้ทำให้การออกเสียงทุกภูมิภาคใช้แทนกันได้\n\nผู้ผลิตรองรับเสียงสำเร็จรูป คลังเสียงเพิ่มเติม บุคลิกเสียงที่ออกแบบ และการจำลองเสียง เลือกเอกลักษณ์เสียงแยกจากคำกำกับการแสดงชั่วคราว ใช้เอกลักษณ์และคำอธิบายการพูดสั้นซ้ำข้ามส่วนเมื่อต้องให้คำบรรยายต่อเนื่อง ในค่ากำหนดผู้พูดสองคนที่ระบุ ให้แต่ละเทิร์นมีผู้พูดชัดเจนที่ตรงกับหนึ่งในเสียงสำเร็จรูปสองเสียงที่กำหนด คู่มือ Google จัดการฉากหลายตัวละครที่ใช้เสียงออกแบบหรือจำลองโดยสร้างแต่ละเทิร์น ความต่างนี้สำคัญเมื่อวางบทสนทนาแทนผู้บรรยายคนเดียว\n\nสำหรับคำขอทั่วไปที่เสร็จ คู่มือ 3.8 ของ Google ระบุเสียง WAV มีส่วนหัว RIFF ประกอบด้วย PCM 24 kHz โมโน 16 บิตแบบมีเครื่องหมายและ little-endian ส่วนค่ากำหนดสตรีมคืนชังก์ raw PCM ไม่มีส่วนหัวเป็นค่าเริ่มต้น คู่มือยังระบุตัวเลือก raw linear PCM, mu-law และ A-law ให้ค่าการเล่นหรือแก้ไขตรงรูปแบบเอาต์พุตจริง เปลี่ยนนามสกุล PCM ไม่มีส่วนหัวเป็น WAV ไม่ได้เพิ่มข้อมูลคอนเทนเนอร์ เมื่อประกอบเทิร์นที่สร้างแยก ให้รูปแบบเสียงคงที่และจัดการ WAV สมบูรณ์แต่ละไฟล์เป็นไฟล์ที่มีส่วนหัวของตน\n\nหน้าโมเดลตรงตัวระบุขีดจำกัด Gemini API อินพุต 8,192 และเอาต์พุต 16,384 โทเคน โทเคนเสียงไม่ได้แสดงจำนวนวินาทีพูดคงที่ เตรียมเนื้อหายาวเป็นส่วนที่มีความหมาย คงเสียงและบรีฟสไตล์เดียวกัน และฟังรอยต่อ นี่คือขีดจำกัดให้บริการที่ผู้ผลิตระบุสำหรับรุ่นนี้ ซึ่งเป็นคนละปริมาณกับฟิลด์บริบทแค็ตตาล็อกทั่วไป ข้อความเป็นอินพุตและเสียงเป็นเอาต์พุต การร่างบท แปล และถอดเสียงจึงเป็นงานเตรียมหรือต่อยอดแยกกัน\n\nFlash-Lite ใช้โครงสร้างคำขอ 3.8 ร่วมกับ Gemini 3.8 Flash TTS การเลือกจริงขึ้นกับการแสดงที่ต้องการ Flash-Lite มุ่งผลิตเร็วและซ้ำ ส่วน Flash TTS เป็นระดับสร้างสรรค์สำหรับการออกเสียงยาก การแสดงละเอียด และภาษาถิ่นที่กว้างกว่า บทความช่วยเหลือทั่วไปกับฉากดราม่าสองตัวละครต้องการเสียงต่างกัน ตรวจเสียงจริงเรื่องคำตกหล่นหรือซ้ำ การออกเสียง จังหวะ และการเปลี่ยนที่ได้ยินระหว่างช่วง ก่อนใช้ในประสบการณ์ฟังสุดท้าย",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 32768,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000001",
            "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": "0.012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000012",
            "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"
          }
        ],
        "summary": "ดูราคาตามการกำหนดค่าแบบครบถ้วนในรายละเอียด"
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "google/gemini-3.8-flash-lite-tts",
    "input": [
      "text"
    ],
    "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.",
            "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": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "เสียงไบนารีทั้งหมดหรือการตอบกลับ audio_url เดิม ส่วนหัว และแอสเซ็ตทุกชิ้นที่เป็นของคุณ"
            },
            "parameters": [
              {
                "enum": [
                  "google/gemini-3.8-flash-lite-tts"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "Zephyr",
                  "Puck",
                  "Charon",
                  "Kore",
                  "Fenrir",
                  "Leda",
                  "Orus",
                  "Aoede",
                  "Callirrhoe",
                  "Autonoe",
                  "Enceladus",
                  "Iapetus",
                  "Umbriel",
                  "Algieba",
                  "Despina",
                  "Erinome",
                  "Algenib",
                  "Rasalgethi",
                  "Laomedeia",
                  "Achernar",
                  "Alnilam",
                  "Schedar",
                  "Gacrux",
                  "Pulcherrima",
                  "Achird",
                  "Zubenelgenubi",
                  "Vindemiatrix",
                  "Sadachbia",
                  "Sadaltager",
                  "Sulafat"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "google/gemini-3.8-flash-lite-tts"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "Zephyr",
                    "Puck",
                    "Charon",
                    "Kore",
                    "Fenrir",
                    "Leda",
                    "Orus",
                    "Aoede",
                    "Callirrhoe",
                    "Autonoe",
                    "Enceladus",
                    "Iapetus",
                    "Umbriel",
                    "Algieba",
                    "Despina",
                    "Erinome",
                    "Algenib",
                    "Rasalgethi",
                    "Laomedeia",
                    "Achernar",
                    "Alnilam",
                    "Schedar",
                    "Gacrux",
                    "Pulcherrima",
                    "Achird",
                    "Zubenelgenubi",
                    "Vindemiatrix",
                    "Sadachbia",
                    "Sadaltager",
                    "Sulafat"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "google/gemini-3.8-flash-lite-tts",
                "voice": "Zephyr"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "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/speech"
          },
          "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": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000012",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'google/gemini-3.8-flash-lite-tts', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Zephyr'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\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/speech \\\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 response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the 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": "speech",
        "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": [
          "text"
        ],
        "label": "เสียงพูด",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": {
            "input_token": 1e-06,
            "output_token": 1.2e-05
          }
        },
        "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": "/ 1K tokens"
            },
            "label": "input token",
            "units": [
              {
                "amount": "0.001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.000001",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "output token",
            "units": [
              {
                "amount": "0.012000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_token",
                "label": "output token",
                "native_amount_usd_per_unit": "0.000012",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "google/gemini-3.8-flash-lite-tts",
        "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.001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.000001",
            "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": "0.012000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_token",
            "label": "output token",
            "native_amount_usd_per_unit": "0.000012",
            "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"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemini-3.8-flash-lite-tts",
        "request_model_id": "google/gemini-3.8-flash-lite-tts",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 3.8 Flash Lite TTS",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.012,
      "out_label": "/ 1K tokens",
      "sort_in": null,
      "sort_out": 0.012,
      "varies": true
    },
    "short": "Google Gemini 3.8 Flash-Lite TTS เปลี่ยนบทที่แน่นอนเป็นเสียงพูดสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายทั่วไป และเนื้อหาเสียงจำนวนมาก รองรับ 101 ภาษา เลือกเสียงและควบคุมการพูดผ่านเมทาดาทาสไตล์แยก พร้อมแท็กในบรรทัดสำหรับหยุดสั้น ๆ และเหตุการณ์เสียง"
  },
  "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": "Google Gemini 3.8 Flash-Lite TTS เปลี่ยนบทที่แน่นอนเป็นเสียงพูดสำหรับฟีเจอร์อ่านออกเสียง งานบรรยายทั่วไป และเนื้อหาเสียงจำนวนมาก รองรับ 101 ภาษา เลือกเสียงและควบคุมการพูดผ่านเมทาดาทาสไตล์แยก พร้อมแท็กในบรรทัดสำหรับหยุดสั้น ๆ และเหตุการณ์เสียง",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "5eeb57e86001d8a9d7706a7575e0a7fa893d34b8388f7d358ba80398fd4be3c0",
    "renderer_sha256": "890edb706fafafdd4f598bb324acf65fada58918b0911b97eb80e68be2ef65d9"
  },
  "sourceRevision": "505546396da6185dcc394b98f16866a44218eafad73ecbfb1bd34178bc7f636d"
}
