lowpoly จะยุติการให้บริการในวันที่ 30 ต.ค. 2569 โปรดเปลี่ยนโมเดลก่อนวันที่เหล่านี้เพื่อหลีกเลี่ยงข้อผิดพลาดของคำขอ ดูการเลิกใช้งานทั้งหมด

API ฟิกเกอร์บล็อกของ Creative Lab

แปลงรูปภาพให้กลายเป็นมินิฟิกเกอร์ 3D สไตล์บล็อกที่สามารถสะสมได้ ภายในสองขั้นตอน งานต้นแบบจะสร้างภาพแนวคิดจากรูปภาพ ส่วนงานบิวด์จะแปลงภาพนั้นให้กลายเป็นโมเดล 3D ที่มีพื้นผิว โดยใช้ ID ของงานต้นแบบเป็นค่า input_task_id

  • POST /openapi/creative-lab/brick-figure/v1/prototype
  • POST /openapi/creative-lab/brick-figure/v1/build

POST/openapi/creative-lab/brick-figure/v1/prototype

สร้างงาน Brick Figure prototype

สร้างภาพคอนเซ็ปต์สไตล์บล็อกอิฐหนึ่งภาพจากรูปถ่าย เพื่อสร้างโมเดล 3D ให้ส่ง ID ของงานนี้ไปยัง build endpoint ในชื่อ input_task_id สำหรับฟิลด์ต่างๆ ของงาน ดูที่ The Brick Figure prototype task object

Request

POST
/openapi/creative-lab/brick-figure/v1/prototype
# 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"
}

พารามิเตอร์

  • Name
    image_url
    Type
    string
    จำเป็น
    Description

    รูปถ่ายที่จะแปลงเป็นฟิกเกอร์มินิบล็อกอิฐ โดยระบุเป็น URL สาธารณะหรือ Data URI (data:image/jpeg;base64,<your base64-encoded image data>)

    รูปภาพต้องเป็นไฟล์ JPG, JPEG, PNG หรือ WebP ขนาดไม่เกิน 20 MB

  • Name
    name
    Type
    string
    Description

    ชื่อสำหรับงาน ความยาวไม่เกิน 100 ตัวอักษร ชื่อนี้จะถูกส่งกลับมาในฟิลด์ name ของงาน หากชื่อยาวเกินไปจะได้รับ 400

  • Name
    remove_background
    Type
    boolean
    ค่าเริ่มต้น false
    Description

    กำหนดว่าจะลบพื้นหลังออกจากภาพ prototype หรือไม่ true จะคืนค่าเป็นไฟล์ PNG แบบ RGBA ที่มีความโปร่งใส ทำให้คุณสามารถวางซับเจ็กต์บนพื้นหลังใดก็ได้ การ build ก็จะเริ่มจากภาพที่ไม่มีพื้นหลังเช่นกัน หาก Meshy ไม่สามารถลบพื้นหลังได้ ระบบจะคืนภาพพร้อมพื้นหลังเดิม และงานยังคงสำเร็จตามปกติ

ค่าที่ส่งคืน

ฟิลด์ result จะเก็บ ID ของงาน prototype ใหม่ ดึงข้อมูลงาน หรือ สตรีมงาน จนกว่า status จะเป็น SUCCEEDED จากนั้นส่ง ID ไปยัง build endpoint ในชื่อ input_task_id

รูปแบบความล้มเหลว

  • Name
    400 - Bad Request
    Description

    คำขอนี้ไม่สามารถทำงานได้ ตัวอย่างเช่น:

    • ไม่มี image_url
    • รูปภาพไม่ใช่ไฟล์ JPG, JPEG, PNG หรือ WebP
    • รูปภาพมีขนาดเล็กเกินไป ใหญ่เกิน 20 MB หรือเกินจำนวนพิกเซลสูงสุด
    • Meshy ไม่สามารถดาวน์โหลดรูปภาพได้ เช่น เนื่องจาก URL คืนค่า 404 หรือหมดเวลา
    • Data URI ไม่ใช่ base64 ที่ถูกต้อง
    • รูปภาพถูกตรวจพบว่าเป็น NSFW

    ข้อความแสดงข้อผิดพลาดจะระบุปัญหาที่พบ ให้แก้ไขคำขอแล้วส่งใหม่อีกครั้ง

  • Name
    401 - Unauthorized
    Description

    ไม่มี API คีย์ หรือ API คีย์ไม่ถูกต้อง ตรวจสอบ header Authorization

  • Name
    402 - Payment Required
    Description

    เกิดกรณีใดกรณีหนึ่งต่อไปนี้:

    • บัญชีมีเครดิตไม่เพียงพอ
    • API คีย์ พื้นที่ทำงาน หรือสมาชิกถึงขีดจำกัดเครดิตแล้ว
    • บัญชีอยู่ในแผนฟรี

    ตรวจสอบเครดิตและแผนของคุณ แล้วลองใหม่อีกครั้ง

  • Name
    403 - Forbidden
    Description

    ทีมของคุณเปิดใช้งาน IP Filtering และ Meshy ตรวจพบว่าภาพนี้เกี่ยวข้องกับทรัพย์สินทางปัญญาของบุคคลที่สาม กรุณาส่งภาพที่คุณมีสิทธิ์ใช้งาน

  • Name
    429 - Too Many Requests
    Description

    ถึงขีดจำกัดอย่างใดอย่างหนึ่งต่อไปนี้:

    • คุณส่งคำขอมากกว่าที่การจำกัดอัตราของคุณอนุญาต รอสักครู่แล้วลองใหม่ ดู Rate limits
    • มีงานของคุณอยู่ในคิวหรือกำลังทำงานมากเกินไป รอให้บางงานเสร็จสิ้นก่อนแล้วลองใหม่
    • หากอยู่ในแผนไม่จำกัดแต่ไม่มีเครดิตเหลือ คุณถึงจำนวนงานสูงสุดที่สามารถรันได้โดยไม่ใช้เครดิตแล้ว รอให้งานเสร็จสิ้น หรือเติมเครดิต
  • Name
    500 - Internal Server Error
    Description

    Meshy พบข้อผิดพลาดของเซิร์ฟเวอร์ เช่น ไม่สามารถตรวจสอบทรัพย์สินทางปัญญาของภาพได้ Meshy จะไม่สร้างงานนี้ และจะคืนเครดิตใดๆ ที่เรียกเก็บไปแล้ว ลองส่งคำขออีกครั้ง


POST/openapi/creative-lab/brick-figure/v1/build

สร้างงาน Build ของ Brick Figure

สร้างมินิฟิกเกอร์ 3D ที่มีการลงเทกซ์เจอร์จากงานต้นแบบ (prototype) ที่สำเร็จแล้ว สำหรับฟิลด์ต่าง ๆ ของงานนี้ ดูที่ The Brick Figure build task object

Request

POST
/openapi/creative-lab/brick-figure/v1/build
# 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"
}

พารามิเตอร์

  • Name
    input_task_id
    Type
    string
    จำเป็น
    Description

    ID ของงานต้นแบบ (prototype) ที่จะใช้ build โดยต้องเป็นงานที่บัญชีของคุณสร้างขึ้นด้วย POST /openapi/creative-lab/brick-figure/v1/prototype และมีสถานะ SUCCEEDED

    ID ที่ไม่ใช่งานต้นแบบ Brick Figure ของคุณจาก API จะส่งคืน 404 รวมถึงต้นแบบที่สร้างในเว็บแอปด้วย

  • Name
    name
    Type
    string
    Description

    ชื่อสำหรับงาน ความยาวไม่เกิน 100 ตัวอักษร ชื่อนี้จะถูกส่งกลับมาในฟิลด์ name ของงาน หากชื่อยาวเกินไปจะส่งคืน 400

ค่าที่ส่งคืน

ฟิลด์ result จะเก็บ ID ของงาน build ใหม่ ดึงข้อมูลงาน หรือ สตรีมข้อมูลงาน จนกว่า status จะเป็น SUCCEEDED จากนั้นจึงดาวน์โหลด GLB ที่มีเทกซ์เจอร์จาก model_urls.glb หากต้องการเป็น OBJ แทน ให้ดาวน์โหลด model_urls.obj พร้อมไฟล์แมททีเรียลจาก model_urls.mtl

รูปแบบความล้มเหลว

  • Name
    400 - Bad Request
    Description

    คำขอนี้ไม่สามารถทำงานได้ ตัวอย่างเช่น:

    • input_task_id ขาดหายไปหรือไม่ใช่ ID งานที่ถูกต้อง
    • สถานะของงานต้นแบบไม่ใช่ SUCCEEDED หากยังทำงานอยู่ ให้รอแล้วลองใหม่ หากล้มเหลวหรือถูกยกเลิก ให้สร้างงานต้นแบบใหม่
    • งานต้นแบบสำเร็จแล้วแต่ไม่มีรูปภาพ ให้สร้างงานต้นแบบใหม่

    ข้อความแสดงข้อผิดพลาดจะระบุปัญหาที่พบ

  • Name
    401 - Unauthorized
    Description

    API คีย์ขาดหายไปหรือไม่ถูกต้อง ตรวจสอบเฮดเดอร์ Authorization

  • Name
    402 - Payment Required
    Description

    หนึ่งในกรณีต่อไปนี้:

    • บัญชีมีเครดิตไม่เพียงพอ
    • API คีย์ พื้นที่ทำงาน หรือสมาชิกถึงขีดจำกัดเครดิตแล้ว
    • บัญชีอยู่ในแผนฟรี

    ตรวจสอบเครดิตและแผนของคุณ แล้วลองใหม่

  • Name
    404 - Not Found
    Description

    input_task_id ไม่ตรงกับงานต้นแบบ Brick Figure ใดที่บัญชีของคุณสร้างขึ้นด้วย API ต้นแบบที่สร้างในเว็บแอปก็จะส่งคืน 404 เช่นกัน ให้ส่ง ID จากฟิลด์ result ของการตอบกลับตอนสร้างต้นแบบ

  • Name
    429 - Too Many Requests
    Description

    หนึ่งในขีดจำกัดต่อไปนี้ถูกถึงแล้ว:

    • คุณส่งคำขอมากกว่าที่การจำกัดอัตราของคุณอนุญาต ให้รอสักครู่แล้วลองใหม่ ดู Rate limits
    • มีงานของคุณที่อยู่ในคิวหรือกำลังทำงานมากเกินไป ให้รอจนกว่างานบางส่วนจะเสร็จสิ้น แล้วลองใหม่
    • หากอยู่ในแผนไม่จำกัดแต่ไม่มีเครดิตเหลือ คุณถึงจำนวนงานสูงสุดที่สามารถทำงานได้โดยไม่ใช้เครดิตแล้ว ให้รอจนกว่างานจะเสร็จสิ้น หรือเติมเครดิต

GET/openapi/creative-lab/brick-figure/v1/(prototype|build)/:id

รับงาน Brick Figure

ส่งคืนงาน prototype หรือ build โดย path ต้องตรงกับขั้นตอน (stage) ของงานนั้น งาน build ที่ร้องขอผ่าน /prototype/:id จะส่งคืน 404 และงาน prototype ที่ร้องขอผ่าน /build/:id ก็เช่นกัน

สำหรับฟิลด์ต่าง ๆ ดูที่ The Brick Figure prototype task object และ The Brick Figure build task object

Request

GET
/openapi/creative-lab/brick-figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
# 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=***"
    }
  ]
}

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ID ของงานจากการตอบกลับตอนสร้าง

ผลลัพธ์ที่ส่งคืน

prototype task object หรือ build task object ขึ้นอยู่กับขั้นตอนที่ตรงกับ path

รูปแบบความล้มเหลว

  • Name
    400 - Bad Request
    Description

    id ไม่ใช่ ID งานที่ถูกต้อง ให้ส่ง ID ของ result จากการตอบกลับตอนสร้าง

  • Name
    403 - Forbidden
    Description

    ทีมของคุณเปิดใช้งาน IP Filtering และ Meshy ตรวจพบว่ารูปภาพของงานนี้เข้าข่ายทรัพย์สินทางปัญญาของบุคคลที่สาม ทีมที่ใช้แผน Enterprise จะไม่พบข้อผิดพลาดนี้ ให้สร้างงาน prototype จากรูปภาพที่คุณมีสิทธิ์ใช้งาน

  • Name
    404 - Not Found
    Description

    ไม่มีงาน Brick Figure ที่มี ID นี้อยู่ในบัญชีของคุณ หรือขั้นตอนของงานไม่ตรงกับ path ให้ตรวจสอบ ID และใช้ /prototype หรือ /build ให้ตรงกับงานนั้น

  • Name
    500 - Internal Server Error
    Description

    Meshy ไม่สามารถดำเนินการตรวจสอบทรัพย์สินทางปัญญาได้ กรุณาลองส่งคำขออีกครั้ง


DELETE/openapi/creative-lab/brick-figure/v1/(prototype|build)/:id

ลบงาน Brick Figure

ยกเลิกงาน Brick Figure การยกเลิกงานที่มีสถานะ PENDING จะคืนเครดิตให้ ส่วนงานที่มีสถานะ IN_PROGRESS จะถูกยกเลิกโดยไม่มีการคืนเครดิต เนื่องจาก worker ได้เริ่มดำเนินการไปแล้ว งานที่มีสถานะสุดท้าย (SUCCEEDED, FAILED หรือ CANCELED) ไม่สามารถยกเลิกได้

พาธต้องตรงกับขั้นตอน (stage) ของงานนั้น ๆ ตัวอย่างเช่น การเรียก DELETE ที่ /prototype/:id โดยใช้ ID ของงาน build จะได้รับค่า 404

Request

DELETE
/openapi/creative-lab/brick-figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
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).

พารามิเตอร์พาธ

  • Name
    id
    Type
    path
    Description

    ID ของงานที่ต้องการยกเลิก

ผลลัพธ์ที่ส่งกลับ

204 No Content พร้อม body ที่ว่างเปล่า

รูปแบบความล้มเหลว

  • Name
    400 - Bad Request
    Description

    เงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้เป็นจริง:

    • id ไม่ใช่ ID งานที่ถูกต้อง ให้ส่ง ID จาก result ของการตอบกลับตอนสร้างงาน
    • งานนี้มีสถานะสุดท้ายแล้ว (SUCCEEDED, FAILED หรือ CANCELED) จึงไม่สามารถยกเลิกได้
  • Name
    404 - Not Found
    Description

    ไม่มีงาน Brick Figure ที่มี ID นี้อยู่ในบัญชีของคุณ หรือขั้นตอน (stage) ของงานไม่ตรงกับพาธ ตรวจสอบ ID และใช้ /prototype หรือ /build ให้ตรงกับงานนั้น


GET/openapi/creative-lab/brick-figure/v1/(prototype|build)/:id/stream

สตรีมงาน Brick Figure

สตรีมการอัปเดตของงาน Brick Figure เป็น Server-Sent Events (SSE) พาธต้องตรงกับขั้นตอนของงาน หากไม่ตรงกัน เช่น ใช้ ID ของงาน build ที่ /prototype/:id/stream สตรีมจะส่ง error event หนึ่งรายการที่มี status_code: 404 แล้วปิดการเชื่อมต่อ

Request

GET
/openapi/creative-lab/brick-figure/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
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 following PENDING frame is shortened 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=***"
    }
  ]
}

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ID ของงานจากการตอบกลับตอนสร้าง

ค่าที่ส่งกลับ

สตรีมของอ็อบเจกต์งาน prototype หรือ build แต่ละ event จะมีอ็อบเจกต์งานแบบเต็ม เหมือนกับที่ ดึงข้อมูลงาน Brick Figure ส่งกลับ ขณะที่งานอยู่ในสถานะ PENDING หรือ IN_PROGRESS ฟิลด์ผลลัพธ์ของงานจะยังว่างเปล่า (null, [], หรือ {}) และ finished_at จะเป็น null

หากการ กรอง IP บล็อกผลลัพธ์ของงาน สตรีมจะส่ง error event หนึ่งรายการแทน โดยมี status_code เดียวกับที่คำขอแบบ get จะส่งกลับ


GET/openapi/creative-lab/brick-figure/v1/(prototype|build)

List Brick Figure tasks

ส่งคืนงานฟิกเกอร์เลโก้ (Brick Figure) ของคุณในขั้นตอนใดขั้นตอนหนึ่ง ครั้งละหนึ่งหน้า พาธจะเป็นตัวเลือกขั้นตอน /prototype จะส่งคืนเฉพาะงานต้นแบบ (prototype) และ /build จะส่งคืนเฉพาะงานสร้าง (build)

Request

GET
/openapi/creative-lab/brick-figure/v1/prototype
# 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=***"
    ]
  }
]

Path parameters

  • Name
    stage
    Type
    path
    จำเป็น
    Description

    ขั้นตอนที่ต้องการแสดงรายการ prototype หรือ build

Query parameters

  • Name
    page_num
    Type
    integer
    ค่าเริ่มต้น 1
    Description

    หน้าที่ต้องการส่งคืน ตั้งแต่ 1 ถึง 255 ค่า 0 จะส่งคืนหน้าแรก ค่าที่อยู่นอกช่วง 0 ถึง 255 จะส่งคืน 400

  • Name
    page_size
    Type
    integer
    ค่าเริ่มต้น 10
    Description

    จำนวนงานต่อหน้า สูงสุด 100 ค่าตั้งแต่ 101 ถึง 255 จะส่งคืน 100 งาน และ 0 จะใช้ค่าเริ่มต้น ค่าที่อยู่นอกช่วง 0 ถึง 255 จะส่งคืน 400

  • Name
    sort_by
    Type
    string
    ค่าเริ่มต้น -created_at
    Description

    ลำดับการจัดเรียง

    ค่าที่ใช้ได้:

    • -created_at: ใหม่สุดก่อน
    • +created_at: เก่าสุดก่อน

Returns

อาร์เรย์ของ อ็อบเจกต์งานต้นแบบ หรือ อ็อบเจกต์งานสร้าง ให้ตรงกับขั้นตอนในพาธ


The Brick Figure prototype task object

งาน prototype จะสร้างภาพคอนเซ็ปต์สไตล์บล็อกจากรูปถ่าย เพื่อแปลงภาพให้เป็นโมเดล 3D ให้ส่ง ID ของงานไปยัง build endpoint ในชื่อ input_task_id

คุณสมบัติ

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=***"
  ]
}
  • Name
    id
    Type
    string
    Description

    ID ของงาน อย่าอ้างอิงตามรูปแบบของมัน

  • Name
    type
    Type
    string
    Description

    ประเภทของงาน ซึ่งเป็น creative-lab-brick-figure-prototype เสมอ

  • Name
    name
    Type
    string
    Description

    name ที่คุณส่งมาตอนสร้างงาน หรือ "" หากคุณไม่ได้ส่งมา

  • Name
    status
    Type
    string
    Description

    สถานะของงาน

    ค่าที่เป็นไปได้:

    • PENDING: กำลังรอในคิว
    • IN_PROGRESS: กำลังสร้างผลลัพธ์
    • SUCCEEDED: สิ้นสุดแล้ว พร้อมผลลัพธ์
    • FAILED: สิ้นสุดแล้ว พร้อมเหตุผลใน task_error
    • CANCELED: สิ้นสุดแล้ว โดยไม่มีผลลัพธ์
  • Name
    progress
    Type
    integer
    Description

    เปอร์เซ็นต์ของงานที่เสร็จสิ้น ตั้งแต่ 0 ถึง 100 โดยจะเป็น 0 จนกว่างานจะเริ่ม และเป็น 100 เมื่อสำเร็จ

  • Name
    created_at
    Type
    timestamp
    Description

    เวลาที่สร้างงาน หน่วยเป็นมิลลิวินาทีแบบ Unix

  • Name
    started_at
    Type
    timestamp
    Description

    เวลาที่ worker เริ่มงาน หน่วยเป็นมิลลิวินาทีแบบ Unix เป็น null จนกว่าจะถึงเวลานั้น

  • Name
    finished_at
    Type
    timestamp
    Description

    เวลาที่งานถึงสถานะสุดท้าย หน่วยเป็นมิลลิวินาทีแบบ Unix เป็น null จนกว่าจะถึงเวลานั้น

  • Name
    expires_at
    Type
    timestamp
    Description

    เวลาที่ผลลัพธ์ของงานหมดอายุ หน่วยเป็นมิลลิวินาทีแบบ Unix คือ 3 วันหลังจาก finished_at หรือ 3 วันหลังจาก created_at จนกว่างานจะเสร็จสิ้น สำหรับบัญชี Enterprise ซึ่งเก็บผลลัพธ์ของ API ไว้ไม่มีกำหนด ค่านี้จะอยู่ที่ประมาณ 100 ปีถัดไป ดู Asset retention

  • Name
    preceding_tasks
    Type
    integer
    Description

    ตำแหน่งของงานในคิวขณะที่ยังเป็น PENDING ค่า 1 หมายความว่าจะเริ่มเป็นลำดับถัดไป เป็น 0 หลังจากงานออกจากคิว และเป็น 0 เสมอในผลลัพธ์แบบรายการ

  • Name
    task_error
    Type
    object
    Description

    เหตุผลที่งานล้มเหลว เป็น null เว้นแต่ status จะเป็น FAILED ดู ข้อผิดพลาด

  • Name
    consumed_credits
    Type
    integer
    Description

    จำนวนเครดิตที่ถูกเรียกเก็บสำหรับงานนี้ หลังหักเงินคืนใด ๆ แล้ว คำขอที่คืนค่าข้อผิดพลาดจะไม่ถูกเรียกเก็บเงิน งานที่ล้มเหลวจะเป็น 0 เพราะ Meshy จะคืนเครดิตให้ การยกเลิกจะคืนเครดิตให้เฉพาะขณะที่งานยังเป็น PENDING เท่านั้น หาก Meshy ไม่สามารถอ่านค่าธรรมเนียมที่เรียกเก็บได้ การตอบกลับแบบ get หรือ stream จะละฟิลด์นี้ไว้ และคำขอแบบ list จะคืนค่า 500 ในกรณีนั้น ให้ลองส่งคำขอใหม่อีกครั้ง

  • Name
    image_urls
    Type
    array of strings
    Description

    URL สำหรับดาวน์โหลดภาพคอนเซ็ปต์ อาร์เรย์นี้จะมี URL หนึ่งรายการหลังจากงานสำเร็จ และจะว่างเปล่าก่อนหน้านั้น


ออบเจ็กต์งาน Brick Figure build

งาน build จะสร้างมินิฟิกเกอร์ 3D ที่มีเท็กซ์เจอร์จากงาน prototype ที่สำเร็จแล้ว ฟิลด์ model_urls, thumbnail_url, และ texture_urls ของมันมีรูปแบบเดียวกับในออบเจ็กต์งานรูปภาพเป็น 3D

คุณสมบัติ

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=***"
    }
  ]
}
  • Name
    id
    Type
    string
    Description

    รหัสงาน อย่าอ้างอิงตามรูปแบบของมัน

  • Name
    type
    Type
    string
    Description

    ประเภทของงาน ซึ่งจะเป็น creative-lab-brick-figure-build เสมอ

  • Name
    name
    Type
    string
    Description

    name ที่คุณส่งมาตอนสร้างงาน หรือ "" ถ้าคุณไม่ได้ส่งมา

  • Name
    status
    Type
    string
    Description

    สถานะของงาน

    ค่าที่เป็นไปได้:

    • PENDING: กำลังรอในคิว
    • IN_PROGRESS: กำลังสร้างผลลัพธ์
    • SUCCEEDED: สถานะสุดท้าย พร้อมผลลัพธ์
    • FAILED: สถานะสุดท้าย พร้อมเหตุผลใน task_error
    • CANCELED: สถานะสุดท้าย โดยไม่มีผลลัพธ์
  • Name
    progress
    Type
    integer
    Description

    เปอร์เซ็นต์ของงานที่เสร็จแล้ว ตั้งแต่ 0 ถึง 100 ค่านี้จะเป็น 0 จนกว่างานจะเริ่ม และเป็น 100 เมื่องานสำเร็จ

  • Name
    created_at
    Type
    timestamp
    Description

    เวลาที่สร้างงาน หน่วยเป็นมิลลิวินาทีแบบ Unix

  • Name
    started_at
    Type
    timestamp
    Description

    เวลาที่ worker เริ่มทำงานนี้ หน่วยเป็นมิลลิวินาทีแบบ Unix ค่าเป็น null จนกว่าจะถึงเวลานั้น

  • Name
    finished_at
    Type
    timestamp
    Description

    เวลาที่งานถึงสถานะสุดท้าย หน่วยเป็นมิลลิวินาทีแบบ Unix ค่าเป็น null จนกว่าจะถึงเวลานั้น

  • Name
    expires_at
    Type
    timestamp
    Description

    เวลาที่ผลลัพธ์ของงานจะหมดอายุ หน่วยเป็นมิลลิวินาทีแบบ Unix ซึ่งคือ 3 วันหลังจาก finished_at หรือ 3 วันหลังจาก created_at จนกว่างานจะเสร็จสิ้น สำหรับบัญชี Enterprise ซึ่งเก็บผลลัพธ์ของ API ไว้อย่างไม่มีกำหนด ค่านี้จะอยู่ที่ประมาณ 100 ปีถัดไป ดูการเก็บรักษาแอสเซ็ต

  • Name
    preceding_tasks
    Type
    integer
    Description

    ตำแหน่งของงานในคิวขณะที่สถานะเป็น PENDING ค่า 1 หมายความว่างานนี้จะเริ่มถัดไป และเป็น 0 หลังจากงานออกจากคิว และจะเป็น 0 เสมอในผลลัพธ์แบบรายการ

  • Name
    task_error
    Type
    object
    Description

    เหตุผลที่งานล้มเหลว ค่าเป็น null ยกเว้นในกรณีที่ status เป็น FAILED ดูข้อผิดพลาด

  • Name
    consumed_credits
    Type
    integer
    Description

    จำนวนเครดิตที่ถูกเรียกเก็บสำหรับงานนี้ หลังหักการคืนเงินใด ๆ คำขอที่ส่งคืนข้อผิดพลาดจะไม่ถูกเรียกเก็บเครดิต งานที่ล้มเหลวจะมีค่าเป็น 0 เพราะ Meshy จะคืนเครดิตให้ การยกเลิกจะคืนเครดิตให้เฉพาะขณะที่งานยังเป็น PENDING เท่านั้น หาก Meshy ไม่สามารถอ่านค่าการเรียกเก็บได้ การตอบกลับแบบ get หรือ stream จะไม่มีฟิลด์นี้ และคำขอแบบ list จะส่งคืน 500 ในกรณีนี้ ให้ลองส่งคำขออีกครั้ง

  • Name
    prompt
    Type
    string
    Description

    เป็น "" เสมอสำหรับงาน Brick Figure build

  • Name
    negative_prompt
    Type
    string
    Description

    เป็น "" เสมอสำหรับงาน Brick Figure build เช่นเดียวกับ prompt

  • Name
    texture_prompt
    Type
    string
    Description

    เป็น "" เสมอสำหรับงาน Brick Figure build เช่นเดียวกับ prompt

  • Name
    texture_image_url
    Type
    string
    Description

    เป็น "" เสมอสำหรับงาน Brick Figure build เช่นเดียวกับ prompt

  • Name
    model_urls
    Type
    object
    Description

    URL สำหรับดาวน์โหลดโมเดล 3D ในรูปแบบ GLB ที่มีเท็กซ์เจอร์ และเป็นไฟล์ OBJ พร้อมไฟล์ MTL

    • Name
      glb
      Type
      string
      Description

      URL สำหรับดาวน์โหลดไฟล์ GLB ที่มีเท็กซ์เจอร์

    • Name
      obj
      Type
      string
      Description

      URL สำหรับดาวน์โหลดไฟล์ 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

    แมปเท็กซ์เจอร์ เป็นอาร์เรย์ที่มีออบเจ็กต์หนึ่งรายการซึ่งเก็บแมปสีพื้นฐาน

    • Name
      base_color
      Type
      string
      Description

      URL สำหรับดาวน์โหลดแมปสีพื้นฐาน