Creative Lab — Brick Figure API
แปลงภาพถ่ายต้นฉบับให้เป็นฟิกเกอร์ 3D สไตล์บล็อกที่สะสมได้ ผ่านสองขั้นตอน:
ขั้นตอน prototype จะสร้างภาพคอนเซปต์สไตล์ตามภาพถ่ายที่คุณนำเข้า จากนั้นขั้นตอน
build จะแปลงภาพคอนเซปต์นั้นให้เป็นโมเดล 3D ที่มี texture ทั้งสองขั้นตอน
เชื่อมโยงกันผ่าน input_task_id
POST /openapi/creative-lab/brick-figure/v1/prototypePOST /openapi/creative-lab/brick-figure/v1/build
สร้างงาน Brick Figure Prototype
สร้างภาพคอนเซ็ปต์สไตล์บล็อกตัวต่อ (brick-style) เพียงภาพเดียวจากภาพต้นฉบับ ID ของงานที่ได้รับกลับมาคือสิ่งที่คุณจะส่งต่อเป็น input_task_id ให้กับเอนด์พอยต์ build ดูรูปแบบของการตอบกลับได้ที่
The Brick Figure Prototype Task Object
พารามิเตอร์
- Name
- image_url
- Type
- string
- จำเป็น
- Description
ภาพต้นฉบับที่จะให้ Meshy ปรับให้เป็นสไตล์ brick minifigure ปัจจุบันเรารองรับรูปแบบไฟล์
.jpg,.jpeg,.pngและ.webpมีสองวิธีในการระบุภาพ:
- URL ที่เข้าถึงได้แบบสาธารณะ: URL ที่สามารถเข้าถึงได้จากอินเทอร์เน็ตสาธารณะ
- Data URI: ข้อมูลภาพที่เข้ารหัสแบบ base64 ในรูปแบบ data URI ตัวอย่างของ data URI:
data:image/jpeg;base64,<your base64-encoded image data>
- Name
- name
- Type
- string
- Description
ชื่องาน (ไม่บังคับ) สำหรับใช้แสดงผล ความยาวสูงสุด 100 ตัวอักษร
- Name
- remove_background
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อกำหนดค่าเป็น
trueภาพต้นแบบ (prototype) จะถูกส่งกลับมาในรูปแบบ PNG แบบ RGBA ที่มีพื้นหลังโปร่งใส โดยตัดพื้นหลังออกแล้ว เพื่อให้คุณสามารถนำตัวแบบไปประกอบกับพื้นหลังใดก็ได้
ผลลัพธ์ที่ได้รับ
พร็อพเพอร์ตี้ result ของการตอบกลับจะมี id ของงาน brick figure prototype ที่สร้างขึ้นใหม่ ให้ทำการโพลไปยังเอนด์พอยต์ Get a Task หรือติดตามผ่าน stream จนกว่างานจะมีสถานะเป็น SUCCEEDED จากนั้นส่ง ID นั้นไปยัง build endpoint ในรูปแบบ input_task_id
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอไม่ถูกต้อง สาเหตุที่พบบ่อย ได้แก่:
- ขาดพารามิเตอร์: ต้องระบุ
image_url - รูปแบบภาพไม่ถูกต้อง:
image_urlที่ระบุไม่ใช่รูปแบบที่รองรับ (.jpg,.jpeg,.png,.webp) - ขนาดภาพอยู่นอกช่วงที่กำหนด: ภาพมีขนาดเล็กเกินไป มีขนาดไฟล์เกินขนาดสูงสุดที่กำหนด หรือมีจำนวนพิกเซลเกินค่าสูงสุดที่กำหนด
- URL ไม่สามารถเข้าถึงได้: ไม่สามารถดาวน์โหลด
image_urlได้ (404 หรือ timeout) - Data URI ไม่ถูกต้อง: สตริง base64 มีรูปแบบไม่ถูกต้อง
- เนื้อหาถูกตั้งค่าสถานะ: ภาพอินพุตถูกตั้งค่าสถานะโดยระบบ moderation สำหรับเนื้อหา NSFW
- ขาดพารามิเตอร์: ต้องระบุ
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว โปรดตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
เครดิตไม่เพียงพอสำหรับการดำเนินงานนี้
- Name
403 - Forbidden- Description
ภาพอินพุตถูกตั้งค่าสถานะว่าละเมิดทรัพย์สินทางปัญญา
- Name
429 - Too Many Requests- Description
คุณส่งคำขอเกินขีดจำกัดการจำกัดอัตราที่กำหนดไว้
Request
# Stage 1: generate a brick-style concept image
curl https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/prototype \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_url": "<your publicly accessible image url or base64-encoded data URI>"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
สร้างงาน Build ฟิกเกอร์บล็อก
สร้างโมเดล 3D ฟิกเกอร์บล็อกที่มีพื้นผิว (textured) ฉบับสมบูรณ์จากงานต้นแบบ (prototype) ที่สำเร็จแล้ว การ build จะรันผ่านไปป์ไลน์ image-to-3D เดียวกันกับ รูปภาพเป็น 3D ดังนั้นรูปแบบของ object ในการตอบกลับและ รายการ URL ผลลัพธ์จึงตรงกันทุกประการ ดูรูปแบบการตอบกลับได้ที่ The Brick Figure Build Task Object
พารามิเตอร์
- Name
- input_task_id
- Type
- string
- จำเป็น
- Description
Task ID ของงานต้นแบบ (prototype) ที่ถูกสร้างขึ้นผ่านเอนด์พอยต์ OpenAPI ตัวเดียวกันนี้ งานต้นแบบต้องถูกสร้างด้วย API คีย์เดียวกัน ต้องมีสถานะถึง
SUCCEEDEDแล้ว และต้องสร้างภาพผู้สมัคร (candidate) ได้เพียงภาพเดียวเท่านั้นงานต้นแบบที่สร้างผ่านเว็บแอปจะไม่ได้รับการยอมรับ — เอนด์พอยต์ build จะยอมรับเฉพาะงานต้นแบบที่สร้างโดย
POST /openapi/creative-lab/brick-figure/v1/prototypeเท่านั้น และจะปฏิเสธแหล่งที่มาอื่นทั้งหมดด้วยรหัส404
- Name
- name
- Type
- string
- Description
ชื่องานเพื่อการแสดงผล (ไม่บังคับ) สูงสุด 100 ตัวอักษร
ผลลัพธ์ที่ได้
พร็อพเพอร์ตี้ result ของการตอบกลับจะมี id ของงาน task การ build ฟิกเกอร์บล็อกที่สร้างขึ้นใหม่ ให้ทำการ poll เอนด์พอยต์ Get a Task หรือ subscribe stream จนกว่างานจะมีสถานะ SUCCEEDED จากนั้นจึงดาวน์โหลด GLB ที่มีพื้นผิวจาก model_urls.glb (หรือคู่ OBJ + MTL จาก model_urls.obj และ model_urls.mtl หากไปป์ไลน์ปลายทางของคุณต้องการใช้ OBJ)
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอไม่ถูกต้อง สาเหตุที่พบบ่อยได้แก่:
- ขาดพารามิเตอร์: จำเป็นต้องมี
input_task_id - UUID ไม่ถูกต้อง:
input_task_idไม่ใช่ UUID ที่ถูกต้อง - งานหลักยังไม่สำเร็จ: งานต้นแบบที่อ้างอิงถึงยังไม่มีสถานะ
SUCCEEDED - ไม่มีภาพผู้สมัคร: งานต้นแบบสำเร็จแล้ว แต่ไม่ได้สร้างภาพผู้สมัคร (candidate) ใดเลย
- ขาดพารามิเตอร์: จำเป็นต้องมี
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว โปรดตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
เครดิตไม่เพียงพอสำหรับการทำงานนี้
- Name
404 - Not Found- Description
งานต้นแบบที่อ้างอิงถึงไม่มีอยู่ เป็นของผู้ใช้รายอื่น หรือถูกสร้างขึ้นผ่านเว็บแอป (มีเพียงงานต้นแบบในโหมด API เท่านั้นที่สามารถต่อเชื่อมเข้ากับการ build ได้)
- Name
429 - Too Many Requests- Description
คุณใช้งานเกินการจำกัดอัตราที่กำหนดไว้แล้ว
Request
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/build \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
Response
{
"result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
เรียกดูงานฟิกเกอร์บล็อก
เรียกดูงานต้นแบบ (prototype) หรืองานสร้าง (build) โดยระบุ id ของงานที่ถูกต้อง
เส้นทาง URL ต้องตรงกับขั้นตอนของงาน — หากดึงงาน build ผ่าน
/prototype/:id จะได้รับ 404 และในทางกลับกันก็เช่นเดียวกัน
ดูรูปแบบการตอบกลับได้ที่ The Brick Figure Prototype Task Object และ The Brick Figure Build Task Object
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานฟิกเกอร์บล็อกที่ต้องการเรียกดู
ผลลัพธ์ที่ได้
การตอบกลับจะประกอบด้วยอ็อบเจ็กต์งานฟิกเกอร์บล็อก โดยรูปแบบจะขึ้นอยู่กับขั้นตอนที่ร้องขอ
Request
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
# Build
curl https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Prototype Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "creative-lab-brick-figure-prototype",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123456000,
"started_at": 1729123460000,
"finished_at": 1729123486000,
"expires_at": 1729382686000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 6,
"image_urls": [
"https://assets.meshy.ai/***/concept.png?Expires=***"
]
}
Build Response
{
"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
"type": "creative-lab-brick-figure-build",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123500000,
"started_at": 1729123510000,
"finished_at": 1729123535000,
"expires_at": 1729382735000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30,
"prompt": "",
"negative_prompt": "",
"texture_prompt": "",
"texture_image_url": "",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.mtl?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/preview.png?Expires=***",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/texture_0.png?Expires=***"
}
]
}
ลบงานฟิกเกอร์เลโก้
ยกเลิกงานฟิกเกอร์เลโก้ หากงานยังอยู่ในสถานะ PENDING
เครดิตที่ใช้ไปตอนสร้างงานจะถูกคืนให้ ส่วนงานที่อยู่ในสถานะ
IN_PROGRESS แล้วจะถูกยกเลิกโดยไม่มีการคืนเครดิต (เนื่องจาก worker
อาจกำลังใช้แหล่งข้อมูลอยู่แล้ว) งานที่ไปถึงสถานะสุดท้ายแล้ว
(SUCCEEDED, FAILED, CANCELED) จะไม่สามารถยกเลิกได้
เส้นทาง URL ต้องตรงกับขั้นตอนของงาน — การเรียก DELETE ที่
/prototype/:buildId จะคืนค่า 404
Path Parameters
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานฟิกเกอร์เลโก้ที่ต้องการยกเลิก
Returns
คืนค่า 204 No Content เมื่อสำเร็จ พร้อม body ที่ว่างเปล่า
Failure Modes
- Name
400 - Bad Request- Description
งานนี้อยู่ในสถานะสุดท้ายแล้วและไม่สามารถยกเลิกได้
- Name
404 - Not Found- Description
ไม่พบงานนี้ งานเป็นของผู้ใช้อื่น หรือขั้นตอนของงานไม่ตรงกับเส้นทาง URL
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 204 No Content on success (empty body).
สตรีมงานฟิกเกอร์บล็อก
สตรีมข้อมูลอัปเดตแบบเรียลไทม์สำหรับงานฟิกเกอร์บล็อกผ่าน Server-Sent Events (SSE)
เส้นทาง URL ต้องตรงกับขั้นตอนของงาน — การเปิดสตรีมที่
/prototype/:buildId/stream จะส่งเพย์โหลด event: error เพียงรายการเดียวที่มี
status_code: 404 และปิดสตรีมทันที
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานฟิกเกอร์บล็อกที่ต้องการสตรีม
ค่าที่ส่งกลับ
ส่งคืนสตรีมของอ็อบเจ็กต์งาน Brick Figure Prototype
หรือ Brick Figure Build ในรูปแบบ
Server-Sent Events แต่ละเฟรมจะมีอ็อบเจ็กต์งานฉบับเต็มของขั้นตอนนั้น ๆ — ในรูปแบบเดียวกับที่
เอนด์พอยต์ Get ส่งคืน — ดังนั้นในขณะที่งานอยู่ในสถานะ PENDING หรือ IN_PROGRESS
ฟิลด์ผลลัพธ์ต่าง ๆ จะยังไม่มีการเติมข้อมูล (เป็น null, [] หรือ {}) และ
finished_at จะเป็น null
Request
curl -N https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example (wrong stage or task not found)
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
"type": "creative-lab-brick-figure-build",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123500000,
"started_at": 1729123510000,
"finished_at": 1729123535000,
"expires_at": 1729382735000,
"task_error": null,
"consumed_credits": 30,
"prompt": "",
"negative_prompt": "",
"texture_prompt": "",
"texture_image_url": "",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.mtl?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/preview.png?Expires=***",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/texture_0.png?Expires=***"
}
]
}
List Brick Figure Tasks
ดึงรายการงานฟิกเกอร์บล็อกแบบแบ่งหน้าของคุณสำหรับสเตจเดียว พาธ URL
เป็นตัวเลือกสเตจ — /prototype จะส่งคืนงานต้นแบบ (prototype); /build
จะส่งคืนงานสร้าง (build) งานจากอีกสเตจหนึ่งจะไม่ถูกรวมอยู่ในการตอบกลับทั้งสองแบบ
Path Parameters
- Name
- stage
- Type
- path
- จำเป็น
- Description
เป็นได้ทั้ง
prototypeหรือbuildคอลเลกชันจะส่งคืนเฉพาะงาน ที่มีสเตจตรงกับ URL — การเรียก/prototypeจะไม่ส่งคืน งาน build และในทางกลับกัน
Query Parameters
- Name
- page_num
- Type
- integer
- ค่าเริ่มต้น 1
- Description
หมายเลขหน้าสำหรับการแบ่งหน้า
- Name
- page_size
- Type
- integer
- ค่าเริ่มต้น 10
- Description
จำนวนรายการต่อหน้า สูงสุดที่อนุญาตคือ
100รายการ
- Name
- sort_by
- Type
- string
- ค่าเริ่มต้น -created_at
- Description
ฟิลด์ที่ใช้เรียงลำดับ ค่าที่ใช้ได้:
+created_at: เรียงตามเวลาที่สร้างจากน้อยไปมาก-created_at: เรียงตามเวลาที่สร้างจากมากไปน้อย
Returns
ส่งคืนรายการแบบแบ่งหน้าของออบเจกต์งานตามสเตจ — ทั้ง
ออบเจกต์งานต้นแบบฟิกเกอร์บล็อก
เมื่อแสดงรายการ /prototype หรือ
ออบเจกต์งานสร้างฟิกเกอร์บล็อก เมื่อ
แสดงรายการ /build
Request
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/prototype?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/brick-figure/v1/build?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response (List Prototype Tasks)
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "creative-lab-brick-figure-prototype",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123456000,
"started_at": 1729123460000,
"finished_at": 1729123486000,
"expires_at": 1729382686000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 6,
"image_urls": [
"https://assets.meshy.ai/***/concept.png?Expires=***"
]
}
]
The Brick Figure Prototype Task Object
The Brick Figure Prototype Task object เป็นหน่วยงานที่ Meshy ติดตามไว้เพื่อ
สร้าง ภาพคอนเซ็ปต์ สไตล์เลโก้จากภาพต้นฉบับ ผลลัพธ์ของ
ขั้นตอนนี้จะถูกส่งต่อไปยัง ขั้นตอนการสร้าง
ผ่าน input_task_id
Properties
- Name
- id
- Type
- string
- Description
ตัวระบุที่ไม่ซ้ำกันสำหรับงาน แม้ว่าเราจะใช้ k-sortable UUID สำหรับ id ของงานในรายละเอียดการใช้งาน แต่คุณไม่ควรตั้งสมมติฐานใด ๆ เกี่ยวกับรูปแบบของ id
- Name
- type
- Type
- string
- Description
ประเภทของงาน ค่านี้คือ
creative-lab-brick-figure-prototype
- Name
- name
- Type
- string
- Description
ชื่องานที่ระบุไว้ตอนสร้างงาน จะเป็นสตริงว่างหากไม่ได้ระบุชื่อไว้
- Name
- status
- Type
- string
- Description
สถานะของงาน ค่าที่เป็นไปได้คือ
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED
- Name
- progress
- Type
- integer
- Description
progress ของงาน หากงานยังไม่เริ่ม พร็อพเพอร์ตี้นี้จะเป็น
0เมื่องานสำเร็จแล้ว ค่านี้จะกลายเป็น100
- Name
- created_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่สร้างงาน มีหน่วยเป็นมิลลิวินาที
ไทม์สแตมป์แสดงถึงจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 UTC โดยเป็นไปตาม มาตรฐาน RFC 3339
ตัวอย่างเช่น วันศุกร์ที่ 1 กันยายน 2023 เวลา 12:00:00 PM GMT จะแสดงเป็น1693569600000ซึ่งใช้กับ ไทม์สแตมป์ทั้งหมดใน Meshy API
- Name
- started_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่งานเริ่มทำงาน มีหน่วยเป็นมิลลิวินาที หากงานยังไม่เริ่ม พร็อพเพอร์ตี้นี้จะเป็น
null
- Name
- finished_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่งานเสร็จสิ้น มีหน่วยเป็นมิลลิวินาที หากงานยังไม่เสร็จสิ้น พร็อพเพอร์ตี้นี้จะเป็น
null
- Name
- expires_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่ผลลัพธ์ของงานจะหมดอายุ มีหน่วยเป็นมิลลิวินาที
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวนงานที่อยู่ก่อนหน้า
ค่าของฟิลด์นี้มีความหมายก็ต่อเมื่อสถานะของงานเป็น
PENDING
- Name
- task_error
- Type
- object
- Description
รายละเอียดข้อผิดพลาดสำหรับงานที่ล้มเหลว ดู ข้อผิดพลาด สำหรับการอ้างอิงออบเจ็กต์
task_errorแบบเต็ม
- Name
- consumed_credits
- Type
- integer
- Description
จำนวนเครดิตที่ถูกใช้ไปโดยงานนี้ จะมีค่าเมื่อสถานะของงานเป็น
PENDING,IN_PROGRESS, หรือSUCCEEDEDจะคืนค่า0สำหรับงานที่FAILED(เครดิตจะถูกคืนเมื่อล้มเหลว)
- Name
- image_urls
- Type
- array of strings
- Description
URL ที่สามารถดาวน์โหลดได้สำหรับตัวเลือกภาพคอนเซ็ปต์ที่สร้างขึ้นโดยงานต้นแบบนี้ ปัจจุบัน API จะคืนค่าตัวเลือกเพียงหนึ่งรายการเสมอ แต่ฟิลด์นี้เป็นอาร์เรย์เพื่อให้เวอร์ชันในอนาคตสามารถแสดงหลายตัวเลือกได้โดยไม่ทำให้เกิดการเปลี่ยนแปลงที่ไม่รองรับกัน (breaking change)
Example Brick Figure Prototype Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "creative-lab-brick-figure-prototype",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123456000,
"started_at": 1729123460000,
"finished_at": 1729123486000,
"expires_at": 1729382686000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 6,
"image_urls": [
"https://assets.meshy.ai/***/concept.png?Expires=***"
]
}
The Brick Figure Build Task Object
The Brick Figure Build Task object เป็นหน่วยงานที่ Meshy คอยติดตาม เพื่อสร้าง ฟิกเกอร์เลโก้ 3D ที่มีเท็กซ์เจอร์จากงานต้นแบบ (prototype task) ที่สำเร็จแล้ว โดยจะรัน image-to-3D pipeline แบบเดียวกับที่ รูปภาพเป็น 3D ใช้ ดังนั้นฟิลด์ผลลัพธ์จึงสะท้อนตาม task object ของเอนด์พอยต์นั้น
คุณสมบัติ
- Name
- id
- Type
- string
- Description
ตัวระบุเฉพาะสำหรับงานนี้
- Name
- type
- Type
- string
- Description
ประเภทของงาน โดยค่านี้คือ
creative-lab-brick-figure-build
- Name
- name
- Type
- string
- Description
ชื่องานที่ระบุตอนสร้างงาน หากไม่ได้ระบุชื่อจะเป็นสตริงว่าง
- Name
- status
- Type
- string
- Description
สถานะของงาน ค่าที่เป็นไปได้คือ
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED
- Name
- progress
- Type
- integer
- Description
progress ของงาน หากงานยังไม่เริ่ม คุณสมบัตินี้จะเป็น
0เมื่องานสำเร็จแล้ว ค่านี้จะกลายเป็น100
- Name
- created_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่สร้างงาน หน่วยเป็นมิลลิวินาที
- Name
- started_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่งานเริ่มทำงาน หน่วยเป็นมิลลิวินาที
- Name
- finished_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่งานเสร็จสิ้น หน่วยเป็นมิลลิวินาที
- Name
- expires_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่ผลลัพธ์ของงานจะหมดอายุ หน่วยเป็นมิลลิวินาที
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวนงานที่อยู่ก่อนหน้า มีความหมายก็ต่อเมื่อสถานะเป็น
PENDING
- Name
- task_error
- Type
- object
- Description
รายละเอียดข้อผิดพลาดสำหรับงานที่ล้มเหลว ดู ข้อผิดพลาด สำหรับการอ้างอิงออบเจ็กต์
task_errorแบบเต็ม
- Name
- consumed_credits
- Type
- integer
- Description
จำนวนเครดิตที่ถูกใช้ไปสำหรับงานนี้ จะคืนค่า
0สำหรับงานที่FAILED(เครดิตจะถูกคืนเมื่อล้มเหลว)
- Name
- prompt
- Type
- string
- Description
จะเป็นค่าว่างเสมอสำหรับ brick figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์กับรูปแบบ
V2ImageTo3DTaskResponseที่ใช้ร่วมกับ รูปภาพเป็น 3D
- Name
- negative_prompt
- Type
- string
- Description
จะเป็นค่าว่างเสมอสำหรับ brick figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์
- Name
- texture_prompt
- Type
- string
- Description
จะเป็นค่าว่างเสมอสำหรับ brick figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์
- Name
- texture_image_url
- Type
- string
- Description
จะเป็นค่าว่างเสมอสำหรับ brick figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์
- Name
- model_urls
- Type
- object
- Description
URL สำหรับดาวน์โหลดโมเดล 3D ที่สร้างขึ้น brick figure build จะให้ผลลัพธ์เป็นไฟล์ GLB ที่มีเท็กซ์เจอร์ พร้อมกับคู่ไฟล์ OBJ + MTL สำหรับ pipeline ที่ต้องการใช้ Wavefront OBJ รูปแบบของฟิลด์นี้ตรงกับออบเจ็กต์ model_urls ของรูปภาพเป็น 3D เพื่อให้รองรับการเพิ่มรูปแบบไฟล์ในอนาคตได้โดยไม่กระทบความเข้ากันได้
- Name
glb- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ GLB ที่มีเท็กซ์เจอร์
- Name
obj- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์ Wavefront OBJ (จีออเมทรี + UV)
- Name
mtl- Type
- string
- Description
URL สำหรับดาวน์โหลดไฟล์แมททีเรียล MTL ที่เป็นคู่กับไฟล์ OBJ ใช้คู่กับ
objและรายการจากtexture_urls[0].base_color
- Name
- thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพย่อของไฟล์โมเดล
- Name
- texture_urls
- Type
- array
- Description
อาร์เรย์ของออบเจ็กต์ URL เท็กซ์เจอร์ที่สร้างขึ้นโดยงานนี้ ปัจจุบันมีเพียงออบเจ็กต์เดียวที่มีแมปสีพื้นฐาน (base color)
- Name
base_color- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพแมปสีพื้นฐาน
Example Brick Figure Build Task Object
{
"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
"type": "creative-lab-brick-figure-build",
"name": "",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1729123500000,
"started_at": 1729123510000,
"finished_at": 1729123535000,
"expires_at": 1729382735000,
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30,
"prompt": "",
"negative_prompt": "",
"texture_prompt": "",
"texture_image_url": "",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.obj?Expires=***",
"mtl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.mtl?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/preview.png?Expires=***",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/texture_0.png?Expires=***"
}
]
}