{
  "aboutHtml": "<p>Recraft V4.1 Vector เป็นโมเดล SVG มาตรฐานในตระกูล V4.1 ของ Recraft มีหน้าที่สร้างภาพประกอบ โลโก้ และตัวอักษรที่ปรับรูปทรง เปลี่ยนสี และใช้เป็นชิ้นงานเวกเตอร์ได้ รับบรีฟข้อความและทำงานกับอินพุตภาพได้ผ่านเวิร์กโฟลว์สไตล์หรือ image-to-image ที่ผู้ผลิตระบุ SVG ที่ได้เป็นชิ้นงานต่างจากภาพแรสเตอร์ WebP หรือ PNG ของ V4.1 ควรระบุรุ่นนี้ด้วยรูปแบบเวกเตอร์แทนป้ายความละเอียดแรสเตอร์</p><p>รุ่นที่ตรงคือ recraftv4_1_vector ซึ่งแยกจาก recraftv4_1_pro_vector และโมเดล Utility Vector คู่มือขนาดระบุว่าเวกเตอร์ทุกรุ่นรับอัตราส่วนภาพสิบสี่แบบในรูปความกว้างต่อความสูง และสร้าง SVG ที่ไม่มีขนาดพิกเซลตายตัว ใช้สัดส่วนนั้นกำหนดองค์ประกอบภาพที่ต้องการ เช่น ไอคอนสี่เหลี่ยมจัตุรัสหรือโลโก้แนวกว้าง จากนั้นจึงเลือกขนาดแสดงผลในเวิร์กโฟลว์ออกแบบ แทนการให้เอาต์พุตแรสเตอร์ 1K กำหนดขนาด</p><p>ผู้ผลิตวางตำแหน่ง V4.1 Vector สำหรับตัวพิมพ์ที่สื่ออารมณ์และภาพประกอบสะอาด บรีฟที่มีประโยชน์ระบุวัตถุหรือคำ ลักษณะเรขาคณิต ความหนาเส้น แนวทางการลงสี และระบบสี สำหรับสัญลักษณ์ร้านเบเกอรี ให้ขอกราฟิกเล็กที่มีรวงธัญพืชโค้งหนึ่งรวง รูปเงาหนาเด่น และสีอุ่นสองสี ระบุความสัมพันธ์เชิงพื้นที่ที่สำคัญให้ชัด แทนการพึ่งวลีกว้าง ๆ เช่น โลโก้ทันสมัย สำหรับตระกูลไอคอน ให้คงกฎโครงสร้างและเปลี่ยนวัตถุที่ระบุ</p><p>สไตล์กำหนดเองที่เลือกใช้ได้ช่วยนำแนวทางภาพเดียวกันผ่านสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้หรือภาพอ้างอิง V4.1 รองรับสีที่ต้องการ สีพื้นหลังที่ต้องการ seed แบบสุ่ม และพรอมป์ต์ยาวไม่เกิน 10,000 อักขระ เวิร์กโฟลว์สร้างส่งกลับผลลัพธ์หนึ่งถึงหกชิ้นได้ สไตล์อ้างอิงเป็นตัวเลือกสำหรับโมเดลสายหลักนี้ และต้องเข้ากันได้กับโมเดลที่ใช้สร้างสไตล์นั้น ใช้ภาพอ้างอิงสะอาดจากโลกภาพเดียวกัน ไม่มีการรับประกันว่าจะจับคู่สีจากภาพอ้างอิงกับเอาต์พุตตรงทุกประการ สำหรับการสร้างโดยอ้างอิงสไตล์ ให้ใช้ภาพ PNG, JPG หรือ WebP หนึ่งถึงสิบภาพ ขนาดรวมไม่เกิน 64 MB และแต่ละภาพต่ำกว่า 20 MB ภาพอ้างอิงแต่ละภาพต้องมีด้านสั้นอย่างน้อย 256 พิกเซล ด้านยาวไม่เกิน 4,096 พิกเซล และความละเอียดไม่เกิน 16 เมกะพิกเซล ใช้ภาพอ้างอิงเหล่านี้หรือสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้อย่างใดอย่างหนึ่ง ไม่ใช้ทั้งสองพร้อมกัน สำหรับการสร้างโดยอ้างอิงสไตล์ การจับคู่ flexible อนุญาตการตีความที่หลวมกว่า ส่วน precise ทำตามการเรนเดอร์ ชุดสี องค์ประกอบภาพ และแสงใกล้ชิดกว่า</p><p>การดำเนินการ image-to-image ที่แยกต่างหากสามารถส่งกลับ SVG เมื่อเลือกโมเดลเวกเตอร์ V4.1 แนบภาพที่มีอยู่และอธิบายการเปลี่ยนแปลงที่ต้องการ โดย strength ตั้งแต่ 0 ถึง 1 ระบุว่าผลลัพธ์เปลี่ยนจากต้นทางได้มากเพียงใด การดำเนินการรองรับอินพุต PNG, JPG, WebP หรือ SVG ต่ำกว่า 20 MB ไม่เกิน 16 MP โดยด้านต่าง ๆ อยู่ระหว่าง 256 และ 4096 พิกเซล ตัวควบคุมจับคู่สไตล์ของ V4.1 ไม่รองรับในการแปลงนั้น ภาพอ้างอิงสไตล์สำหรับการสร้างกับภาพที่จะแปลงมีบทบาทต่างกัน</p><p>เอกสารอ้างอิง V4.1 ปัจจุบันไม่รวมชื่อสไตล์คัดสรร, negative_prompt, text_layout, artistic_level และ no_text ให้อธิบายเลย์เอาต์และข้อความที่ต้องการในเชิงบวก แทนการย้ายตัวควบคุมจาก V3 ตรวจโลโก้หรือภาพประกอบที่สร้างในฐานะ SVG โดยตัวอักษร รูปเงา พื้นที่สี และรายละเอียดเล็กต้องทำงานได้ในองค์ประกอบภาพจริง ข้อได้เปรียบในทางใช้งานคือจุดเริ่มต้นเวกเตอร์ที่แก้ไขได้และทำตามบรีฟออกแบบเฉพาะ ไม่ใช่สมมติฐานว่ากราฟิกทุกชิ้นที่ได้รับไม่ต้องปรับงานอีก</p><p>ผ่าน Ailoot ให้เลือก ID โมเดลนี้ให้ตรงใน /v1/images/generations และส่งพรอมป์ต์สร้างสรรค์ โปรไฟล์ภาพอ้างอิงที่ Ailoot ระบุรับอาร์เรย์ input_references ที่เลือกแนบได้ โดยมีรายการ image_url ได้ไม่เกินหนึ่งรายการ เก็บทุกรายการ data ที่ได้รับ ไม่ว่าคำตอบจะมี URL หรือเนื้อหาภาพที่เข้ารหัส และบันทึกไบต์จริงพร้อมชนิดเนื้อหาที่ได้รับ เก็บ usage และ media task_id ที่มีไว้กับชิ้นงาน แล้วตรวจรูปทรง ตัวอักษร และพื้นที่สีในงานออกแบบที่ตั้งใจ</p>",
  "aboutText": "Recraft V4.1 Vector เป็นโมเดล SVG มาตรฐานในตระกูล V4.1 ของ Recraft มีหน้าที่สร้างภาพประกอบ โลโก้ และตัวอักษรที่ปรับรูปทรง เปลี่ยนสี และใช้เป็นชิ้นงานเวกเตอร์ได้ รับบรีฟข้อความและทำงานกับอินพุตภาพได้ผ่านเวิร์กโฟลว์สไตล์หรือ image-to-image ที่ผู้ผลิตระบุ SVG ที่ได้เป็นชิ้นงานต่างจากภาพแรสเตอร์ WebP หรือ PNG ของ V4.1 ควรระบุรุ่นนี้ด้วยรูปแบบเวกเตอร์แทนป้ายความละเอียดแรสเตอร์\n\nรุ่นที่ตรงคือ recraftv4_1_vector ซึ่งแยกจาก recraftv4_1_pro_vector และโมเดล Utility Vector คู่มือขนาดระบุว่าเวกเตอร์ทุกรุ่นรับอัตราส่วนภาพสิบสี่แบบในรูปความกว้างต่อความสูง และสร้าง SVG ที่ไม่มีขนาดพิกเซลตายตัว ใช้สัดส่วนนั้นกำหนดองค์ประกอบภาพที่ต้องการ เช่น ไอคอนสี่เหลี่ยมจัตุรัสหรือโลโก้แนวกว้าง จากนั้นจึงเลือกขนาดแสดงผลในเวิร์กโฟลว์ออกแบบ แทนการให้เอาต์พุตแรสเตอร์ 1K กำหนดขนาด\n\nผู้ผลิตวางตำแหน่ง V4.1 Vector สำหรับตัวพิมพ์ที่สื่ออารมณ์และภาพประกอบสะอาด บรีฟที่มีประโยชน์ระบุวัตถุหรือคำ ลักษณะเรขาคณิต ความหนาเส้น แนวทางการลงสี และระบบสี สำหรับสัญลักษณ์ร้านเบเกอรี ให้ขอกราฟิกเล็กที่มีรวงธัญพืชโค้งหนึ่งรวง รูปเงาหนาเด่น และสีอุ่นสองสี ระบุความสัมพันธ์เชิงพื้นที่ที่สำคัญให้ชัด แทนการพึ่งวลีกว้าง ๆ เช่น โลโก้ทันสมัย สำหรับตระกูลไอคอน ให้คงกฎโครงสร้างและเปลี่ยนวัตถุที่ระบุ\n\nสไตล์กำหนดเองที่เลือกใช้ได้ช่วยนำแนวทางภาพเดียวกันผ่านสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้หรือภาพอ้างอิง V4.1 รองรับสีที่ต้องการ สีพื้นหลังที่ต้องการ seed แบบสุ่ม และพรอมป์ต์ยาวไม่เกิน 10,000 อักขระ เวิร์กโฟลว์สร้างส่งกลับผลลัพธ์หนึ่งถึงหกชิ้นได้ สไตล์อ้างอิงเป็นตัวเลือกสำหรับโมเดลสายหลักนี้ และต้องเข้ากันได้กับโมเดลที่ใช้สร้างสไตล์นั้น ใช้ภาพอ้างอิงสะอาดจากโลกภาพเดียวกัน ไม่มีการรับประกันว่าจะจับคู่สีจากภาพอ้างอิงกับเอาต์พุตตรงทุกประการ สำหรับการสร้างโดยอ้างอิงสไตล์ ให้ใช้ภาพ PNG, JPG หรือ WebP หนึ่งถึงสิบภาพ ขนาดรวมไม่เกิน 64 MB และแต่ละภาพต่ำกว่า 20 MB ภาพอ้างอิงแต่ละภาพต้องมีด้านสั้นอย่างน้อย 256 พิกเซล ด้านยาวไม่เกิน 4,096 พิกเซล และความละเอียดไม่เกิน 16 เมกะพิกเซล ใช้ภาพอ้างอิงเหล่านี้หรือสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้อย่างใดอย่างหนึ่ง ไม่ใช้ทั้งสองพร้อมกัน สำหรับการสร้างโดยอ้างอิงสไตล์ การจับคู่ flexible อนุญาตการตีความที่หลวมกว่า ส่วน precise ทำตามการเรนเดอร์ ชุดสี องค์ประกอบภาพ และแสงใกล้ชิดกว่า\n\nการดำเนินการ image-to-image ที่แยกต่างหากสามารถส่งกลับ SVG เมื่อเลือกโมเดลเวกเตอร์ V4.1 แนบภาพที่มีอยู่และอธิบายการเปลี่ยนแปลงที่ต้องการ โดย strength ตั้งแต่ 0 ถึง 1 ระบุว่าผลลัพธ์เปลี่ยนจากต้นทางได้มากเพียงใด การดำเนินการรองรับอินพุต PNG, JPG, WebP หรือ SVG ต่ำกว่า 20 MB ไม่เกิน 16 MP โดยด้านต่าง ๆ อยู่ระหว่าง 256 และ 4096 พิกเซล ตัวควบคุมจับคู่สไตล์ของ V4.1 ไม่รองรับในการแปลงนั้น ภาพอ้างอิงสไตล์สำหรับการสร้างกับภาพที่จะแปลงมีบทบาทต่างกัน\n\nเอกสารอ้างอิง V4.1 ปัจจุบันไม่รวมชื่อสไตล์คัดสรร, negative_prompt, text_layout, artistic_level และ no_text ให้อธิบายเลย์เอาต์และข้อความที่ต้องการในเชิงบวก แทนการย้ายตัวควบคุมจาก V3 ตรวจโลโก้หรือภาพประกอบที่สร้างในฐานะ SVG โดยตัวอักษร รูปเงา พื้นที่สี และรายละเอียดเล็กต้องทำงานได้ในองค์ประกอบภาพจริง ข้อได้เปรียบในทางใช้งานคือจุดเริ่มต้นเวกเตอร์ที่แก้ไขได้และทำตามบรีฟออกแบบเฉพาะ ไม่ใช่สมมติฐานว่ากราฟิกทุกชิ้นที่ได้รับไม่ต้องปรับงานอีก\n\nผ่าน Ailoot ให้เลือก ID โมเดลนี้ให้ตรงใน /v1/images/generations และส่งพรอมป์ต์สร้างสรรค์ โปรไฟล์ภาพอ้างอิงที่ Ailoot ระบุรับอาร์เรย์ input_references ที่เลือกแนบได้ โดยมีรายการ image_url ได้ไม่เกินหนึ่งรายการ เก็บทุกรายการ data ที่ได้รับ ไม่ว่าคำตอบจะมี URL หรือเนื้อหาภาพที่เข้ารหัส และบันทึกไบต์จริงพร้อมชนิดเนื้อหาที่ได้รับ เก็บ usage และ media task_id ที่มีไว้กับชิ้นงาน แล้วตรวจรูปทรง ตัวอักษร และพื้นที่สีในงานออกแบบที่ตั้งใจ",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4682c3b3fefe0168fa46dba46667f77733fef7289f54f1124b403efa767cdf13",
    "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\">Recraft: Recraft V4.1 Vector</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"ปิด\">×</button></div><div class=\"idline\"><span>อื่น ๆ /</span><code>recraft/recraft-v4.1-vector</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|images|/v1/images/generations|recraft%2Frecraft-v4.1-vector\">รูปภาพ</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\">Recraft V4.1 Vector สร้างโลโก้ ตัวอักษร และภาพประกอบ SVG ที่แก้ไขได้จากข้อความ โดยเลือกใช้อินพุตภาพและสไตล์ได้ เป็นรุ่นเวกเตอร์มาตรฐานของ V4.1 สำหรับกราฟิกที่ต้องการเรขาคณิตปรับขนาดได้และการปรับงานออกแบบภายหลัง</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>Recraft V4.1 Vector เป็นโมเดล SVG มาตรฐานในตระกูล V4.1 ของ Recraft มีหน้าที่สร้างภาพประกอบ โลโก้ และตัวอักษรที่ปรับรูปทรง เปลี่ยนสี และใช้เป็นชิ้นงานเวกเตอร์ได้ รับบรีฟข้อความและทำงานกับอินพุตภาพได้ผ่านเวิร์กโฟลว์สไตล์หรือ image-to-image ที่ผู้ผลิตระบุ SVG ที่ได้เป็นชิ้นงานต่างจากภาพแรสเตอร์ WebP หรือ PNG ของ V4.1 ควรระบุรุ่นนี้ด้วยรูปแบบเวกเตอร์แทนป้ายความละเอียดแรสเตอร์</p><p>รุ่นที่ตรงคือ recraftv4_1_vector ซึ่งแยกจาก recraftv4_1_pro_vector และโมเดล Utility Vector คู่มือขนาดระบุว่าเวกเตอร์ทุกรุ่นรับอัตราส่วนภาพสิบสี่แบบในรูปความกว้างต่อความสูง และสร้าง SVG ที่ไม่มีขนาดพิกเซลตายตัว ใช้สัดส่วนนั้นกำหนดองค์ประกอบภาพที่ต้องการ เช่น ไอคอนสี่เหลี่ยมจัตุรัสหรือโลโก้แนวกว้าง จากนั้นจึงเลือกขนาดแสดงผลในเวิร์กโฟลว์ออกแบบ แทนการให้เอาต์พุตแรสเตอร์ 1K กำหนดขนาด</p><p>ผู้ผลิตวางตำแหน่ง V4.1 Vector สำหรับตัวพิมพ์ที่สื่ออารมณ์และภาพประกอบสะอาด บรีฟที่มีประโยชน์ระบุวัตถุหรือคำ ลักษณะเรขาคณิต ความหนาเส้น แนวทางการลงสี และระบบสี สำหรับสัญลักษณ์ร้านเบเกอรี ให้ขอกราฟิกเล็กที่มีรวงธัญพืชโค้งหนึ่งรวง รูปเงาหนาเด่น และสีอุ่นสองสี ระบุความสัมพันธ์เชิงพื้นที่ที่สำคัญให้ชัด แทนการพึ่งวลีกว้าง ๆ เช่น โลโก้ทันสมัย สำหรับตระกูลไอคอน ให้คงกฎโครงสร้างและเปลี่ยนวัตถุที่ระบุ</p><p>สไตล์กำหนดเองที่เลือกใช้ได้ช่วยนำแนวทางภาพเดียวกันผ่านสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้หรือภาพอ้างอิง V4.1 รองรับสีที่ต้องการ สีพื้นหลังที่ต้องการ seed แบบสุ่ม และพรอมป์ต์ยาวไม่เกิน 10,000 อักขระ เวิร์กโฟลว์สร้างส่งกลับผลลัพธ์หนึ่งถึงหกชิ้นได้ สไตล์อ้างอิงเป็นตัวเลือกสำหรับโมเดลสายหลักนี้ และต้องเข้ากันได้กับโมเดลที่ใช้สร้างสไตล์นั้น ใช้ภาพอ้างอิงสะอาดจากโลกภาพเดียวกัน ไม่มีการรับประกันว่าจะจับคู่สีจากภาพอ้างอิงกับเอาต์พุตตรงทุกประการ สำหรับการสร้างโดยอ้างอิงสไตล์ ให้ใช้ภาพ PNG, JPG หรือ WebP หนึ่งถึงสิบภาพ ขนาดรวมไม่เกิน 64 MB และแต่ละภาพต่ำกว่า 20 MB ภาพอ้างอิงแต่ละภาพต้องมีด้านสั้นอย่างน้อย 256 พิกเซล ด้านยาวไม่เกิน 4,096 พิกเซล และความละเอียดไม่เกิน 16 เมกะพิกเซล ใช้ภาพอ้างอิงเหล่านี้หรือสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้อย่างใดอย่างหนึ่ง ไม่ใช้ทั้งสองพร้อมกัน สำหรับการสร้างโดยอ้างอิงสไตล์ การจับคู่ flexible อนุญาตการตีความที่หลวมกว่า ส่วน precise ทำตามการเรนเดอร์ ชุดสี องค์ประกอบภาพ และแสงใกล้ชิดกว่า</p><p>การดำเนินการ image-to-image ที่แยกต่างหากสามารถส่งกลับ SVG เมื่อเลือกโมเดลเวกเตอร์ V4.1 แนบภาพที่มีอยู่และอธิบายการเปลี่ยนแปลงที่ต้องการ โดย strength ตั้งแต่ 0 ถึง 1 ระบุว่าผลลัพธ์เปลี่ยนจากต้นทางได้มากเพียงใด การดำเนินการรองรับอินพุต PNG, JPG, WebP หรือ SVG ต่ำกว่า 20 MB ไม่เกิน 16 MP โดยด้านต่าง ๆ อยู่ระหว่าง 256 และ 4096 พิกเซล ตัวควบคุมจับคู่สไตล์ของ V4.1 ไม่รองรับในการแปลงนั้น ภาพอ้างอิงสไตล์สำหรับการสร้างกับภาพที่จะแปลงมีบทบาทต่างกัน</p><p>เอกสารอ้างอิง V4.1 ปัจจุบันไม่รวมชื่อสไตล์คัดสรร, negative_prompt, text_layout, artistic_level และ no_text ให้อธิบายเลย์เอาต์และข้อความที่ต้องการในเชิงบวก แทนการย้ายตัวควบคุมจาก V3 ตรวจโลโก้หรือภาพประกอบที่สร้างในฐานะ SVG โดยตัวอักษร รูปเงา พื้นที่สี และรายละเอียดเล็กต้องทำงานได้ในองค์ประกอบภาพจริง ข้อได้เปรียบในทางใช้งานคือจุดเริ่มต้นเวกเตอร์ที่แก้ไขได้และทำตามบรีฟออกแบบเฉพาะ ไม่ใช่สมมติฐานว่ากราฟิกทุกชิ้นที่ได้รับไม่ต้องปรับงานอีก</p><p>ผ่าน Ailoot ให้เลือก ID โมเดลนี้ให้ตรงใน /v1/images/generations และส่งพรอมป์ต์สร้างสรรค์ โปรไฟล์ภาพอ้างอิงที่ Ailoot ระบุรับอาร์เรย์ input_references ที่เลือกแนบได้ โดยมีรายการ image_url ได้ไม่เกินหนึ่งรายการ เก็บทุกรายการ data ที่ได้รับ ไม่ว่าคำตอบจะมี URL หรือเนื้อหาภาพที่เข้ารหัส และบันทึกไบต์จริงพร้อมชนิดเนื้อหาที่ได้รับ เก็บ usage และ media task_id ที่มีไว้กับชิ้นงาน แล้วตรวจรูปทรง ตัวอักษร และพื้นที่สีในงานออกแบบที่ตั้งใจ</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 · Images</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>ขาเข้า</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>ขาออก</dt><dd><code>image</code></dd></div><div><dt>รูปแบบเอาต์พุต</dt><dd>ไฟล์ภาพ</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>recraft/recraft-v4.1-vector</div><div>เงื่อนไข: ใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร</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\">prompt</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>เงื่อนไข: </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\">n</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>integer</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><div>สูงสุด: 6</div><div>เงื่อนไข: </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\">aspect_ratio</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:1, 4:3, 3:4, 16:9, 9:16, auto</div><div>เงื่อนไข: </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\">output_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>svg</div><div>เงื่อนไข: </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_references</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span><code>array</code></td><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>ไม่บังคับ</td><td data-cell-label=\"ค่าและข้อจำกัด\"><span class=\"card-cell-label\">ค่าและข้อจำกัด</span><div>เงื่อนไข: </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\">quality</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>auto, low, medium, high, xhigh, max</div><div>เงื่อนไข: </div></td><td data-cell-label=\"ค่าเริ่มต้น\" data-default=\"unspecified\"><span class=\"card-cell-label\">ค่าเริ่มต้น</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>ชุดผสมของสื่ออินพุต</summary><p class=\"note-s\"><b>สร้างภาพจากข้อความ</b></p></details><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, prompt</td></tr><tr><th data-cell-label=\"พารามิเตอร์\" scope=\"row\"><span class=\"card-cell-label\">พารามิเตอร์</span><code>optional</code></th><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>n, aspect_ratio, output_format, input_references, quality</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, image</td></tr><tr><th data-cell-label=\"พารามิเตอร์\" scope=\"row\"><span class=\"card-cell-label\">พารามิเตอร์</span><code>conditions</code></th><td data-cell-label=\"ข้อกำหนด\"><span class=\"card-cell-label\">ข้อกำหนด</span>ใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร, quality เป็นตัวควบคุมทั่วไปที่ระบุไว้ในเอกสาร ผู้ให้บริการที่ไม่มีการตั้งค่าคุณภาพจะละเลยค่านี้ ไม่มีการรับประกันว่าคุณภาพจะดีขึ้นในแต่ละโมเดล</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 ที่ส่งกลับมาจริง หรือรายการในคลังที่เลือก ส่วน operation_id เป็นตัวระบุอีกตัวหนึ่ง</p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">ราคา</h3><div class=\"card-result-process\" data-billing-basis><h5>วิธีคำนวณค่าบริการสุดท้าย</h5><p class=\"note-s\">อัตราที่แสดงใช้ประมาณการค่าใช้จ่ายก่อนการสร้างผลลัพธ์ ยอดเรียกเก็บสุดท้ายคำนวณจากค่าใช้จ่ายที่บันทึกไว้สำหรับการสร้างผลลัพธ์ครั้งเดิม ระยะเวลาของผลลัพธ์ที่วัดได้และปริมาณที่คาดการณ์ไว้ไม่ใช่ปริมาณสุดท้ายที่ใช้คิดค่าบริการ</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>ข้อมูลอัตราราคาไม่ได้เพิ่มตัวเลือกคำขอ พารามิเตอร์ที่รองรับระบุไว้สำหรับเมธอดที่เลือก</p><dl data-price-conditions><dt>โหมดรวดเร็ว</dt><dd>ไม่ได้ระบุ <span class=\"note-s\">เมื่อเลือกโหมดรวดเร็ว</span></dd><dt>โหมดยืดหยุ่น</dt><dd>ไม่ได้ระบุ <span class=\"note-s\">เมื่อเลือกโหมด flex</span></dd><dt>ระดับการใช้เหตุผลสูงสุด</dt><dd>ไม่ได้ระบุ <span class=\"note-s\">เมื่อใช้การปรับตามค่าเริ่มต้น (default) สำหรับระดับการใช้เหตุผลสูงสุด</span></dd></dl></div><div data-declared-tariff-pricing><h4>อัตราประมาณการเพื่อเปรียบเทียบ</h4><h4>ราคาตามการตั้งค่า</h4><p class=\"note-s\">เทียบค่าบริการแต่ละรายการกับเงื่อนไขที่แสดง เลือกใช้อัตราเดียวสำหรับแต่ละชุดการตั้งค่าที่เป็นตัวเลือกทดแทนกัน</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>การตั้งค่า</th><th>ตารางอัตราค่าบริการ</th><th>ปริมาณคาดการณ์</th><th>หน่วยคิดค่าบริการ</th><th>ค่าบริการ</th></tr></thead><tbody><tr><th data-cell-label=\"การตั้งค่า\" scope=\"row\"><span class=\"card-cell-label\">การตั้งค่า</span>อัตราค่าบริการโทเคนพื้นฐาน</th><td data-cell-label=\"ตารางอัตราค่าบริการ\"><span class=\"card-cell-label\">ตารางอัตราค่าบริการ</span>อัตราพื้นฐาน</td><td data-cell-label=\"ปริมาณคาดการณ์\"><span class=\"card-cell-label\">ปริมาณคาดการณ์</span>—</td><td data-cell-label=\"หน่วยคิดค่าบริการ\"><span class=\"card-cell-label\">หน่วยคิดค่าบริการ</span>—</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาเข้า · โทเค็นอินพุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาออก · โทเค็นเอาต์พุต · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาเข้า · การอ่านแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาเข้า · การเขียนแคช · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div><div><span>ขาเข้า · การเขียนแคช, 1 ชั่วโมง · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>—</b> <span class=\"price-unit\">/ 1K โทเค็น</span></div></td></tr><tr><th data-cell-label=\"การตั้งค่า\" scope=\"row\"><span class=\"card-cell-label\">การตั้งค่า</span>ภาพขาออก</th><td data-cell-label=\"ตารางอัตราค่าบริการ\"><span class=\"card-cell-label\">ตารางอัตราค่าบริการ</span>—</td><td data-cell-label=\"ปริมาณคาดการณ์\"><span class=\"card-cell-label\">ปริมาณคาดการณ์</span>—</td><td data-cell-label=\"หน่วยคิดค่าบริการ\"><span class=\"card-cell-label\">หน่วยคิดค่าบริการ</span>ต่อภาพเอาต์พุต</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาออก · ภาพขาออก · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>$0.16</b> <span class=\"price-unit\">ต่อภาพเอาต์พุต</span></div></td></tr><tr><th data-cell-label=\"การตั้งค่า\" scope=\"row\"><span class=\"card-cell-label\">การตั้งค่า</span>ต้นทุนการสร้างโดยประมาณ</th><td data-cell-label=\"ตารางอัตราค่าบริการ\"><span class=\"card-cell-label\">ตารางอัตราค่าบริการ</span>—</td><td data-cell-label=\"ปริมาณคาดการณ์\"><span class=\"card-cell-label\">ปริมาณคาดการณ์</span>ค่าประมาณสำหรับการสร้างหนึ่งครั้ง</td><td data-cell-label=\"หน่วยคิดค่าบริการ\"><span class=\"card-cell-label\">หน่วยคิดค่าบริการ</span>—</td><td data-cell-label=\"ค่าบริการ\"><span class=\"card-cell-label\">ค่าบริการ</span><div><span>ขาออก · ค่าใช้จ่ายในการสร้างโดยประมาณ · ประมาณการเพื่อเปรียบเทียบเท่านั้น</span> <b>$0.16</b> <span class=\"price-unit\">ประมาณการก่อนสร้าง</span></div><p class=\"note-s\">ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot กันยอดเงินประมาณการไว้ก่อนส่งคำขอ หลังได้ผลลัพธ์ จะคิดค่าบริการสุดท้ายตามการใช้งานที่วัดได้ การคิดค่าบริการแบบสตรีมใช้บันทึกการใช้งานสุดท้าย <a href=\"/docs/th/billing/reserve/\">วิธีกันยอดเงินและคิดค่าบริการสุดท้าย →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">ตัวอย่างคำขอ</h3><h4>Ailoot Ultra · Images</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"ตัวเลือกโค้ด\"><button class=\"cg-tab\" id=\"model-code-2884-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2884-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · สร้างครั้งเดียวและเก็บผลลัพธ์ไว้ให้ครบถ้วน</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"คัดลอกโค้ด\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2884-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2884-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;recraft/recraft-v4.1-vector&quot;, &quot;prompt&quot;: &quot;A portrait of an Asian woman with neon green lights in the background, shallow depth of field.&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\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 result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">รับและบันทึกผลลัพธ์</h3><h4>Ailoot Ultra · Images</h4><p class=\"note-s\">ดาวน์โหลดภาพที่ส่งกลับมาทุกภาพ หรือบันทึกเนื้อหา Base64 ของภาพนั้น</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</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\">บันทึกภาพที่สร้างเสร็จทุกภาพ โดยดึงภาพจากทุก URL ที่ส่งกลับมา หรือถอดรหัสเนื้อหา Base64</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 คำตอบ และส่วนหัวต้นฉบับไว้ ผลลัพธ์ที่ไม่ทราบหรือ result_pending_check ไม่ได้อนุญาตให้สร้างครั้งที่สอง</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\">data[].url</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span>string</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span>string</td></tr><tr><th data-cell-label=\"ฟิลด์\" scope=\"row\"><span class=\"card-cell-label\">ฟิลด์</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"ประเภท\" data-field-type><span class=\"card-cell-label\">ประเภท</span>object</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>ฟิลด์ที่จำเป็น ตัวเลือกโมเดล ชนิดข้อมูล หรือรูปแบบการแทนข้อมูลขาเข้าไม่ถูกต้อง</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><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></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=recraft%2Frecraft-v4.1-vector&amp;route=Ultra&amp;caller=recraft%2Frecraft-v4.1-vector&amp;fmt=images\"><code>recraft/recraft-v4.1-vector</code></a></span></p><h4>ชื่อพาธเมธอดอื่น</h4><p class=\"note-s\">ใช้พาธเมธอดที่แสดงด้านบน</p><h4>ID ที่เกี่ยวข้องสำหรับเรียกใช้โมเดล</h4><p class=\"note-s\"><a href=\"#m=recraft%2Frecraft-v4.1-vector&amp;route=Ultra&amp;caller=recraft%2Frecraft-v4.1-vector&amp;fmt=images\"><code>recraft/recraft-v4.1-vector</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "recraft/recraft-v4.1-vector",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "recraft/recraft-v4.1-vector",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|recraft%2Frecraft-v4.1-vector",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "control_semantics": {
              "other_documented_controls": "Source generic image parsing preserves request JSON. Additional documented controls stay subject to the exact model; missing DTO fields do not create Source refusals.",
              "quality": "The saved common image schema documents this control and says providers without a quality knob ignore it.",
              "style": "Selected generic Source passes JSON fields through but the saved dedicated image request schema does not declare a style field. Its omission here is not a Source ban or a supported per-model promise."
            },
            "errors": [
              {
                "condition": "ฟิลด์ที่จำเป็น ตัวเลือกโมเดล ชนิดข้อมูล หรือรูปแบบการแทนข้อมูลขาเข้าไม่ถูกต้อง",
                "http_status": 400,
                "recovery": "ตรวจสอบรายละเอียดการตรวจสอบความถูกต้องที่ส่งกลับมาก่อนเตรียมคำขอแยกต่างหาก",
                "type": "invalid_request_error"
              },
              {
                "condition": "ไม่ทราบคำขอหรือผลลัพธ์ต้นฉบับ หรือจำเป็นต้องตรวจสอบ",
                "http_status": null,
                "recovery": "เก็บตัวระบุและส่วนหัวเดิมไว้ อ่านเฉพาะข้อมูลสถานะหรือรายการในคลังที่รองรับ ห้ามส่งคำขอสร้างซ้ำ",
                "type": null
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/images/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or selected library record; operation_id is a separate identifier",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "เก็บ X-Client-Request-ID คำตอบ และส่วนหัวต้นฉบับไว้ ผลลัพธ์ที่ไม่ทราบหรือ result_pending_check ไม่ได้อนุญาตให้สร้างครั้งที่สอง",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text",
                  "image"
                ],
                "metadata_authority": "saved_definitive_endpoint",
                "mode": "text_to_image",
                "reference_maximum": 1,
                "reference_minimum": 0
              }
            ],
            "model_parameter_metadata": {
              "authority": "saved_definitive_endpoint",
              "defaults_not_inferred": {
                "aspect_ratio": null,
                "exact_pixels": null,
                "explanation": "No universal/model default inferred. Omitted output_format uses provider default; dimensions are provider-derived, observed Ming2048 is not a universal default.",
                "n": null,
                "output_format": null,
                "quality": null,
                "resolution": null
              },
              "known_parameter_choices": {
                "aspect_ratio": {
                  "type": "enum",
                  "values": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "auto"
                  ]
                },
                "input_references": {
                  "max": 1,
                  "min": 0,
                  "type": "range"
                },
                "n": {
                  "max": 6,
                  "min": 1,
                  "type": "range"
                },
                "output_format": {
                  "type": "enum",
                  "values": [
                    "svg"
                  ]
                }
              },
              "pointer": "/profiles/37",
              "scope": "Exact saved model metadata. Discovery unions are identified explicitly and are not represented as definitive selected-provider bounds."
            },
            "outputs": {
              "all_results": "เก็บการตอบกลับและส่วนหัวทั้งหมด ตัวระบุเดิม ผลลัพธ์จริงทุกรายการ และฟิลด์การใช้งาน/การคิดบัญชีทั้งหมด บันทึกแอสเซ็ตที่เป็นของคุณแต่ละชิ้นโดยไม่ซ้ำ และเก็บทุกบทบาทที่ชี้ไปยังแอสเซ็ตนั้น",
              "documented_formats": [
                "svg"
              ],
              "every_actual_output": true,
              "family": "image",
              "fields": [
                {
                  "name": "data[].url",
                  "type": "string"
                },
                {
                  "name": "data[].b64_json",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "The exact saved model metadata lists SVG. Preserve the actual returned MIME and unchanged vector bytes; keep every actual output and owned signed image link."
            },
            "parameters": [
              {
                "conditions": "ใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร",
                "default_known": false,
                "enum": [
                  "recraft/recraft-v4.1-vector"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum": 6,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "16:9",
                  "9:16",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "svg"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maxItems": 1,
                "minItems": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "auto",
                  "low",
                  "medium",
                  "high",
                  "xhigh",
                  "max"
                ],
                "enum_known": true,
                "name": "quality",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "recraft/recraft-v4.1-vector"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 6,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "svg"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "type": "string"
                },
                "quality": {
                  "enum": [
                    "auto",
                    "low",
                    "medium",
                    "high",
                    "xhigh",
                    "max"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "recraft/recraft-v4.1-vector",
                "prompt": "A portrait of an Asian woman with neon green lights in the background, shallow depth of field."
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "ใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร",
              "quality เป็นตัวควบคุมทั่วไปที่ระบุไว้ในเอกสาร ผู้ให้บริการที่ไม่มีการตั้งค่าคุณภาพจะละเลยค่านี้ ไม่มีการรับประกันว่าคุณภาพจะดีขึ้นในแต่ละโมเดล"
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "n",
              "aspect_ratio",
              "output_format",
              "input_references",
              "quality"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/images/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "status": [
              {
                "http": "GET",
                "id_source": "task_id ที่ส่งกลับมาจริง หรือรายการในคลังที่เลือก ส่วน operation_id เป็นตัวระบุอีกตัวหนึ่ง",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "documented_formats": [
              "svg"
            ],
            "every_actual_output": true,
            "family": "image",
            "fields": [
              {
                "name": "data[].url",
                "type": "string"
              },
              {
                "name": "data[].b64_json",
                "type": "string"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "The saved exact model metadata lists SVG. Preserve actual MIME and bytes; storage MIME support alone does not prove completion of the full selected generic output path."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "ต้นทุนการสร้างโดยประมาณ",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"recraft/recraft-v4.1-vector\", \"prompt\": \"A portrait of an Asian woman with neon green lights in the background, shallow depth of field.\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Use the exact model reference-input range in the saved model metadata; a reference becomes required only for the models whose listed minimum is positive."
        },
        "label": "Images",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "recraft/recraft-v4.1-vector",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "recraft/recraft-v4.1-vector",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3c1870382246fbd208617cdc8dcd8660c2874144e77d130770fbb137b4185955",
    "input_html_sha256": "4e8f2756a75456c68b7ff02bcf4610e19e8709b21b367fb423e3030fca04c06f",
    "private_audit_sha256": "b3d03d7025163f498d4db27be6ab1e83127111eb1f22fccc5454a6e002036d94",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/th/recraft-recraft-v4-1-vector/",
    "description": "Recraft V4.1 Vector สร้างโลโก้ ตัวอักษร และภาพประกอบ SVG ที่แก้ไขได้จากข้อความ โดยเลือกใช้อินพุตภาพและสไตล์ได้ เป็นรุ่นเวกเตอร์มาตรฐานของ V4.1 สำหรับกราฟิกที่ต้องการเรขาคณิตปรับขนาดได้และการปรับงานออกแบบภายหลัง",
    "locale": "th",
    "md_url": "https://ailoot.ai/models/th/recraft-recraft-v4-1-vector/index.md",
    "title": "Recraft: Recraft V4.1 Vector — Ailoot",
    "url": "https://ailoot.ai/models/th/recraft-recraft-v4-1-vector/"
  },
  "rawModel": {
    "about": "Recraft V4.1 Vector เป็นโมเดล SVG มาตรฐานในตระกูล V4.1 ของ Recraft มีหน้าที่สร้างภาพประกอบ โลโก้ และตัวอักษรที่ปรับรูปทรง เปลี่ยนสี และใช้เป็นชิ้นงานเวกเตอร์ได้ รับบรีฟข้อความและทำงานกับอินพุตภาพได้ผ่านเวิร์กโฟลว์สไตล์หรือ image-to-image ที่ผู้ผลิตระบุ SVG ที่ได้เป็นชิ้นงานต่างจากภาพแรสเตอร์ WebP หรือ PNG ของ V4.1 ควรระบุรุ่นนี้ด้วยรูปแบบเวกเตอร์แทนป้ายความละเอียดแรสเตอร์\n\nรุ่นที่ตรงคือ recraftv4_1_vector ซึ่งแยกจาก recraftv4_1_pro_vector และโมเดล Utility Vector คู่มือขนาดระบุว่าเวกเตอร์ทุกรุ่นรับอัตราส่วนภาพสิบสี่แบบในรูปความกว้างต่อความสูง และสร้าง SVG ที่ไม่มีขนาดพิกเซลตายตัว ใช้สัดส่วนนั้นกำหนดองค์ประกอบภาพที่ต้องการ เช่น ไอคอนสี่เหลี่ยมจัตุรัสหรือโลโก้แนวกว้าง จากนั้นจึงเลือกขนาดแสดงผลในเวิร์กโฟลว์ออกแบบ แทนการให้เอาต์พุตแรสเตอร์ 1K กำหนดขนาด\n\nผู้ผลิตวางตำแหน่ง V4.1 Vector สำหรับตัวพิมพ์ที่สื่ออารมณ์และภาพประกอบสะอาด บรีฟที่มีประโยชน์ระบุวัตถุหรือคำ ลักษณะเรขาคณิต ความหนาเส้น แนวทางการลงสี และระบบสี สำหรับสัญลักษณ์ร้านเบเกอรี ให้ขอกราฟิกเล็กที่มีรวงธัญพืชโค้งหนึ่งรวง รูปเงาหนาเด่น และสีอุ่นสองสี ระบุความสัมพันธ์เชิงพื้นที่ที่สำคัญให้ชัด แทนการพึ่งวลีกว้าง ๆ เช่น โลโก้ทันสมัย สำหรับตระกูลไอคอน ให้คงกฎโครงสร้างและเปลี่ยนวัตถุที่ระบุ\n\nสไตล์กำหนดเองที่เลือกใช้ได้ช่วยนำแนวทางภาพเดียวกันผ่านสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้หรือภาพอ้างอิง V4.1 รองรับสีที่ต้องการ สีพื้นหลังที่ต้องการ seed แบบสุ่ม และพรอมป์ต์ยาวไม่เกิน 10,000 อักขระ เวิร์กโฟลว์สร้างส่งกลับผลลัพธ์หนึ่งถึงหกชิ้นได้ สไตล์อ้างอิงเป็นตัวเลือกสำหรับโมเดลสายหลักนี้ และต้องเข้ากันได้กับโมเดลที่ใช้สร้างสไตล์นั้น ใช้ภาพอ้างอิงสะอาดจากโลกภาพเดียวกัน ไม่มีการรับประกันว่าจะจับคู่สีจากภาพอ้างอิงกับเอาต์พุตตรงทุกประการ สำหรับการสร้างโดยอ้างอิงสไตล์ ให้ใช้ภาพ PNG, JPG หรือ WebP หนึ่งถึงสิบภาพ ขนาดรวมไม่เกิน 64 MB และแต่ละภาพต่ำกว่า 20 MB ภาพอ้างอิงแต่ละภาพต้องมีด้านสั้นอย่างน้อย 256 พิกเซล ด้านยาวไม่เกิน 4,096 พิกเซล และความละเอียดไม่เกิน 16 เมกะพิกเซล ใช้ภาพอ้างอิงเหล่านี้หรือสไตล์ที่บันทึกไว้ซึ่งเข้ากันได้อย่างใดอย่างหนึ่ง ไม่ใช้ทั้งสองพร้อมกัน สำหรับการสร้างโดยอ้างอิงสไตล์ การจับคู่ flexible อนุญาตการตีความที่หลวมกว่า ส่วน precise ทำตามการเรนเดอร์ ชุดสี องค์ประกอบภาพ และแสงใกล้ชิดกว่า\n\nการดำเนินการ image-to-image ที่แยกต่างหากสามารถส่งกลับ SVG เมื่อเลือกโมเดลเวกเตอร์ V4.1 แนบภาพที่มีอยู่และอธิบายการเปลี่ยนแปลงที่ต้องการ โดย strength ตั้งแต่ 0 ถึง 1 ระบุว่าผลลัพธ์เปลี่ยนจากต้นทางได้มากเพียงใด การดำเนินการรองรับอินพุต PNG, JPG, WebP หรือ SVG ต่ำกว่า 20 MB ไม่เกิน 16 MP โดยด้านต่าง ๆ อยู่ระหว่าง 256 และ 4096 พิกเซล ตัวควบคุมจับคู่สไตล์ของ V4.1 ไม่รองรับในการแปลงนั้น ภาพอ้างอิงสไตล์สำหรับการสร้างกับภาพที่จะแปลงมีบทบาทต่างกัน\n\nเอกสารอ้างอิง V4.1 ปัจจุบันไม่รวมชื่อสไตล์คัดสรร, negative_prompt, text_layout, artistic_level และ no_text ให้อธิบายเลย์เอาต์และข้อความที่ต้องการในเชิงบวก แทนการย้ายตัวควบคุมจาก V3 ตรวจโลโก้หรือภาพประกอบที่สร้างในฐานะ SVG โดยตัวอักษร รูปเงา พื้นที่สี และรายละเอียดเล็กต้องทำงานได้ในองค์ประกอบภาพจริง ข้อได้เปรียบในทางใช้งานคือจุดเริ่มต้นเวกเตอร์ที่แก้ไขได้และทำตามบรีฟออกแบบเฉพาะ ไม่ใช่สมมติฐานว่ากราฟิกทุกชิ้นที่ได้รับไม่ต้องปรับงานอีก\n\nผ่าน Ailoot ให้เลือก ID โมเดลนี้ให้ตรงใน /v1/images/generations และส่งพรอมป์ต์สร้างสรรค์ โปรไฟล์ภาพอ้างอิงที่ Ailoot ระบุรับอาร์เรย์ input_references ที่เลือกแนบได้ โดยมีรายการ image_url ได้ไม่เกินหนึ่งรายการ เก็บทุกรายการ data ที่ได้รับ ไม่ว่าคำตอบจะมี URL หรือเนื้อหาภาพที่เข้ารหัส และบันทึกไบต์จริงพร้อมชนิดเนื้อหาที่ได้รับ เก็บ usage และ media task_id ที่มีไว้กับชิ้นงาน แล้วตรวจรูปทรง ตัวอักษร และพื้นที่สีในงานออกแบบที่ตั้งใจ",
    "alias_of": null,
    "aliases": [],
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "ดูราคาตามการกำหนดค่าแบบครบถ้วนในรายละเอียด"
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "recraft/recraft-v4.1-vector",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "control_semantics": {
              "other_documented_controls": "Source generic image parsing preserves request JSON. Additional documented controls stay subject to the exact model; missing DTO fields do not create Source refusals.",
              "quality": "The saved common image schema documents this control and says providers without a quality knob ignore it.",
              "style": "Selected generic Source passes JSON fields through but the saved dedicated image request schema does not declare a style field. Its omission here is not a Source ban or a supported per-model promise."
            },
            "errors": [
              {
                "condition": "ฟิลด์ที่จำเป็น ตัวเลือกโมเดล ชนิดข้อมูล หรือรูปแบบการแทนข้อมูลขาเข้าไม่ถูกต้อง",
                "http_status": 400,
                "recovery": "ตรวจสอบรายละเอียดการตรวจสอบความถูกต้องที่ส่งกลับมาก่อนเตรียมคำขอแยกต่างหาก",
                "type": "invalid_request_error"
              },
              {
                "condition": "ไม่ทราบคำขอหรือผลลัพธ์ต้นฉบับ หรือจำเป็นต้องตรวจสอบ",
                "http_status": null,
                "recovery": "เก็บตัวระบุและส่วนหัวเดิมไว้ อ่านเฉพาะข้อมูลสถานะหรือรายการในคลังที่รองรับ ห้ามส่งคำขอสร้างซ้ำ",
                "type": null
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/images/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or selected library record; operation_id is a separate identifier",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "เก็บ X-Client-Request-ID คำตอบ และส่วนหัวต้นฉบับไว้ ผลลัพธ์ที่ไม่ทราบหรือ result_pending_check ไม่ได้อนุญาตให้สร้างครั้งที่สอง",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text",
                  "image"
                ],
                "metadata_authority": "saved_definitive_endpoint",
                "mode": "text_to_image",
                "reference_maximum": 1,
                "reference_minimum": 0
              }
            ],
            "model_parameter_metadata": {
              "authority": "saved_definitive_endpoint",
              "defaults_not_inferred": {
                "aspect_ratio": null,
                "exact_pixels": null,
                "explanation": "No universal/model default inferred. Omitted output_format uses provider default; dimensions are provider-derived, observed Ming2048 is not a universal default.",
                "n": null,
                "output_format": null,
                "quality": null,
                "resolution": null
              },
              "known_parameter_choices": {
                "aspect_ratio": {
                  "type": "enum",
                  "values": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "auto"
                  ]
                },
                "input_references": {
                  "max": 1,
                  "min": 0,
                  "type": "range"
                },
                "n": {
                  "max": 6,
                  "min": 1,
                  "type": "range"
                },
                "output_format": {
                  "type": "enum",
                  "values": [
                    "svg"
                  ]
                }
              },
              "pointer": "/profiles/37",
              "scope": "Exact saved model metadata. Discovery unions are identified explicitly and are not represented as definitive selected-provider bounds."
            },
            "outputs": {
              "all_results": "เก็บการตอบกลับและส่วนหัวทั้งหมด ตัวระบุเดิม ผลลัพธ์จริงทุกรายการ และฟิลด์การใช้งาน/การคิดบัญชีทั้งหมด บันทึกแอสเซ็ตที่เป็นของคุณแต่ละชิ้นโดยไม่ซ้ำ และเก็บทุกบทบาทที่ชี้ไปยังแอสเซ็ตนั้น",
              "documented_formats": [
                "svg"
              ],
              "every_actual_output": true,
              "family": "image",
              "fields": [
                {
                  "name": "data[].url",
                  "type": "string"
                },
                {
                  "name": "data[].b64_json",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "The exact saved model metadata lists SVG. Preserve the actual returned MIME and unchanged vector bytes; keep every actual output and owned signed image link."
            },
            "parameters": [
              {
                "conditions": "ใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร",
                "default_known": false,
                "enum": [
                  "recraft/recraft-v4.1-vector"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum": 6,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "16:9",
                  "9:16",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "svg"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maxItems": 1,
                "minItems": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "auto",
                  "low",
                  "medium",
                  "high",
                  "xhigh",
                  "max"
                ],
                "enum_known": true,
                "name": "quality",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "recraft/recraft-v4.1-vector"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 6,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "svg"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "type": "string"
                },
                "quality": {
                  "enum": [
                    "auto",
                    "low",
                    "medium",
                    "high",
                    "xhigh",
                    "max"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "recraft/recraft-v4.1-vector",
                "prompt": "A portrait of an Asian woman with neon green lights in the background, shallow depth of field."
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "ใช้ตัวเลือกระบุเส้นทางของ Ailoot นี้ตามที่ระบุไว้ทุกตัวอักษร",
              "quality เป็นตัวควบคุมทั่วไปที่ระบุไว้ในเอกสาร ผู้ให้บริการที่ไม่มีการตั้งค่าคุณภาพจะละเลยค่านี้ ไม่มีการรับประกันว่าคุณภาพจะดีขึ้นในแต่ละโมเดล"
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "n",
              "aspect_ratio",
              "output_format",
              "input_references",
              "quality"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/images/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "status": [
              {
                "http": "GET",
                "id_source": "task_id ที่ส่งกลับมาจริง หรือรายการในคลังที่เลือก ส่วน operation_id เป็นตัวระบุอีกตัวหนึ่ง",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "documented_formats": [
              "svg"
            ],
            "every_actual_output": true,
            "family": "image",
            "fields": [
              {
                "name": "data[].url",
                "type": "string"
              },
              {
                "name": "data[].b64_json",
                "type": "string"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "The saved exact model metadata lists SVG. Preserve actual MIME and bytes; storage MIME support alone does not prove completion of the full selected generic output path."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "ค่าประมาณนี้ไม่ใช่ค่าใช้จ่ายเพิ่มเติมหรืออัตราคงที่สำหรับการสร้างผลลัพธ์ที่เสร็จสมบูรณ์แล้ว",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "ต้นทุนการสร้างโดยประมาณ",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"recraft/recraft-v4.1-vector\", \"prompt\": \"A portrait of an Asian woman with neon green lights in the background, shallow depth of field.\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Use the exact model reference-input range in the saved model metadata; a reference becomes required only for the models whose listed minimum is positive."
        },
        "label": "Images",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "recraft/recraft-v4.1-vector",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "recraft/recraft-v4.1-vector",
        "request_model_id": "recraft/recraft-v4.1-vector",
        "route_label": "Ultra"
      }
    ],
    "name": "Recraft: Recraft V4.1 Vector",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.16,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.16,
      "varies": false
    },
    "short": "Recraft V4.1 Vector สร้างโลโก้ ตัวอักษร และภาพประกอบ SVG ที่แก้ไขได้จากข้อความ โดยเลือกใช้อินพุตภาพและสไตล์ได้ เป็นรุ่นเวกเตอร์มาตรฐานของ V4.1 สำหรับกราฟิกที่ต้องการเรขาคณิตปรับขนาดได้และการปรับงานออกแบบภายหลัง",
    "title": "Recraft: Recraft V4.1 Vector"
  },
  "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": "Recraft V4.1 Vector สร้างโลโก้ ตัวอักษร และภาพประกอบ SVG ที่แก้ไขได้จากข้อความ โดยเลือกใช้อินพุตภาพและสไตล์ได้ เป็นรุ่นเวกเตอร์มาตรฐานของ V4.1 สำหรับกราฟิกที่ต้องการเรขาคณิตปรับขนาดได้และการปรับงานออกแบบภายหลัง",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "217692d4b716bfef9924438c92e49cddb40d669732f3e2a83a61489f8264a6a9",
    "renderer_sha256": "890edb706fafafdd4f598bb324acf65fada58918b0911b97eb80e68be2ef65d9"
  },
  "sourceRevision": "b84338e13bce83267dd18cc51d4b01808a0fcb6454e4b47ede15081cf8abf330"
}
