Auto Split API
แบ่งโมเดล 3 มิติออกเป็นส่วนต่าง ๆ ที่คุณสามารถพิมพ์แยกกันได้ Meshy จะเลือกตำแหน่งตัดเอง หรือตัดตามส่วนประกอบหรือพื้นที่สีที่คุณระบุ และสามารถเพิ่มตัวเชื่อมต่อได้ Meshy จะเสริมความแข็งแรงให้กับบริเวณที่บางลงจากการตัดเสมอ เพื่อให้ทุกชิ้นส่วนพิมพ์ออกมาเป็นเนื้อแข็งสมบูรณ์
โดยค่าเริ่มต้น โมเดลที่แบ่งแล้วจะไม่คงเท็กซ์เจอร์ของโมเดลต้นฉบับไว้ คุณสามารถแบ่งโมเดลที่มีเท็กซ์เจอร์ได้ ดังนั้นคุณจึงไม่จำเป็นต้องสร้างใหม่ด้วย should_texture: false Meshy จะสร้างชิ้นส่วนที่ถูกตัดขึ้นใหม่ และกำหนดสีจุดยอด (vertex color) แบบเรียบให้กับแต่ละชิ้น หากต้องการคงเท็กซ์เจอร์ไว้บนทุกชิ้นส่วน ให้ส่งค่า keep_texture: true
สร้างงาน Auto Split
สร้างงาน Auto Split งานนี้จะตัดโมเดลของงานก่อนหน้าออกเป็นชิ้นส่วนที่คุณสามารถพิมพ์แยกกันได้ โดยจะคืนค่าโมเดลที่ถูกแบ่งแล้ว โดยแต่ละชิ้นส่วนจะเป็นอ็อบเจกต์ของตัวเองในไฟล์
งานนี้ทำงานในพื้นหลัง สำหรับระยะเวลาที่งานมักใช้ ดูที่ Processing times
Request
# Simple request: let Meshy choose the cuts
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Advanced request: name the parts, keep the texture, add connectors, export glb and obj
curl https://api.meshy.ai/openapi/v1/print/split \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"mode": "by_parts",
"prompt": "split into the figure and the base",
"target_formats": ["glb", "obj"],
"layout": "on_plate",
"keep_texture": true,
"connectors": true,
"connector_type": "cylinder",
"connector_size": 0.4
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
พารามิเตอร์
- Name
- input_task_id
- Type
- string
- จำเป็น
- Description
ID ของงานที่ต้องการแบ่งโมเดล งานนั้นต้องมีสถานะ
SUCCEEDEDประเภทงานต่อไปนี้ใช้ได้:- รูปภาพเป็น 3D
- หลายรูปเป็น 3D
- ข้อความเป็น 3D งาน preview หรือ refine
- รีเท็กซ์เจอร์
- รีเมช
- แปลง
- ปรับขนาด
โมเดลต้องถูกสร้างด้วย Meshy 6 หรือ Meshy 7 นั่นคือ ตั้งค่า
ai_modelเป็นmeshy-6-lite,meshy-6,meshy-7,meshy-7.1หรือlatestโมเดล Smart Topology (meshy-t2และmeshy-t2.5) ไม่รองรับ สำหรับงาน refine, รีเท็กซ์เจอร์, รีเมช, แปลง หรือปรับขนาด กฎนี้ใช้กับโมเดลที่งานนั้นเริ่มต้นจาก งานรีเท็กซ์เจอร์, รีเมช, แปลง หรือปรับขนาดที่สร้างจากโมเดลที่อัปโหลดจะคืนค่า400โมเดลสามารถมีได้สูงสุด 8,000,000 หน้า โมเดลที่มีหน้ามากกว่านี้จะคืนค่า
400ในกรณีนั้น ให้รันงานรีเมชกับโมเดลนั้นก่อน แล้วส่ง ID ของงานรีเมชแทนคุณสามารถแบ่งโมเดลที่มีเท็กซ์เจอร์ได้ หากต้องการให้ชิ้นส่วนคงเท็กซ์เจอร์ไว้ ให้ส่ง
keep_texture: true
- Name
- mode
- Type
- string
- ค่าเริ่มต้น auto
- Description
วิธีแบ่งโมเดลออกเป็นชิ้นส่วน
ค่าที่ใช้ได้:
auto: Meshy เลือกตำแหน่งตัดเองและละเลยpromptprompt ที่ยาวเกิน 600 ตัวอักษรยังคืนค่า400อยู่ดีby_parts: Meshy ตัดตามโครงสร้างชิ้นส่วนที่คุณระบุในpromptเช่น ศีรษะ แขน และลำตัวby_color: Meshy ตัดตามพื้นที่สีที่คุณระบุในpromptMeshy จะหาพื้นที่เหล่านี้จากภาพต้นฉบับ ไม่ใช่จากเท็กซ์เจอร์ของโมเดลอินพุต อินพุตต้องถูกสร้างจากภาพที่อัปโหลด ด้วย รูปภาพเป็น 3D หรือ หลายรูปเป็น 3D อินพุตแบบอื่นจะคืนค่า400สำหรับหลายรูปเป็น 3D Meshy จะใช้ภาพต้นฉบับภาพแรก
mode = by_parts or by_color- Name
- prompt
- Type
- string
- จำเป็น
- Description
ชิ้นส่วนที่ต้องการแบ่งโมเดลออกเป็น ใช้ภาษาใดก็ได้ ความยาวสูงสุด 600 ตัวอักษร ข้อความที่ยาวกว่านี้จะคืนค่า
400แม้modeจะเป็นautoก็ตามMeshy จะอ่านชื่อชิ้นส่วน 1 ถึง 10 ชื่อจาก prompt ดังนั้นให้ระบุชื่อชิ้นส่วนแทนการอธิบายโมเดล ตัวอย่างเช่น
split into the figure and the baseหรือhead, torso, left arm, right arm, legsคุณสามารถระบุชิ้นส่วนเดียวได้ สิ่งที่คุณไม่ได้ระบุจะกลายเป็นชิ้นส่วนเพิ่มอีกหนึ่งชิ้น ดังนั้นthe headจะแบ่งโมเดลออกเป็นศีรษะและส่วนที่เหลือ เช่นเดียวกับในเว็บแอปprompt ที่ขอให้ไม่มีการแบ่ง หรือระบุชิ้นส่วนมากกว่า 10 ชิ้น จะคืนค่า
400และ Meshy จะไม่คิดเครดิตสำหรับคำขอนี้หาก Meshy ไม่สามารถอ่านชื่อชิ้นส่วนใดๆ จาก prompt ได้ จะใช้ภาพอ้างอิงของโมเดลแทน โดยจะแบ่งตามชิ้นส่วนที่พบในภาพนั้น ตาม mode ที่คุณเลือก งานยังคงดำเนินการต่อไป Meshy จะคิดเครดิตสำหรับงานนี้ และงานนั้นจะมี
prompt_ignored: trueหากโมเดลไม่มีภาพอ้างอิง หรือ Meshy พบชิ้นส่วนน้อยกว่า 2 ชิ้นในภาพนั้น คำขอจะคืนค่า400และ Meshy จะไม่คิดเครดิตสำหรับคำขอนี้
- Name
- target_formats
- Type
- array
- ค่าเริ่มต้น ["glb"]
- Description
รูปแบบไฟล์ที่จะสร้าง Meshy จะสร้าง
glbเสมอและคืนค่าในmodel_urlsพร้อมกับรูปแบบอื่นๆ ที่คุณระบุค่าที่ใช้ได้:
glbobjfbxstlusdzblend3mf
ทุกรูปแบบยกเว้น
stlรองรับอ็อบเจกต์ในซีนและเก็บแต่ละชิ้นส่วนเป็นอ็อบเจกต์แยกกัน ไฟล์ STL ไม่สามารถเก็บอ็อบเจกต์แยกกันได้ ดังนั้น Meshy จะรวมชิ้นส่วนเข้าด้วยกันเป็นชิ้นเดียว โดยจัดเรียงตามlayoutหากต้องการชิ้นส่วนที่สามารถเลือกแยกกันได้ในสไลเซอร์ ให้ขอ3mfเมื่อตั้งค่า
keep_texture: trueรูปแบบเหล่านี้จะเก็บเท็กซ์เจอร์ไว้:glb,fbx,usdzและblend: เท็กซ์เจอร์อยู่ในไฟล์obj: เท็กซ์เจอร์อยู่ในไฟล์แมททีเรียล ซึ่งmodel_urlsจะคืนค่าภายใต้mtlstlและ3mf: ไฟล์เก็บเฉพาะจีออเมทรีเท่านั้น โดยไม่มีเท็กซ์เจอร์
- Name
- layout
- Type
- string
- ค่าเริ่มต้น assembled
- Description
วิธีที่ Meshy จัดเรียงชิ้นส่วน ในทุกรูปแบบไฟล์และในภาพย่อ
ค่าที่ใช้ได้:
assembled: Meshy จะคงชิ้นส่วนไว้ในตำแหน่งเดิมตามโมเดลต้นฉบับon_plate: Meshy จะวางชิ้นส่วนให้แบนราบและกระจายออกบนแผ่นพิมพ์ พร้อมสำหรับการสไลซ์ นี่คือการจัดเรียงแบบเดียวกับมุมมอง On Plate ในเว็บแอป
ทั้งสอง layout นี้ Meshy จะเอาชิ้นส่วนที่บางหรือมีลักษณะเป็นจุดที่เหลือจากการตัดออกก่อนการส่งออก เพื่อให้ทุกชิ้นส่วนที่คุณได้รับสามารถพิมพ์ได้ รูปแบบที่รองรับอ็อบเจกต์ในซีนจะเก็บหนึ่งอ็อบเจกต์ต่อหนึ่งชิ้นส่วน และ
stlจะรวมชิ้นส่วนเข้าด้วยกันเป็นชิ้นเดียว
- Name
- keep_texture
- Type
- boolean
- ค่าเริ่มต้น false
- Description
ว่าจะคงเท็กซ์เจอร์ของโมเดลอินพุตไว้บนชิ้นส่วนหรือไม่
trueจะให้ทุกชิ้นส่วนมีเท็กซ์เจอร์ของอินพุต และงานจะคืนค่าแมปในtexture_urlsfalseจะให้แต่ละชิ้นส่วนมีสีจุดยอดแบบเรียบเมื่อตั้งค่าเป็น
trueงานจะใช้เวลานานขึ้นประมาณสองเท่า และค่าใช้จ่ายเครดิตจะไม่เปลี่ยนแปลง อินพุตที่ไม่มีเท็กซ์เจอร์จะถูกแบ่งในลักษณะเดียวกับเมื่อตั้งค่าเป็นfalseหาก Meshy ไม่สามารถคงเท็กซ์เจอร์ไว้ได้ งานจะล้มเหลวพร้อมรหัสข้อผิดพลาดtextured_split_refusedดูที่ ข้อผิดพลาด
- Name
- connectors
- Type
- boolean
- ค่าเริ่มต้น false
- Description
ว่าจะเพิ่มตัวเชื่อมแบบเดือยและเบ้า (mortise-and-tenon) ที่แต่ละจุดตัดหรือไม่ เพื่อให้ชิ้นส่วนที่พิมพ์ออกมาประกอบเข้ากันได้
connectors = true- Name
- connector_type
- Type
- string
- ค่าเริ่มต้น cube
- Description
รูปทรงของตัวเชื่อมที่แต่ละพื้นผิวตัด
cubeหรือcylinder
- Name
- connector_size
- Type
- number
- ค่าเริ่มต้น 0.5
- Description
ขนาดของตัวเชื่อม เมื่อเทียบกับพื้นผิวตัด ตั้งแต่
0.1ถึง0.8ค่านอกช่วงนี้จะคืนค่า400แม้connectorsจะเป็นfalseก็ตาม
- Name
- connector_height
- Type
- number
- ค่าเริ่มต้น 0.1
- Description
ความสูงที่ตัวเชื่อมยื่นออกจากพื้นผิวตัด เมื่อเทียบกับพื้นผิวตัด ตั้งแต่
0.1ถึง0.8ค่านอกช่วงนี้จะคืนค่า400แม้connectorsจะเป็นfalseก็ตาม
ค่าที่ส่งกลับ
ฟิลด์ result ของการตอบกลับเก็บ ID ของงาน Auto Split ใหม่
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอไม่สามารถทำงานได้ ข้อความแสดงข้อผิดพลาดจะบอกว่าพบปัญหาใด ตัวอย่างเช่น:
- ไม่มี prompt:
modeเป็นby_partsหรือby_colorและไม่มีprompt - prompt อธิบายว่าไม่มีการแบ่ง หรือมีชิ้นส่วนมากเกินไป: prompt ขอให้คงโมเดลไว้เป็นชิ้นเดียว หรือระบุชิ้นส่วนมากกว่า 10 ชิ้น
by_partsและby_colorรองรับชิ้นส่วนที่ระบุชื่อได้ 1 ถึง 10 ชิ้น Meshy จะไม่คิดเครดิตสำหรับคำขอนี้ - งานอินพุตไม่รองรับ:
input_task_idไม่ใช่งานที่สำเร็จของประเภทที่รองรับ ซึ่งสร้างด้วย Meshy 6 หรือ Meshy 7 - ไม่มีภาพอ้างอิง:
modeเป็นby_colorและอินพุตไม่ได้ถูกสร้างจากภาพที่อัปโหลด - ตัวเชื่อมนอกช่วงที่กำหนด:
connector_sizeหรือconnector_heightอยู่นอกช่วง0.1ถึง0.8
แก้ไขคำขอ แล้วส่งใหม่อีกครั้ง ดูที่ ข้อผิดพลาด
- ไม่มี prompt:
- Name
401 - Unauthorized- Description
API คีย์หายไปหรือไม่ถูกต้อง ตรวจสอบเฮดเดอร์
Authorization
- Name
402 - Payment Required- Description
ตัวอย่างเช่น:
- เครดิตไม่เพียงพอ: บัญชีมีเครดิตไม่เพียงพอสำหรับงานนี้ หรือบัญชีถึงขีดจำกัดเครดิตแล้ว ตรวจสอบยอดคงเหลือเครดิตของคุณ แล้วลองใหม่
- แพ็กเกจฟรี: การสร้างงานต้องใช้แพ็กเกจแบบชำระเงิน อัปเกรดแพ็กเกจของคุณในการตั้งค่าการสมัครสมาชิก แล้วลองใหม่
- Name
403 - Forbidden- Description
หนึ่งในกรณีต่อไปนี้:
- การตรวจสอบเนื้อหาบล็อก prompt ข้อความคือ
explicit contentหรือprohibited contentเปลี่ยน prompt แล้วลองใหม่ input_task_idเป็นโมเดลภาพนูนต่ำ (bas-relief) ซึ่งเอนด์พอยต์นี้ไม่สามารถแบ่งได้ ข้อความคือThis model type does not support this operationส่งโมเดลอื่นแทน
- การตรวจสอบเนื้อหาบล็อก prompt ข้อความคือ
- Name
404 - Not Found- Description
input_task_idไม่มีอยู่หรือไม่ได้เป็นของบัญชีคุณ ตรวจสอบ ID และใช้ API คีย์จากบัญชีที่สร้างงานนั้น
- Name
429 - Too Many Requests- Description
คุณเกินการจำกัดอัตราแล้ว รอสักครู่แล้วลองใหม่ ดูที่ การจำกัดอัตรา
คำขอ
by_partsและby_colorยังใช้ขีดจำกัดการอ่าน prompt ร่วมกันที่ 12 คำขอต่อนาทีต่อบัญชี
- Name
503 - Service Unavailable- Description
การแบ่งตาม prompt (
by_partsและby_color) ไม่พร้อมใช้งานชั่วคราว ลองใหม่ภายหลัง หรือส่งmode: "auto"ซึ่งยังคงใช้งานได้ Meshy จะไม่คิดเครดิตสำหรับคำขอนี้
ดึงข้อมูลงาน Auto Split
คืนค่างาน Auto Split ตามรหัส ID ของงานนั้น
Request
curl https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.mtl?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0_metallic.png?Expires=***",
"normal": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0_normal.png?Expires=***",
"roughness": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0_roughness.png?Expires=***"
}
],
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
พารามิเตอร์
- Name
- id
- Type
- path
- Description
รหัสงานจากการตอบกลับการสร้างงาน
ผลลัพธ์ที่ได้
ลบงาน Auto Split
ลบงาน Auto Split อย่างถาวร รวมถึงโมเดลและข้อมูลของงานนั้น คุณไม่สามารถยกเลิกการลบได้
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-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 keeps 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."
}
พารามิเตอร์ของ Path
- Name
- id
- Type
- path
- Description
ID ของงานที่ต้องการลบ
สถานะของงาน
การลบงานที่มีสถานะ PENDING จะคืนเครดิตที่ใช้ไปตอนสร้างงานนั้น
งานที่มีสถานะ IN_PROGRESS ไม่สามารถลบได้ คำขอจะส่งคืน 409 Conflict
และงานยังคงทำงานต่อไป Meshy จะไม่คืนเครดิตให้กับงานที่เริ่มทำงานไปแล้ว
ดังนั้นการลบงานดังกล่าวจะทำให้คุณเสียทั้งเครดิตและผลลัพธ์ ให้รอจนกว่างานจะ
เข้าสู่สถานะ SUCCEEDED, FAILED หรือ CANCELED แล้วจึงลบงานนั้น
การลบงานที่มีสถานะสุดท้าย (SUCCEEDED, FAILED หรือ CANCELED)
จะไม่คืนเครดิต
ค่าที่ส่งกลับ
200 OK เมื่อลบงานสำเร็จ หรือ 409 Conflict เมื่องานมีสถานะ
IN_PROGRESS
List Auto Split tasks
คืนค่ารายการงาน Auto Split ของคุณ
Request
curl https://api.meshy.ai/openapi/v1/print/split?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
]
พารามิเตอร์
- Name
- page_num
- Type
- integer
- Description
หมายเลขหน้าที่ต้องการคืนค่า เริ่มต้นและมีค่าเริ่มต้นเป็น
1
- Name
- page_size
- Type
- integer
- Description
จำนวนงานต่อหน้า สูงสุด
100ค่าเริ่มต้นคือ10Meshy จะถือว่าค่าที่มากกว่านี้เป็น100
- Name
- sort_by
- Type
- string
- Description
ลำดับการเรียง
ค่าที่สามารถใช้ได้:
+created_at: เก่าสุดก่อน-created_at: ใหม่สุดก่อน
ค่าที่คืนกลับ
รายการแบบแบ่งหน้าของ อ็อบเจกต์งาน Auto Split
สตรีมความคืบหน้าของงาน Auto Split
สตรีมการอัปเดตของงาน Auto Split ในรูปแบบ Server-Sent Events (SSE)
Request
curl -N https://api.meshy.ai/openapi/v1/print/split/a43b5c6d-7e8f-901a-234b-567c890d1e2f/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 (other task fields omitted here for brevity;
// each frame is the full task object).
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
พารามิเตอร์
- Name
- id
- Type
- path
- Description
รหัสงานจากคำตอบของคำขอสร้างงาน
ค่าที่ส่งกลับ
สตรีมของ อ็อบเจกต์งาน Auto Split ในรูปแบบ Server-Sent Events
แต่ละอีเวนต์ message จะเก็บอ็อบเจกต์งานแบบเต็ม ซึ่งเป็นอ็อบเจกต์เดียวกับที่ ดึงข้อมูลงาน Auto Split ส่งกลับมา ซึ่งรวมถึง consumed_credits การประทับเวลาต่าง ๆ และ prompt_ignored ในขณะที่งานยังอยู่ในสถานะ PENDING หรือ IN_PROGRESS ฟิลด์ที่เปลี่ยนแปลงระหว่างแต่ละอีเวนต์คือ progress, status, started_at และ preceding_tasks ส่วน model_urls และ thumbnail_url จะได้รับค่า และ part_count จะปรากฏขึ้น เมื่องานมีสถานะเป็น SUCCEEDED
อีเวนต์ error จะเก็บเพียง status_code และ message เท่านั้น ดังนั้นควรตรวจสอบชื่ออีเวนต์ก่อนที่จะอ่านค่า status
The Auto Split task object
อ็อบเจกต์ของงาน Auto Split อธิบายการแบ่งโมเดล 3D หนึ่งครั้ง โดยเก็บสถานะ, progress และไฟล์ของแต่ละชิ้นส่วนเมื่องานสำเร็จ
อ็อบเจกต์นี้ไม่มีฟิลด์ prompt ของอ็อบเจกต์งานประเภทอื่น เช่น name, object_prompt และ texture_prompt และยังไม่มี model_url เดี่ยวด้วย โดย thumbnail_url, model_urls และไทม์สแตมป์ต่าง ๆ จะถูกเติมค่าเข้ามาขณะที่งานดำเนินไป ฟิลด์เหล่านี้จะปรากฏอยู่เสมอ และจะว่างเปล่าจนกว่าจะมีค่า
The Auto Split Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-split",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.mtl?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0_metallic.png?Expires=***",
"normal": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0_normal.png?Expires=***",
"roughness": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/texture_0_roughness.png?Expires=***"
}
],
"part_count": 4,
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000082000,
"task_error": null,
"consumed_credits": 10
}
- Name
- id
- Type
- string
- Description
รหัสของงาน ให้ถือว่าเป็นสตริงที่ไม่มีความหมายตายตัว และอย่าอ้างอิงรูปแบบของมัน
- Name
- type
- Type
- string
- Description
ประเภทของงาน ซึ่งจะเป็น
print-splitเสมอ
- Name
- model_urls
- Type
- object
- Description
URL สำหรับดาวน์โหลดโมเดลที่ถูกแบ่งแล้ว หนึ่ง URL ต่อหนึ่งฟอร์แมตที่คุณขอ ฟอร์แมตที่คุณไม่ได้ขอจะไม่มีคีย์ปรากฏ ฟอร์แมตที่รองรับอ็อบเจกต์ของซีนจะเก็บแต่ละชิ้นส่วนเป็นอ็อบเจกต์แยกกัน ส่วน
stlจะรวมทุกชิ้นส่วนเข้าเป็นชิ้นเดียว- Name
glb- Type
- string
- Description
ไฟล์ GLB
- Name
obj- Type
- string
- Description
ไฟล์ OBJ
- Name
mtl- Type
- string
- Description
ไฟล์ MTL จะปรากฏคู่กับไฟล์ OBJ เมื่อ
keep_textureเป็นtrueและโมเดลนำเข้ามีเท็กซ์เจอร์
- Name
fbx- Type
- string
- Description
ไฟล์ FBX
- Name
stl- Type
- string
- Description
ไฟล์ STL ซึ่งรวมทุกชิ้นส่วนเข้าเป็นชิ้นเดียว หากต้องการชิ้นส่วนที่เลือกแยกกันได้ ให้ขอ
3mf
- Name
usdz- Type
- string
- Description
ไฟล์ USDZ
- Name
blend- Type
- string
- Description
ไฟล์ Blender
- Name
3mf- Type
- string
- Description
ไฟล์ 3MF
- Name
- thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพตัวอย่างของโมเดลที่ถูกแบ่งแล้ว ใน
layoutที่คุณขอ เมื่อชิ้นส่วนยังคงเท็กซ์เจอร์ไว้ ภาพตัวอย่างจะแสดงเท็กซ์เจอร์นั้น มิฉะนั้นแต่ละชิ้นส่วนจะมีสีของตัวเอง
- Name
- texture_urls
- Type
- array
- Description
แผนที่เท็กซ์เจอร์ของโมเดลที่ถูกแบ่งแล้ว เป็นอาร์เรย์ที่มีหนึ่งอ็อบเจกต์ ทุกชิ้นส่วนใช้แผนที่เหล่านี้ร่วมกัน จะปรากฏเฉพาะเมื่อ
keep_textureเป็นtrueและโมเดลนำเข้ามีเท็กซ์เจอร์- Name
base_color- Type
- string
- Description
URL สำหรับดาวน์โหลดแผนที่สีพื้นฐาน
- Name
metallic- Type
- string
- Description
URL สำหรับดาวน์โหลดแผนที่โลหะ (metallic) จะไม่ปรากฏเมื่อโมเดลนำเข้าไม่มีแผนที่โลหะ
- Name
normal- Type
- string
- Description
URL สำหรับดาวน์โหลดนอร์มัลแมป จะไม่ปรากฏเมื่อโมเดลนำเข้าไม่มีนอร์มัลแมป
- Name
roughness- Type
- string
- Description
URL สำหรับดาวน์โหลดแผนที่ความขรุขระ (roughness) จะไม่ปรากฏเมื่อโมเดลนำเข้าไม่มีแผนที่ความขรุขระ
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดเวอร์ชันของ
thumbnail_urlที่มีพื้นหลังโปร่งใส (RGBA) จะปรากฏเฉพาะหลังจากงานสำเร็จ เมื่อ Meshy เรนเดอร์ภาพตัวอย่างแบบโปร่งใสแล้ว
- Name
- prompt_ignored
- Type
- boolean
- Description
ระบุว่า Meshy เพิกเฉยต่อ prompt หรือไม่ ค่านี้จะเป็น
trueเมื่อpromptของคำขอแบบby_partsหรือby_colorไม่ได้ระบุชื่อชิ้นส่วนใด ๆ ทำให้ Meshy แบ่งโมเดลโดยอัตโนมัติแทน ชื่อชิ้นส่วนในผลลัพธ์จะเป็นชื่อที่ Meshy ตั้งให้ ไม่ใช่ของคุณ ฟิลด์นี้จะปรากฏตั้งแต่สถานะPENDINGเป็นต้นไป Meshy จะไม่ใส่ฟิลด์นี้สำหรับงานแบบautoและเมื่อใดก็ตามที่ทำตาม prompt แล้ว
- Name
- part_count
- Type
- integer
- Description
จำนวนชิ้นส่วนที่พิมพ์ได้ซึ่งการแบ่งนี้สร้างขึ้น ฟอร์แมตที่รองรับอ็อบเจกต์ของซีนจะมีหนึ่งอ็อบเจกต์ต่อหนึ่งชิ้นส่วน
stlรวมทุกชิ้นส่วนเข้าเป็นชิ้นเดียว แต่part_countยังคงนับจำนวนชิ้นส่วนอยู่ ก่อนส่งออก Meshy จะลบส่วนที่ยุบตัวบางเกินกว่าจะเป็นชิ้นส่วนที่พิมพ์ได้ออกไป และไม่นับรวมส่วนเหล่านั้น
- Name
- progress
- Type
- integer
- Description
ความคืบหน้าของงาน เป็นเปอร์เซ็นต์ โดยจะเป็น
0จนกว่างานจะเริ่ม และเป็น100เมื่องานสำเร็จ
- Name
- status
- Type
- string
- Description
สถานะของงาน หนึ่งใน
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDหรือCANCELED
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวนงานที่อยู่ก่อนหน้างานนี้ในคิว ค่านี้มีความหมายก็ต่อเมื่องานยังอยู่ในสถานะ
PENDINGเท่านั้น
- Name
- created_at
- Type
- timestamp
- Description
เวลาที่สร้างงาน หน่วยเป็นมิลลิวินาทีแบบ Unix
- Name
- started_at
- Type
- timestamp
- Description
เวลาที่งานเริ่มทำงาน หน่วยเป็นมิลลิวินาทีแบบ Unix โดยจะเป็น
0จนกว่างานจะเริ่ม
- Name
- finished_at
- Type
- timestamp
- Description
เวลาที่งานเสร็จสิ้น หน่วยเป็นมิลลิวินาทีแบบ Unix โดยจะเป็น
0จนกว่างานจะเสร็จสิ้น
- Name
- expires_at
- Type
- timestamp
- Description
เวลาที่ผลลัพธ์ของงานจะหมดอายุ หน่วยเป็นมิลลิวินาทีแบบ Unix โดยจะเป็น
0จนกว่างานจะเสร็จสิ้น
- Name
- task_error
- Type
- object
- Description
รายละเอียดข้อผิดพลาดเมื่องานล้มเหลว ดูข้อผิดพลาด
หากการตรวจสอบความปลอดภัยปฏิเสธโมเดลที่นำเข้า งานจะล้มเหลวโดยตั้งค่า
task_error.typeเป็นinvalid_inputและtask_error.codeเป็นprovider_content_refusedโปรดส่งโมเดลอื่น ดูข้อผิดพลาดเมื่อตั้งค่า
keep_texture: trueหาก Meshy ไม่สามารถคงเท็กซ์เจอร์ไว้ได้ งานจะล้มเหลวโดยตั้งค่าtask_error.codeเป็นtextured_split_refusedดูข้อผิดพลาด
- Name
- consumed_credits
- Type
- integer
- Description
จำนวนเครดิตที่งานนี้ใช้ไป ฟิลด์นี้จะปรากฏอยู่เสมอ โดยจะเป็น
10หลังจาก Meshy ยอมรับงาน และเป็น0สำหรับงานที่FAILEDเนื่องจาก Meshy จะคืนเครดิตเมื่องานล้มเหลว การลบงานที่ยังอยู่ในสถานะPENDINGก็จะได้รับการคืนเครดิตเช่นกัน