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

Creative Lab Figure API

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

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

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

สร้างงาน Figure prototype

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

Request

POST
/openapi/creative-lab/figure/v1/prototype
# Stage 1: generate a chibi-style concept image
curl https://api.meshy.ai/openapi/creative-lab/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"
}
Prototype example
Start with a source portrait, then generate the prototype image used by the build stage.
Source portrait used as the Creative Lab Figure input
Prototype input
Chibi-style figurine prototype image generated from the source photo
Prototype output

พารามิเตอร์

  • 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 คีย์ไม่ถูกต้อง ตรวจสอบเฮดเดอร์ 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/figure/v1/build

สร้างงาน build Figure

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

Request

POST
/openapi/creative-lab/figure/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/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"
}
ตัวอย่างการ build
งาน build จะแปลงรูปภาพ prototype ที่เลือกให้เป็นโมเดล 3D ที่มีเท็กซ์เจอร์ซึ่งดาวน์โหลดได้
Creative Lab Figure build model preview
Build model preview

พารามิเตอร์

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

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

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

  • 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 งานที่ถูกต้อง
    • สถานะของงาน prototype ไม่ใช่ SUCCEEDED หากยังทำงานอยู่ ให้รอแล้วลองใหม่ หากล้มเหลวหรือถูกยกเลิก ให้สร้างงาน prototype ใหม่
    • งาน prototype สำเร็จแล้วแต่ไม่มีรูปภาพ ให้สร้างงาน prototype ใหม่

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

  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

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

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

  • Name
    404 - Not Found
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

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

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

Get a Figure task

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

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

Request

GET
/openapi/creative-lab/figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# Build
curl https://api.meshy.ai/openapi/creative-lab/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-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-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=***"
    }
  ],
  "remove_lighting": true
}

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ไอดีของงานจากการตอบกลับตอนสร้างงาน

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

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

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

  • Name
    400 - Bad Request
    Description

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

  • Name
    403 - Forbidden
    Description

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

  • Name
    404 - Not Found
    Description

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

  • Name
    500 - Internal Server Error
    Description

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


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

ลบงาน Figure

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

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

Request

DELETE
/openapi/creative-lab/figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 204 No Content on success (empty body).

พารามิเตอร์พาธ (Path parameters)

  • Name
    id
    Type
    path
    Description

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

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

204 No Content พร้อมเนื้อหาว่างเปล่า

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

  • Name
    400 - Bad Request
    Description

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

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

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


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

สตรีมงาน Figure

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

Request

GET
/openapi/creative-lab/figure/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/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-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=***"
    }
  ],
  "remove_lighting": true
}

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

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

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

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

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


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

List Figure tasks

คืนค่างาน Figure ของคุณในสเตจเดียว ครั้งละหนึ่งหน้า พาธจะเป็นตัวเลือกสเตจ /prototype จะคืนค่าเฉพาะงาน prototype และ /build จะคืนค่าเฉพาะงาน build

Request

GET
/openapi/creative-lab/figure/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/figure/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/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-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: เก่าสุดก่อน

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

อาร์เรย์ของ ออบเจ็กต์งาน prototype หรือ ออบเจ็กต์งาน build ตามสเตจที่ระบุในพาธ


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

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

คุณสมบัติ

Example Figure Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-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-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 ปีถัดจากนั้น ดู การเก็บรักษาแอสเซ็ต

  • 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 หนึ่งรายการหลังจากงานสำเร็จ และจะว่างเปล่าจนกว่าจะถึงตอนนั้น


The Figure build task object

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

คุณสมบัติ

Example Figure Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-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=***"
    }
  ],
  "remove_lighting": true
}
  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    ประเภทของงาน ซึ่งจะเป็น creative-lab-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 ปีถัดไป ดู 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
    prompt
    Type
    string
    Description

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

  • Name
    negative_prompt
    Type
    string
    Description

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

  • Name
    texture_prompt
    Type
    string
    Description

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

  • Name
    texture_image_url
    Type
    string
    Description

    เป็น "" เสมอสำหรับงาน 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 สำหรับดาวน์โหลดแผนที่สีพื้นฐาน

  • Name
    remove_lighting
    Type
    boolean
    Description

    ว่า Meshy ได้ลบไฮไลต์และเงาออกจากเท็กซ์เจอร์สีพื้นฐานหรือไม่