Creative Lab — Brick Figure API

แปลงภาพถ่ายต้นฉบับให้เป็นฟิกเกอร์ 3D สไตล์บล็อกที่สะสมได้ ผ่านสองขั้นตอน: ขั้นตอน prototype จะสร้างภาพคอนเซปต์สไตล์ตามภาพถ่ายที่คุณนำเข้า จากนั้นขั้นตอน build จะแปลงภาพคอนเซปต์นั้นให้เป็นโมเดล 3D ที่มี texture ทั้งสองขั้นตอน เชื่อมโยงกันผ่าน 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

สร้างภาพคอนเซ็ปต์สไตล์บล็อกตัวต่อ (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

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"
}

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

สร้างงาน 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

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"
}

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

เรียกดูงานฟิกเกอร์บล็อก

เรียกดูงานต้นแบบ (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

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=***"
    }
  ]
}

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

ลบงานฟิกเกอร์เลโก้

ยกเลิกงานฟิกเกอร์เลโก้ หากงานยังอยู่ในสถานะ 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

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).

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

สตรีมงานฟิกเกอร์บล็อก

สตรีมข้อมูลอัปเดตแบบเรียลไทม์สำหรับงานฟิกเกอร์บล็อกผ่าน 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

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 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=***"
    }
  ]
}

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

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

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=***"
    ]
  }
]

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

    ไทม์สแตมป์ของเวลาที่สร้างงาน มีหน่วยเป็นมิลลิวินาที

  • 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

    จำนวนงานที่อยู่ก่อนหน้า

  • 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=***"
    }
  ]
}