API แปลง
API แปลงช่วยให้คุณแปลงโมเดล 3D ที่มีอยู่เป็นรูปแบบไฟล์ต่าง ๆ ได้
สร้างงานแปลง
เอนด์พอยต์นี้สร้างงานแปลงรูปแบบใหม่
พารามิเตอร์
ต้องระบุเพียงหนึ่งอย่างระหว่าง input_task_id หรือ model_url เท่านั้น หากระบุทั้งสองอย่าง input_task_id จะมีลำดับความสำคัญก่อน
- Name
- input_task_id
- Type
- string
- จำเป็น
- Description
ID ของงาน Meshy ที่เสร็จสมบูรณ์ ซึ่งมีโมเดลที่คุณต้องการแปลง งานต้องมีสถานะเป็น
SUCCEEDED
- Name
- model_url
- Type
- string
- จำเป็น
- Description
URL ที่เข้าถึงได้แบบสาธารณะหรือ Data URI ที่ชี้ไปยังไฟล์โมเดล 3D รูปแบบที่รองรับ:
.glb,.gltf,.obj,.fbx,.stl. สำหรับ Data URI ให้ใช้ MIME type:application/octet-stream
- Name
- target_formats
- Type
- string[]
- จำเป็น
- Description
รายการรูปแบบเอาต์พุตสำหรับโมเดลที่แปลงแล้ว ค่าที่ใช้ได้:
glb,fbx,obj,usdz,blend,stl,3mf.
ผลลัพธ์ที่ส่งคืน
คุณสมบัติ result ของการตอบกลับมี id ของงานแปลงที่สร้างขึ้นใหม่
โหมดความล้มเหลว
400 - Bad Request
คำขอไม่สามารถยอมรับได้ สาเหตุที่พบบ่อย:
- พารามิเตอร์ขาดหาย: ต้องระบุ
model_urlหรือinput_task_id - target_formats ขาดหาย: ต้องระบุรูปแบบเป้าหมายอย่างน้อยหนึ่งรูปแบบ
- งานอินพุตไม่ถูกต้อง:
input_task_idต้องอ้างอิงถึงงานที่สำเร็จ - รูปแบบโมเดลไม่ถูกต้อง:
model_urlชี้ไปยังไฟล์ที่มีนามสกุลที่ไม่รองรับ - URL เข้าถึงไม่ได้: ไม่สามารถดาวน์โหลด
model_urlได้
401 - Unauthorized
การยืนยันตัวตนล้มเหลว โปรดตรวจสอบ API คีย์ของคุณ
402 - Payment Required
เครดิตไม่เพียงพอสำหรับดำเนินงานนี้
429 - Too Many Requests
คุณใช้งานเกินการจำกัดอัตราของคุณแล้ว
Request
curl https://api.meshy.ai/openapi/v1/convert \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["fbx", "stl"]
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
ดึงข้อมูลงานแปลง
เอนด์พอยต์นี้ดึงข้อมูลงานแปลงตาม ID ของงานนั้น
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ID ของงานแปลงที่ต้องการดึงข้อมูล
ส่งคืน
อ็อบเจ็กต์งานแปลง
Request
curl https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"glb": "",
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"obj": "",
"usdz": "",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
ลบงานแปลง
เอนด์พอยต์นี้จะลบงานแปลงอย่างถาวร รวมถึงโมเดลและข้อมูลที่เกี่ยวข้องทั้งหมด การดำเนินการนี้ไม่สามารถย้อนกลับได้
พารามิเตอร์พาธ
- Name
- id
- Type
- path
- Description
ID ของงานแปลงที่จะลบ
ส่งคืน
ส่งคืน 200 OK เมื่อสำเร็จ
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
รายการงานแปลง
เอนด์พอยต์นี้ช่วยให้คุณเรียกดูรายการงานแปลงได้
พารามิเตอร์
- Name
- page_num
- Type
- integer
- ค่าเริ่มต้น 1
- Description
หมายเลขหน้าสำหรับการแบ่งหน้า
- Name
- page_size
- Type
- integer
- ค่าเริ่มต้น 10
- Description
ขีดจำกัดขนาดหน้า อนุญาตสูงสุด
50รายการ
- Name
- sort_by
- Type
- string
- Description
ฟิลด์ที่จะใช้จัดเรียง ค่าที่ใช้ได้:
+created_at: จัดเรียงตามเวลาที่สร้างในลำดับจากน้อยไปมาก-created_at: จัดเรียงตามเวลาที่สร้างในลำดับจากมากไปน้อย
ค่าที่ส่งคืน
ส่งคืนรายการแบบแบ่งหน้าของ อ็อบเจ็กต์งานแปลง
Request
curl https://api.meshy.ai/openapi/v1/convert?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
สตรีมงานแปลง
เอนด์พอยต์นี้จะสตรีมการอัปเดตแบบเรียลไทม์สำหรับงานแปลงโดยใช้ Server-Sent Events (SSE)
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานแปลงที่จะสตรีม
การส่งคืน
ส่งคืนสตรีมของ ออบเจ็กต์งานแปลง ในรูปแบบ Server-Sent Events
สำหรับงาน PENDING หรือ IN_PROGRESS สตรีมการตอบกลับจะมีเฉพาะฟิลด์ progress และ status ที่จำเป็นเท่านั้น
Request
curl -N https://api.meshy.ai/openapi/v1/convert/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "convert",
"model_urls": {
"fbx": "https://assets.meshy.ai/.../model.fbx?Expires=...",
"stl": "https://assets.meshy.ai/.../model.stl?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
ออบเจ็กต์งานแปลง
ออบเจ็กต์งานแปลงแสดงถึงงานการแปลงรูปแบบไฟล์.
คุณสมบัติ
id· string
ตัวระบุเฉพาะสำหรับงาน
type· string
ประเภทของงาน ค่าคือ convert
model_urls· object
URL ที่ดาวน์โหลดได้สำหรับไฟล์โมเดลที่แปลงแล้ว เฉพาะรูปแบบที่ระบุใน target_formats เท่านั้นที่จะมี URL คุณสมบัติของรูปแบบอื่นจะเป็นสตริงว่าง
progress· integer
progress ของงาน (0-100)
status· string
สถานะของงาน ค่าที่เป็นไปได้: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED
preceding_tasks· integer
จำนวนงานก่อนหน้า มีความหมายเฉพาะเมื่อสถานะเป็น PENDING
created_at· timestamp
ไทม์สแตมป์ของเวลาที่สร้างงาน หน่วยเป็นมิลลิวินาที
started_at· timestamp
ไทม์สแตมป์ของเวลาที่เริ่มงาน หน่วยเป็นมิลลิวินาที เป็น 0 หากยังไม่เริ่ม
finished_at· timestamp
ไทม์สแตมป์ของเวลาที่งานเสร็จสิ้น หน่วยเป็นมิลลิวินาที เป็น 0 หากยังไม่เสร็จสิ้น
task_error· object
อ็อบเจ็กต์ข้อผิดพลาดหากงานล้มเหลว ดูรายละเอียดเพิ่มเติมได้ที่ ข้อผิดพลาด
consumed_credits· integer
จำนวนเครดิตที่งานนี้ใช้ไป (1 เครดิตต่องานแปลงหนึ่งงาน) ส่งคืน 0 สำหรับงาน FAILED