Text to 3D API
Text to 3D API เป็นฟีเจอร์ที่ช่วยให้คุณสามารถผสานความสามารถด้านข้อความเป็น 3D ของ Meshy เข้ากับแอปพลิเคชันของคุณเองได้ ในส่วนนี้ คุณจะพบข้อมูลทั้งหมด ที่จำเป็นสำหรับเริ่มต้นใช้งาน API นี้
ข้อความเป็น 3D ใช้เวิร์กโฟลว์แบบสองขั้นตอน ขั้นแรก สร้างงาน preview (mode: "preview") เพื่อสร้างเมช 3D โดยไม่มีเท็กซ์เจอร์ เพื่อให้คุณสามารถประเมินรูปทรงได้ จากนั้น ส่งต่อ task ID ของ preview ที่เสร็จสมบูรณ์แล้วไปยังงาน refine (mode: "refine") เพื่อใส่เท็กซ์เจอร์ให้กับเมช ทั้งสองขั้นตอนใช้เอนด์พอยต์เดียวกัน
สร้างงาน Text to 3D Preview
เอนด์พอยต์นี้สร้างงาน Text to 3D preview ซึ่งสร้างเมช 3D ที่ยังไม่มี texture (จีออเมทรีเท่านั้น) จาก prompt ข้อความ นี่คือขั้นตอนแรกของเวิร์กโฟลว์สองขั้นตอน เมื่อ preview สำเร็จแล้ว ให้ใช้ task ID ที่ได้รับกลับมาเพื่อสร้างงาน refine สำหรับการลง texture ดูข้อมูลเพิ่มเติมที่ The Text to 3D Task Object สำหรับสคีมาการตอบกลับแบบเต็ม
พารามิเตอร์
- Name
- mode
- Type
- string
- จำเป็น
- Description
ฟิลด์นี้ควรตั้งค่าเป็น "preview" เมื่อสร้างงาน preview
- Name
- prompt
- Type
- string
- จำเป็น
- Description
อธิบายว่าโมเดล 3D นั้นเป็นวัตถุประเภทใด สูงสุด 800 ตัวอักษร
- Name
- model_type
- Type
- string
- ค่าเริ่มต้น standard
- Description
ระบุประเภทของการสร้างเมช 3D
ค่าที่ใช้ได้:
standard: การสร้างเมช 3D แบบละเอียดสูงตามปกติsmart-topology: เลือกโมเดล Smart Topology ด้วยai_model(meshy-t2)lowpoly(เลิกใช้): สร้างเมชแบบโลว์โพลีที่ปรับให้เหมาะกับโพลิกอนที่สะอาดขึ้น เราขอแนะนำให้ใช้smart-topologyแทน
เมื่อเลือก
smart-topologyแล้วshould_remeshและdecimation_modeจะถูกละเว้น และรับได้เฉพาะtopology: triangleเท่านั้นเมื่อเลือก
lowpolyแล้วai_model,topology,target_polycountและshould_remeshจะถูกละเว้น
- Name
- ai_model
- Type
- string
- ค่าเริ่มต้น latest
- Description
ID ของโมเดลที่จะใช้ ค่าที่ใช้ได้ขึ้นอยู่กับ
model_typeการสร้างแบบ standard (
model_type: standard):meshy-6-lite,meshy-6,meshy-7.1,latest(Meshy 7.1)meshy-7(เลิกใช้): ใช้meshy-7.1แทน
การสร้างแบบ Smart Topology (
model_type: smart-topology):meshy-t2(ค่าเริ่มต้น): โมเดล Smart Topology — topology ที่สะอาดขึ้น มีการแยกส่วนต่าง ๆ ตามธรรมชาติ ผลลัพธ์เป็นสามเหลี่ยม และจำนวนหน้าที่คุณสามารถตั้งค่าได้ด้วยtarget_polycount
- Name
- geometry_resolution
- Type
- string
- ค่าเริ่มต้น standard
- Description
รอบการสร้างจีออเมทรี
2kจะรัน Ultra pass ที่ 2048³ ส่วน4kจะรันที่ 4096³ เพื่อรายละเอียดพื้นผิวที่ละเอียดที่สุดค่าที่ใช้ได้:
standard,2k,4kรองรับเฉพาะ mode
previewเท่านั้น ต้องใช้meshy-7.1หรือlatest
- Name
- ultra_mode
- Type
- boolean
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น false
- Description
ใช้
geometry_resolutionแทนultra_mode: trueเทียบเท่ากับgeometry_resolution: "2k"
- Name
- should_remesh
- Type
- boolean
- ค่าเริ่มต้น false (Meshy 6 and Meshy 7 models), true (others)
- Description
กำหนดว่าจะเปิดใช้เฟส remesh หรือไม่ สำหรับโมเดลคุณภาพสูงสุด เราขอแนะนำให้ตั้งค่า
should_remeshเป็นfalse
should_remesh = true- Name
- topology
- Type
- string
- ค่าเริ่มต้น triangle
- Description
ระบุ topology ของโมเดลที่สร้างขึ้น
ค่าที่ใช้ได้:
quad: สร้างเมชที่ประกอบด้วยสี่เหลี่ยมเป็นส่วนใหญ่triangle: สร้างเมชสามเหลี่ยมแบบลดจำนวนโพลิกอน
ผลลัพธ์ของ Smart Topology จะเป็นสามเหลี่ยมเท่านั้น หากขอ
quadพร้อมกับai_model: meshy-t2จะเกิดข้อผิดพลาด
- Name
- decimation_mode
- Type
- integer
- Description
เปิดใช้การลดจำนวนโพลิกอนแบบปรับตามความเหมาะสม (adaptive decimation) โดยตั้งค่าระดับจำนวนโพลิกอน เมื่อตั้งค่านี้แล้ว
target_polycountจะถูกละเว้นค่าที่ใช้ได้:
1: Adaptive — จำนวนโพลิกอนสูงสุด2: Adaptive — จำนวนโพลิกอนสูง3: Adaptive — จำนวนโพลิกอนปานกลาง4: Adaptive — จำนวนโพลิกอนต่ำ
- Name
- target_polycount
- Type
- integer
- Description
จำนวนโพลิกอน (หน้า) ที่ต้องการในผลลัพธ์ จำนวนจริงอาจแตกต่างจากค่าที่ต้องการขึ้นอยู่กับจีออเมทรี
target_polycountจะมีผลใน 2 กรณีที่เป็นอิสระจากกัน:- Remesh — เมื่อ
should_remesh: trueบนโมเดลstandardเมชจะถูก remesh (ลดจำนวนโพลิกอน) ให้ใกล้เคียงกับจำนวนนี้ ช่วงตั้งแต่ 100 ถึง 300,000 ค่าเริ่มต้น 30,000 หากตั้งค่าdecimation_modeจะมีความสำคัญมากกว่า และtarget_polycountจะถูกละเว้น - Smart Topology — เมื่อ
model_type: smart-topologyและai_model: meshy-t2โมเดลจะถูกสร้างขึ้นโดยตรงที่จำนวนหน้านี้ โดยไม่มีการรัน remesh และไม่จำเป็นต้องใช้should_remeshช่วงตั้งแต่ 100 ถึง 15,000 ค่าเริ่มต้น 4,000
- Remesh — เมื่อ
- Name
- symmetry_mode
- Type
- string
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น auto
- Description
เลิกใช้ พารามิเตอร์นี้ไม่มีผลต่อผลลัพธ์อีกต่อไป
ฟิลด์
symmetry_modeควบคุมพฤติกรรมของความสมมาตรระหว่างขั้นตอนการสร้างโมเดลค่าที่ใช้ได้คือ:
off: ปิดการใช้สมมาตรauto: กำหนดและใช้สมมาตรโดยอัตโนมัติตามจีออเมทรีที่ป้อนเข้ามาon: บังคับใช้สมมาตรระหว่างการสร้าง
- Name
- pose_mode
- Type
- string
- ค่าเริ่มต้น ""
- Description
ระบุ pose mode สำหรับโมเดลที่สร้างขึ้น
ค่าที่ใช้ได้:
a-pose: สร้างโมเดลในท่า At-pose: สร้างโมเดลในท่า T""(สตริงว่าง): ไม่มีการใช้ท่าเฉพาะ
- Name
- is_a_t_pose
- Type
- boolean
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น false
- Description
ใช้
pose_modeแทน กำหนดว่าจะสร้างโมเดลในท่า A/T หรือไม่
- Name
- art_style
- Type
- string
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น realistic
- Description
ไม่รองรับสำหรับ Meshy-6 คำขอที่ใช้ Meshy-6 จะละเว้น
art_styleและการรวมค่าบางอย่างอาจทำให้เกิดข้อผิดพลาด ค่าที่ใช้ได้:realistic,sculptureenable_pbrควรตั้งค่าเป็นfalseเมื่อใช้สไตล์ Sculpture เนื่องจากสไตล์ Sculpture จะสร้างชุด PBR แมปของตัวเองขึ้นมา
- Name
- moderation
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueเนื้อหาที่ป้อนเข้ามาจะถูกตรวจสอบโดยอัตโนมัติเพื่อหาเนื้อหาที่อาจเป็นอันตราย หากตรวจพบเนื้อหาที่เป็นอันตราย งานจะไม่ดำเนินการต่อไปยังขั้นตอนการสร้างข้อความจาก
promptจะถูกตรวจสอบ
- Name
- target_formats
- Type
- string[]
- Description
ระบุรูปแบบไฟล์ 3D ที่จะรวมอยู่ในผลลัพธ์ จะสร้างและส่งกลับเฉพาะรูปแบบที่ขอเท่านั้น ซึ่งช่วยลดเวลาในการทำงานให้เสร็จสมบูรณ์ เมื่อไม่ระบุ จะรวมรูปแบบที่รองรับทั้งหมด
ค่าที่ใช้ได้:
glb,obj,fbx,stl,usdz,3mfเมื่อไม่ระบุ จะสร้างทุกรูปแบบยกเว้น
3mfโดย3mfจะถูกรวมไว้เฉพาะเมื่อระบุอย่างชัดเจนเท่านั้น
- Name
- alpha_thumbnail
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueงานจะเรนเดอร์เวอร์ชันพื้นหลังโปร่งใส (RGBA) ของ preview เพิ่มเติม และส่งกลับเป็นalpha_thumbnail_urlในการตอบกลับของ GET ฟิลด์thumbnail_urlเดิมจะไม่เปลี่ยนแปลง
- Name
- auto_size
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueบริการจะใช้ AI vision เพื่อประเมินความสูงตามขนาดจริงของวัตถุโดยอัตโนมัติ และปรับขนาดโมเดลให้เหมาะสม จุดกำเนิดจะเป็นbottomโดยค่าเริ่มต้น เว้นแต่จะมีการตั้งค่าorigin_atอย่างชัดเจน
auto_size = true- Name
- origin_at
- Type
- string
- ค่าเริ่มต้น bottom
- Description
ตำแหน่งของจุดกำเนิดเมื่อเปิดใช้
auto_sizeค่าที่ใช้ได้:
bottom,center
ค่าที่ส่งกลับ
พร็อพเพอร์ตี้ result ของการตอบกลับมี id ของงาน Text to 3D ที่สร้างขึ้นใหม่
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอไม่สามารถยอมรับได้ สาเหตุที่พบบ่อย:
- ขาดพารามิเตอร์: ไม่มีพารามิเตอร์ที่จำเป็น (เช่น
prompt,mode) - พารามิเตอร์ไม่ถูกต้อง:
art_styleไม่ได้เป็นหนึ่งในค่าที่อนุญาต - Prompt ยาวเกินไป:
promptเกินขีดจำกัดตัวอักษร - โมเดลไม่รองรับสำหรับ low poly:
ai_model: "meshy-6-lite"ไม่รองรับmodel_type: "lowpoly" - โมเดลไม่รองรับสำหรับ Ultra:
geometry_resolutionต้องใช้meshy-7.1หรือlatest
- ขาดพารามิเตอร์: ไม่มีพารามิเตอร์ที่จำเป็น (เช่น
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว กรุณาตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
เครดิตไม่เพียงพอสำหรับการทำงานนี้
- Name
429 - Too Many Requests- Description
คุณเกินขีดจำกัดการจำกัดอัตราแล้ว
Request
# Simple preview with required params only
curl https://api.meshy.ai/openapi/v2/text-to-3d \
-H 'Authorization: Bearer ${YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"mode": "preview",
"prompt": "a monster mask"
}'
# Preview with Ultra 4K geometry, remesh and A-pose
curl https://api.meshy.ai/openapi/v2/text-to-3d \
-H 'Authorization: Bearer ${YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"mode": "preview",
"prompt": "a futuristic robot warrior",
"ai_model": "meshy-7.1",
"geometry_resolution": "4k",
"should_remesh": true,
"target_polycount": 100000,
"pose_mode": "a-pose",
"target_formats": ["glb"]
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
สร้าง Text to 3D Refine Task
เอนด์พอยต์นี้สร้าง Text to 3D refine task ซึ่งจะทำการใส่เท็กซ์เจอร์ให้กับเมชแบบพรีวิวที่เสร็จสมบูรณ์แล้ว คุณต้องระบุ preview_task_id จากงานพรีวิวที่สำเร็จ นี่คือขั้นตอนที่สองของเวิร์กโฟลว์สองขั้นตอน
พารามิเตอร์
- Name
- mode
- Type
- string
- จำเป็น
- Description
ฟิลด์นี้ควรตั้งค่าเป็น "refine" เมื่อสร้าง refine task
- Name
- preview_task_id
- Type
- string
- จำเป็น
- Description
ไอดีของ preview task ที่เกี่ยวข้อง
สถานะของ preview task ที่ระบุต้องเป็น
SUCCEEDED
- Name
- enable_pbr
- Type
- boolean
- ค่าเริ่มต้น false
- Description
สร้าง PBR แมป (metallic, roughness, normal) เพิ่มเติมจาก base color เมื่อ
ai_modelเป็นmeshy-6จะมีการรวม emission map ให้ด้วย ยกเว้นที่texture_resolution: 8k(จะไม่มีการสร้าง emission map) ส่วนmeshy-6-lite,meshy-7.1และlatestจะไม่สร้าง emission map
- Name
- texture_resolution
- Type
- string
- ค่าเริ่มต้น 2k
- Description
ความละเอียดของเท็กซ์เจอร์ base color เลือกได้หนึ่งใน
2k(2048×2048),4k(4096×4096), หรือ8k(8192×8192) ความละเอียดที่สูงขึ้นจะจับรายละเอียดพื้นผิวได้มากขึ้น ใช้ได้เฉพาะกับrefinemode เท่านั้น4kและ8kต้องใช้ai_modelเป็นmeshy-6,meshy-7.1, หรือlatestที่8kจะไม่มีการสร้าง emission map
- Name
- hd_texture
- Type
- boolean
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น false
- Description
ใช้
texture_resolutionแทน — เทียบเท่ากับtexture_resolution: "4k"เมื่อกำหนดทั้งสองพารามิเตอร์texture_resolutionจะมีความสำคัญกว่า
- Name
- texture_prompt
- Type
- string
- Description
ระบุ prompt ข้อความเพิ่มเติมเพื่อช่วยกำหนดทิศทางการทำเท็กซ์เจอร์ สูงสุด 800 ตัวอักษร
- Name
- texture_image_url
- Type
- string
- Description
ระบุภาพ 2 มิติเพื่อช่วยกำหนดทิศทางการทำเท็กซ์เจอร์ ขณะนี้รองรับรูปแบบ
.jpg,.jpeg, และ.pngมีสองวิธีในการระบุภาพ:
- URL ที่เข้าถึงได้แบบสาธารณะ: URL ที่สามารถเข้าถึงได้จากอินเทอร์เน็ตสาธารณะ
- Data URI: ข้อมูล URI ของภาพที่เข้ารหัสแบบ base64 ตัวอย่างของ data URI:
data:image/jpeg;base64,<your base64-encoded image data>
การทำเท็กซ์เจอร์ด้วยภาพอาจไม่ทำงานได้อย่างเหมาะสมที่สุด หากมีความแตกต่างของจีออเมทรีอย่างมากระหว่าง asset ต้นฉบับกับภาพที่อัปโหลด สามารถใช้ได้เพียงหนึ่งใน
texture_image_urlหรือtexture_promptเพื่อกำหนดทิศทางการทำเท็กซ์เจอร์เท่านั้น หากระบุทั้งสองพารามิเตอร์ ระบบจะใช้texture_promptในการทำเท็กซ์เจอร์ให้กับโมเดลโดยค่าเริ่มต้น
- Name
- ai_model
- Type
- string
- ค่าเริ่มต้น inherited from the preview task
- Description
ไอดีของโมเดลที่ใช้สำหรับการ refine
ค่าที่ใช้ได้:
meshy-6-lite,meshy-6,meshy-7.1,latest(Meshy 7.1)meshy-7(เลิกใช้): ใช้meshy-7.1แทน
ไม่ระบุพารามิเตอร์นี้เพื่อรับค่าโมเดลที่ preview task ใช้มาโดยอัตโนมัติ ซึ่งจะทำให้ preview และการ refine ของมันใช้โมเดลเดียวกันตลอดทั้งกระบวนการ ระบุค่าอย่างชัดเจนเพื่อลบล้างการรับค่าอัตโนมัติดังกล่าว
การระบุ
latestอย่างชัดเจนจะถูกตีความในลักษณะเดียวกันกับใน preview task (ปัจจุบันคือ Meshy 7.1) ดังนั้น preview ที่ใช้latestและการ refine ของมันที่ใช้latestจะลงที่โมเดลเท็กซ์เจอร์เดียวกันเสมอ
- Name
- moderation
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueเนื้อหาที่ป้อนเข้ามาจะถูกตรวจกรองเนื้อหาที่อาจเป็นอันตรายโดยอัตโนมัติ หากตรวจพบเนื้อหาที่เป็นอันตราย งานจะไม่ดำเนินไปยังขั้นตอนการสร้างทั้งข้อความจาก
texture_promptและภาพจากtexture_image_urlจะถูกตรวจกรอง
- Name
- remove_lighting
- Type
- boolean
- ค่าเริ่มต้น true
- Description
ลบไฮไลต์และเงาออกจากเท็กซ์เจอร์ base color ทำให้ได้ผลลัพธ์ที่สะอาดขึ้นและทำงานได้ดีกว่าภายใต้การจัดแสงแบบกำหนดเอง
จะมีผลเฉพาะเมื่อ
ai_modelเป็นmeshy-6เท่านั้น ส่วนโมเดลอื่นจะไม่นำไปใช้
- Name
- target_formats
- Type
- string[]
- Description
ระบุรูปแบบไฟล์ 3D ที่จะรวมไว้ในผลลัพธ์ จะสร้างและส่งกลับเฉพาะรูปแบบที่ระบุเท่านั้น ซึ่งสามารถลดเวลาในการทำงานให้เสร็จได้ หากไม่ระบุ จะรวมรูปแบบที่รองรับทั้งหมด
ค่าที่ใช้ได้:
glb,obj,fbx,stl,usdz,3mfหากไม่ระบุ จะสร้างทุกรูปแบบยกเว้น
3mfโดย3mfจะถูกรวมไว้เมื่อมีการระบุอย่างชัดเจนเท่านั้น
- Name
- alpha_thumbnail
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueงานจะแสดงผลเวอร์ชันพื้นหลังโปร่งใส (RGBA) ของพรีวิวเพิ่มเติม และส่งกลับเป็นalpha_thumbnail_urlในการตอบสนอง GET ฟิลด์thumbnail_urlที่มีอยู่เดิมจะไม่เปลี่ยนแปลง
- Name
- auto_size
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueบริการจะใช้ AI vision เพื่อประมาณค่าความสูงของวัตถุในโลกจริงโดยอัตโนมัติ และปรับขนาดโมเดลให้เหมาะสมตามนั้น จุดกำเนิดจะเป็นbottomโดยค่าเริ่มต้น เว้นแต่จะระบุorigin_atอย่างชัดเจน
auto_size = true- Name
- origin_at
- Type
- string
- ค่าเริ่มต้น bottom
- Description
ตำแหน่งของจุดกำเนิดเมื่อเปิดใช้งาน
auto_sizeค่าที่ใช้ได้:
bottom,center
ผลลัพธ์ที่ได้
พร็อพเพอร์ตี้ result ของการตอบสนองจะมี id ของ Text to 3D task ที่สร้างขึ้นใหม่
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอไม่สามารถรับได้ สาเหตุที่พบบ่อย:
- ไอดีงานไม่ถูกต้อง:
preview_task_idไม่ถูกต้องหรือไม่มีอยู่ - งานยังไม่พร้อม: preview task ยังไม่สำเร็จ
- โมเดลไม่ตรงกัน: โมเดล AI ของ preview task ไม่รองรับกับโมเดล refine ที่ขอ
- ไอดีงานไม่ถูกต้อง:
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว กรุณาตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
เครดิตไม่เพียงพอสำหรับการทำงานนี้
- Name
404 - Not Found- Description
ไม่พบ preview task ที่ระบุโดย
preview_task_id
- Name
429 - Too Many Requests- Description
คุณเกินขีดจำกัดการจำกัดอัตราแล้ว
Request
# Basic refine task
curl https://api.meshy.ai/openapi/v2/text-to-3d \
-H 'Authorization: Bearer ${YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"mode": "refine",
"preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"enable_pbr": true
}'
# Refine with auto-size and GLB format
curl https://api.meshy.ai/openapi/v2/text-to-3d \
-H 'Authorization: Bearer ${YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"mode": "refine",
"preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["glb"],
"auto_size": true
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
เรียกดูงาน ข้อความเป็น 3D
เอนด์พอยต์นี้ช่วยให้คุณสามารถเรียกดูงาน ข้อความเป็น 3D โดยใช้ id ของงานที่ถูกต้อง
ดู The Text to 3D Task Object เพื่อดูว่ามีคุณสมบัติใดบ้างที่รวมอยู่ในอ็อบเจ็กต์งาน ข้อความเป็น 3D
เอนด์พอยต์นี้ใช้งานได้ทั้งกับงาน preview และงาน refine
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงาน ข้อความเป็น 3D ที่ต้องการเรียกดู
สิ่งที่ได้รับกลับมา
การตอบกลับประกอบด้วยอ็อบเจ็กต์งาน ข้อความเป็น 3D ดูรายละเอียดได้ที่ส่วน The Text to 3D Task Object
ตัวอย่าง
| Mode | Sample Model |
|---|---|
| Preview | ![]() |
| Refine | ![]() |
Request
curl https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"prompt": "a monster mask",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 20
}
ลบงานข้อความเป็น 3D
เอนด์พอยต์นี้จะลบงานข้อความเป็น 3D อย่างถาวร รวมถึงโมเดลและข้อมูลทั้งหมดที่เกี่ยวข้อง การกระทำนี้ไม่สามารถย้อนกลับได้
พารามิเตอร์เส้นทาง (Path Parameters)
- Name
- id
- Type
- path
- Description
ID ของงานข้อความเป็น 3D ที่ต้องการลบ
สถานะของงาน
งานที่ยังอยู่ในสถานะ PENDING จะถูกลบและเครดิตที่ถูกใช้ไปตอนสร้างงานจะถูกคืน
งานที่อยู่ในสถานะ IN_PROGRESS ไม่สามารถลบได้ คำขอจะถูกปฏิเสธด้วย 409 Conflict และงานจะยังคงทำงานต่อไป เครดิตสำหรับงานที่ worker เริ่มดำเนินการไปแล้วนั้นไม่สามารถขอคืนได้ ดังนั้นการลบงานระหว่างที่กำลังทำงานอยู่จะทำให้คุณเสียทั้งเครดิตและผลลัพธ์ไปพร้อมกัน โปรดรอจนกว่างานจะถึงสถานะ SUCCEEDED, FAILED หรือ CANCELED แล้วจึงค่อยลบ
งานที่อยู่ในสถานะสุดท้าย (SUCCEEDED, FAILED หรือ CANCELED) จะถูกลบโดยไม่มีการคืนเครดิต
ค่าที่ส่งกลับ
ส่งกลับ 200 OK เมื่อสำเร็จ หรือ 409 Conflict เมื่องานอยู่ในสถานะ
IN_PROGRESS
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
List Text to 3D Tasks
เอนด์พอยต์นี้ช่วยให้คุณสามารถดึงรายการงานข้อความเป็น 3D ได้
พารามิเตอร์
- Name
- page_num
- Type
- integer
- ค่าเริ่มต้น 1
- Description
หมายเลขหน้าสำหรับการแบ่งหน้า
- Name
- page_size
- Type
- integer
- ค่าเริ่มต้น 10
- Description
จำนวนรายการต่อหน้า สูงสุดที่อนุญาตคือ
100รายการ
- Name
- sort_by
- Type
- string
- Description
ฟิลด์ที่ใช้สำหรับเรียงลำดับ
ค่าที่ใช้ได้:
+created_at: เรียงลำดับตามเวลาที่สร้างจากน้อยไปมาก-created_at: เรียงลำดับตามเวลาที่สร้างจากมากไปน้อย
สิ่งที่ส่งกลับ
ส่งกลับรายการแบบแบ่งหน้าของ The Text to 3D Task Objects
Request
curl https://api.meshy.ai/openapi/v2/text-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"prompt": "a monster mask",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 20
}
]
Stream a Text to 3D Task
เอนด์พอยต์นี้จะสตรีมข้อมูลอัปเดตแบบเรียลไทม์สำหรับงานข้อความเป็น 3D โดยใช้ Server-Sent Events (SSE)
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะ (unique identifier) ของงานข้อความเป็น 3D ที่ต้องการสตรีม
สิ่งที่ส่งกลับ
ส่งกลับสตรีมของ The Text to 3D Task Objects ในรูปแบบ Server-Sent Events
สำหรับงานที่มีสถานะ PENDING หรือ IN_PROGRESS สตรีมการตอบกลับจะมีเฉพาะฟิลด์ progress และ status ที่จำเป็นเท่านั้น
Request
curl -N https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 50,
"status": "IN_PROGRESS"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
},
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 20
}
The Text to 3D Task Object
Text to 3D Task object เป็นหน่วยงานที่ Meshy ใช้ติดตามเพื่อสร้างโมเดล 3D จากข้อมูลนำเข้าที่เป็น ข้อความ โดยมีสองขั้นตอนใน Text to 3D API คือ preview และ refine ขั้นตอน preview ใช้สำหรับสร้างโมเดล 3D ที่มีเฉพาะเมช และขั้นตอน refine ใช้สำหรับสร้างโมเดล 3D ที่มีเท็กซ์เจอร์โดยอิงจากผลลัพธ์ของขั้นตอน preview
ออบเจ็กต์นี้มีคุณสมบัติดังต่อไปนี้:
Properties
- Name
- id
- Type
- string
- Description
ตัวระบุเฉพาะสำหรับ task แม้ว่าเราจะใช้ k-sortable UUID สำหรับ task id เป็นรายละเอียดการดำเนินการ แต่คุณ ไม่ควร ตั้งสมมติฐานใดๆ เกี่ยวกับรูปแบบของ id
- Name
- type
- Type
- string
- Description
ประเภทของ task Text to 3D ค่าที่เป็นไปได้คือ
text-to-3d-previewสำหรับ task ในขั้นตอน preview และtext-to-3d-refineสำหรับ task ในขั้นตอน refine
- Name
- model_urls
- Type
- object
- Description
URL สำหรับดาวน์โหลดไฟล์โมเดล 3D ที่มีเท็กซ์เจอร์ซึ่งสร้างโดย Meshy คุณสมบัติสำหรับรูปแบบไฟล์ใดๆ จะถูกละไว้หากไม่ได้สร้างรูปแบบนั้น แทนที่จะคืนค่าเป็นสตริงว่าง
- Name
glb- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ GLB
- Name
fbx- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ FBX
- Name
usdz- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ USDZ
- Name
obj- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ OBJ
- Name
mtl- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ MTL
- Name
stl- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ STL
- Name
3mf- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ 3MF จะปรากฏเฉพาะเมื่อมีการร้องขอ
3mfผ่านtarget_formats
- Name
- prompt
- Type
- string
- Description
นี่คือ
promptที่ไม่มีการแก้ไข ซึ่งถูกใช้ในการสร้าง task
- Name
- negative_prompt
- Type
- string
- ⚠ เลิกใช้แล้ว
- Description
คงไว้เพื่อความเข้ากันได้แบบย้อนหลัง ฟิลด์นี้ไม่มีผลต่อการทำงานของโมเดลที่สร้างขึ้น
- Name
- art_style
- Type
- string
- ⚠ เลิกใช้แล้ว
- Description
art_styleที่ไม่มีการแก้ไข ซึ่งถูกใช้ในการสร้าง task preview ไม่รองรับโดย Meshy-6
- Name
- texture_richness
- Type
- string
- ⚠ เลิกใช้แล้ว
- Description
คงไว้เพื่อความเข้ากันได้แบบย้อนหลัง ฟิลด์นี้ไม่มีผลต่อการทำงานของโมเดลที่สร้างขึ้น
- Name
- texture_prompt
- Type
- string
- Description
ข้อความ prompt เพิ่มเติมที่ให้ไว้เพื่อชี้นำกระบวนการทำเท็กซ์เจอร์ในระหว่างขั้นตอน refine
- Name
- ultra_mode
- Type
- boolean
- ⚠ เลิกใช้แล้ว
- Description
เลิกใช้แล้ว ให้อ่านค่าจาก
geometry_resolutionแทน
- Name
- geometry_resolution
- Type
- string
- Description
ระดับ Ultra ที่ task preview ทำงาน (
2kหรือ4k) จะถูกละไว้สำหรับstandard
- Name
- texture_image_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพเท็กซ์เจอร์ที่ใช้ชี้นำกระบวนการทำเท็กซ์เจอร์
- Name
- thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพย่อของไฟล์โมเดล
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดเวอร์ชันพื้นหลังโปร่งใส (RGBA) ของ
thumbnail_urlจะปรากฏเฉพาะเมื่อ task ถูกสร้างขึ้นด้วยalpha_thumbnail: trueและการแสดงตัวอย่างแบบโปร่งใสถูกเรนเดอร์สำเร็จ มิฉะนั้นฟิลด์นี้จะถูกละไว้
- Name
- video_url
- Type
- string
- ⚠ เลิกใช้แล้ว
- Description
URL สำหรับดาวน์โหลดวิดีโอตัวอย่าง จะถูกลบออกในเวอร์ชันถัดไปในอนาคต
- Name
- progress
- Type
- integer
- Description
ความคืบหน้าของ task หากยังไม่เริ่ม task คุณสมบัตินี้จะเป็น
0เมื่อ task สำเร็จแล้ว ค่านี้จะกลายเป็น100
- Name
- started_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่ task เริ่มทำงาน หน่วยเป็นมิลลิวินาที หากยังไม่เริ่ม task คุณสมบัตินี้จะเป็น
0ไทม์สแตมป์แสดงจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 UTC ตามมาตรฐาน RFC 3339
ตัวอย่างเช่น วันศุกร์ที่ 1 กันยายน 2023 เวลา 12:00:00 น. GMT จะแสดงเป็น1693569600000สิ่งนี้ใช้กับ ไทม์สแตมป์ ทั้งหมด ใน Meshy API
- Name
- created_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่สร้าง task หน่วยเป็นมิลลิวินาที
- Name
- finished_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่ task เสร็จสิ้น หน่วยเป็นมิลลิวินาที หากยังไม่เสร็จสิ้น task คุณสมบัตินี้จะเป็น
0
- Name
- status
- Type
- string
- Description
สถานะของ task ค่าที่เป็นไปได้คือหนึ่งใน
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED
- Name
- texture_urls
- Type
- array
- Description
อาร์เรย์ของออบเจ็กต์ URL เท็กซ์เจอร์ที่สร้างขึ้นจาก task โดยปกติจะมีออบเจ็กต์ URL เท็กซ์เจอร์เพียง หนึ่งรายการ เท่านั้น แต่ละ URL เท็กซ์เจอร์มีคุณสมบัติดังนี้:
- Name
base_color- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพแมปสีพื้นฐาน
- Name
metallic- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพแมปความเป็นโลหะ
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseคุณสมบัตินี้จะถูกละไว้
- Name
normal- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพนอร์มัลแมป
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseคุณสมบัตินี้จะถูกละไว้
- Name
roughness- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพแมปความหยาบ
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseคุณสมบัตินี้จะถูกละไว้
- Name
emission- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพแมปการเปล่งแสง
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseหรือai_modelเป็นmeshy-6-liteคุณสมบัตินี้จะถูกละไว้
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวน task ที่อยู่ก่อนหน้า
ค่าของฟิลด์นี้มีความหมายก็ต่อเมื่อสถานะของ task เป็น
PENDING
- Name
- task_error
- Type
- object
- Description
รายละเอียดข้อผิดพลาดสำหรับ task ที่ล้มเหลว ดู ข้อผิดพลาด สำหรับข้อมูลอ้างอิงออบเจ็กต์
task_errorทั้งหมด
- Name
- consumed_credits
- Type
- integer
- Description
จำนวนเครดิตที่ใช้ไปสำหรับ task นี้ จะปรากฏเมื่อสถานะของ task เป็น
PENDING,IN_PROGRESS, หรือSUCCEEDEDและจะคืนค่า0สำหรับ task ที่FAILED(เครดิตจะถูกคืนเมื่อล้มเหลว)
Example Text to 3D Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
},
"prompt": "a monster mask",
"texture_prompt": "green slimy skin with scales and warts",
"texture_image_url": "",
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 20
}

