Creative Lab — Vinyl Figure API

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

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

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

สร้างงาน Vinyl Figure Prototype

สร้างภาพคอนเซปต์สไตล์ vinyl-figure เพียงหนึ่งภาพจากรูปถ่ายต้นฉบับ Task ID ที่ได้รับกลับมาคือค่าที่คุณจะส่งเป็น input_task_id ไปยัง build endpoint ดู The Vinyl Figure Prototype Task Object สำหรับรูปแบบของ response

พารามิเตอร์

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

    รูปถ่ายต้นฉบับสำหรับให้ Meshy แปลงเป็นสไตล์ big-head vinyl figure ปัจจุบันรองรับฟอร์แมต .jpg, .jpeg, .png, และ .webp

    มีสองวิธีในการระบุรูปภาพ:

    • URL ที่เข้าถึงได้แบบสาธารณะ: URL ที่สามารถเข้าถึงได้จากอินเทอร์เน็ตสาธารณะ
    • Data URI: ข้อมูลรูปภาพที่เข้ารหัสแบบ base64 ในรูปแบบ 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 ของ response จะมี id ของงาน vinyl figure prototype ที่เพิ่งสร้างขึ้น ให้ทำการ poll ที่เอนด์พอยต์ Get a Task หรือ subscribe ที่ 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
    429 - Too Many Requests
    Description

    คุณส่งคำขอเกินการจำกัดอัตราที่กำหนด

Request

POST
/openapi/creative-lab/vinyl-figure/v1/prototype
# Stage 1: generate a vinyl-figure-style concept image
curl https://api.meshy.ai/openapi/creative-lab/vinyl-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": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"
}
Prototype example
Start with a source photo, then generate the prototype image used by the build stage.
Source photo used as the Creative Lab Vinyl Figure input
Prototype input
Big-head vinyl figure prototype image generated from the source photo
Prototype output

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

Create a Vinyl Figure Build Task

สร้างฟิกเกอร์ไวนิล 3D ที่มีการลงพื้นผิว (textured) ฉบับสมบูรณ์จากงานต้นแบบ (prototype task) ที่สำเร็จแล้ว การสร้างนี้ทำงานผ่านไปป์ไลน์ image-to-3D เดียวกันกับ รูปภาพเป็น 3D ดังนั้นรูปแบบของอ็อบเจ็กต์การตอบกลับและรายการ URL ของผลลัพธ์จึงตรงกันทุกประการ โปรดดู The Vinyl Figure Build Task Object สำหรับรูปแบบของการตอบกลับ

พารามิเตอร์

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

    รหัสงาน (task ID) ของงานต้นแบบที่สร้างผ่านเอนด์พอยต์ OpenAPI เดียวกันนี้ ต้นแบบจะต้องถูกสร้างขึ้นด้วย API คีย์เดียวกัน ต้องมีสถานะถึง SUCCEEDED แล้ว และต้องสร้างภาพตัวเลือก (candidate image) ได้เพียงหนึ่งภาพเท่านั้น

    งานต้นแบบที่สร้างผ่านเว็บแอป จะไม่ได้รับการยอมรับ — เอนด์พอยต์การสร้างจะยอมรับเฉพาะงานต้นแบบที่สร้างโดย POST /openapi/creative-lab/vinyl-figure/v1/prototype เท่านั้น และจะปฏิเสธแหล่งที่มาอื่นด้วย 404

  • Name
    name
    Type
    string
    Description

    ชื่องานเพื่อการแสดงผล (ไม่บังคับ) สูงสุด 100 ตัวอักษร

ผลลัพธ์ที่ได้

พร็อพเพอร์ตี้ result ของการตอบกลับจะมี id ของงานสร้างฟิกเกอร์ไวนิลที่สร้างขึ้นใหม่ ให้ทำการ poll เอนด์พอยต์ Get a Task หรือสมัครรับข้อมูลผ่าน 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
    • ไม่มีภาพตัวเลือก: งานต้นแบบสำเร็จแล้ว แต่ไม่ได้สร้างภาพตัวเลือกใดๆ
  • Name
    401 - Unauthorized
    Description

    การยืนยันตัวตนล้มเหลว โปรดตรวจสอบ API คีย์ของคุณ

  • Name
    402 - Payment Required
    Description

    เครดิตไม่เพียงพอที่จะดำเนินงานนี้

  • Name
    404 - Not Found
    Description

    งานต้นแบบที่อ้างอิงไม่มีอยู่จริง เป็นของผู้ใช้อื่น หรือถูกสร้างขึ้นผ่านเว็บแอป (มีเพียงงานต้นแบบในโหมด API เท่านั้นที่สามารถต่อเชื่อมเข้ากับการสร้างได้)

  • Name
    429 - Too Many Requests
    Description

    คุณได้เกินขีดจำกัดการจำกัดอัตราแล้ว

Request

POST
/openapi/creative-lab/vinyl-figure/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"
  }'

Response

{
  "result": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef"
}

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

เรียกดูงานฟิกเกอร์ไวนิล (Vinyl Figure Task)

เรียกดูงานต้นแบบ (prototype) หรืองานสร้าง (build) โดยใช้ id ของงานที่ถูกต้อง พาธ URL ต้องตรงกับขั้นตอนของงานนั้น ๆ — หากเรียกงาน build ผ่าน /prototype/:id จะได้ผลลัพธ์ 404 และในทางกลับกันก็เช่นเดียวกัน

ดูรูปแบบของการตอบกลับได้ที่ The Vinyl Figure Prototype Task Object และ The Vinyl Figure Build Task Object

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ตัวระบุเฉพาะ (unique identifier) สำหรับงานฟิกเกอร์ไวนิลที่ต้องการเรียกดู

ผลลัพธ์ที่ได้รับกลับมา

การตอบกลับจะประกอบด้วยออบเจ็กต์งานฟิกเกอร์ไวนิล โดยรูปแบบจะขึ้นอยู่กับ ขั้นตอนที่ร้องขอ

Request

GET
/openapi/creative-lab/vinyl-figure/v1/prototype/019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype/019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# Build
curl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de",
  "type": "creative-lab-vinyl-figure-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1752969600000,
  "started_at": 1752969604000,
  "finished_at": 1752969630000,
  "expires_at": 1753228830000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef",
  "type": "creative-lab-vinyl-figure-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1752969700000,
  "started_at": 1752969710000,
  "finished_at": 1752969735000,
  "expires_at": 1753228935000,
  "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/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.glb?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.mtl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/preview.png?Expires=***",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/texture_0.png?Expires=***"
    }
  ]
}

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

ลบงาน Vinyl Figure

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

URL path ต้องตรงกับขั้นตอนของงาน — การเรียก DELETE ที่ /prototype/:buildId จะคืนค่า 404

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

  • Name
    id
    Type
    path
    Description

    ตัวระบุเฉพาะสำหรับงาน vinyl figure ที่ต้องการยกเลิก

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

ส่งคืน 204 No Content เมื่อสำเร็จ พร้อม body ที่ว่างเปล่า

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

  • Name
    400 - Bad Request
    Description

    งานนี้อยู่ในสถานะสุดท้ายแล้วและไม่สามารถยกเลิกได้

  • Name
    404 - Not Found
    Description

    ไม่พบงานนี้ งานนี้เป็นของผู้ใช้รายอื่น หรือขั้นตอนของงานไม่ตรงกับ URL path

Request

DELETE
/openapi/creative-lab/vinyl-figure/v1/prototype/019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype/019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

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

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

สตรีมงานฟิกเกอร์ไวนิล

สตรีมอัปเดตแบบเรียลไทม์สำหรับงานฟิกเกอร์ไวนิลผ่าน Server-Sent Events (SSE) พาธ URL ต้องตรงกับขั้นตอนของงาน — การเปิดสตรีมที่ /prototype/:buildId/stream จะส่งเพย์โหลด event: error เพียงรายการเดียวพร้อม status_code: 404 แล้วปิดสตรีม

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ตัวระบุที่ไม่ซ้ำกันสำหรับงานฟิกเกอร์ไวนิลที่ต้องการสตรีม

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

ส่งคืนสตรีมของออบเจ็กต์งาน Vinyl Figure Prototype หรือ Vinyl Figure Build ในรูปแบบ Server-Sent Events ทุกเฟรมจะมีออบเจ็กต์งานฉบับเต็มสำหรับขั้นตอนนั้น ๆ — เป็นรูปแบบเดียวกับที่ เอนด์พอยต์ Get ส่งคืน — ดังนั้นในขณะที่งานยังอยู่ในสถานะ PENDING หรือ IN_PROGRESS ฟิลด์ผลลัพธ์จะยังไม่ถูกกรอกข้อมูล (null, [] หรือ {}) และ finished_at จะเป็น null

Request

GET
/openapi/creative-lab/vinyl-figure/v1/build/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/stream
curl -N https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/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": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef",
  "type": "creative-lab-vinyl-figure-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1752969700000,
  "started_at": 1752969710000,
  "finished_at": 1752969735000,
  "expires_at": 1753228935000,
  "task_error": null,
  "consumed_credits": 30,
  "prompt": "",
  "negative_prompt": "",
  "texture_prompt": "",
  "texture_image_url": "",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.glb?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.mtl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/preview.png?Expires=***",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/texture_0.png?Expires=***"
    }
  ]
}

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

List Vinyl 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/vinyl-figure/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

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

Response (List Prototype Tasks)

[
  {
    "id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de",
    "type": "creative-lab-vinyl-figure-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1752969600000,
    "started_at": 1752969604000,
    "finished_at": 1752969630000,
    "expires_at": 1753228830000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 6,
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

The Vinyl Figure Prototype Task Object

Vinyl Figure Prototype Task object เป็นหน่วยงานที่ Meshy ใช้ติดตามเพื่อสร้าง ภาพคอนเซปต์ สไตล์ฟิกเกอร์ไวนิลจากภาพถ่ายต้นฉบับ ผลลัพธ์ของขั้นตอนนี้จะถูกส่งต่อไปยัง ขั้นตอนการสร้าง (build stage) ผ่าน input_task_id

Properties

  • Name
    id
    Type
    string
    Description

    ตัวระบุที่ไม่ซ้ำกันสำหรับ task แม้ว่าเราจะใช้ k-sortable UUID สำหรับ task id เป็นรายละเอียดการดำเนินการ แต่คุณ ไม่ควร สันนิษฐานใด ๆ เกี่ยวกับรูปแบบของ id

  • Name
    type
    Type
    string
    Description

    ประเภทของ task ค่านี้คือ creative-lab-vinyl-figure-prototype

  • Name
    name
    Type
    string
    Description

    ชื่อ task ที่ระบุตอนสร้าง task หากไม่ได้ระบุชื่อไว้จะเป็นสตริงว่าง

  • Name
    status
    Type
    string
    Description

    สถานะของ task ค่าที่เป็นไปได้คือ PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED

  • Name
    progress
    Type
    integer
    Description

    progress ของ task หาก task ยังไม่เริ่มทำงาน ค่านี้จะเป็น 0 เมื่อ task สำเร็จแล้ว ค่านี้จะกลายเป็น 100

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

    ไทม์สแตมป์ของเวลาที่ task เริ่มทำงาน มีหน่วยเป็นมิลลิวินาที หาก task ยังไม่เริ่มทำงาน ค่านี้จะเป็น 0

  • Name
    finished_at
    Type
    timestamp
    Description

    ไทม์สแตมป์ของเวลาที่ task เสร็จสิ้น มีหน่วยเป็นมิลลิวินาที หาก task ยังไม่เสร็จสิ้น ค่านี้จะเป็น 0

  • Name
    expires_at
    Type
    timestamp
    Description

    ไทม์สแตมป์ของเวลาที่ผลลัพธ์ของ task จะหมดอายุ มีหน่วยเป็นมิลลิวินาที

  • Name
    preceding_tasks
    Type
    integer
    Description

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

  • Name
    task_error
    Type
    object
    Description

    รายละเอียดข้อผิดพลาดสำหรับ task ที่ล้มเหลว ดู ข้อผิดพลาด สำหรับข้อมูลอ้างอิงฉบับสมบูรณ์ของออบเจ็กต์ task_error

  • Name
    consumed_credits
    Type
    integer
    Description

    จำนวนเครดิตที่ใช้ไปโดย task นี้ มีค่าเมื่อสถานะของ task เป็น PENDING, IN_PROGRESS, หรือ SUCCEEDED จะคืนค่า 0 สำหรับ task ที่เป็น FAILED (เครดิตจะถูกคืนเมื่อล้มเหลว)

  • Name
    image_urls
    Type
    array of strings
    Description

    URL ที่สามารถดาวน์โหลดได้สำหรับตัวเลือกภาพคอนเซปต์ที่สร้างขึ้นโดย prototype task นี้ ปัจจุบัน API จะส่งคืนตัวเลือกเพียงหนึ่งรายการเสมอ ฟิลด์นี้เป็นอาร์เรย์เพื่อให้เวอร์ชันในอนาคตสามารถแสดงตัวเลือกหลายรายการได้โดยไม่ต้องเปลี่ยนแปลงแบบ breaking change

Example Vinyl Figure Prototype Task Object

{
  "id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de",
  "type": "creative-lab-vinyl-figure-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1752969600000,
  "started_at": 1752969604000,
  "finished_at": 1752969630000,
  "expires_at": 1753228830000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

The Vinyl Figure Build Task Object

Vinyl Figure Build Task object คือหน่วยงานที่ Meshy ใช้ติดตาม เพื่อสร้าง ฟิกเกอร์ไวนิล 3D ที่มีเท็กซ์เจอร์จาก prototype task ที่สำเร็จแล้ว โดยใช้ไปป์ไลน์ image-to-3D เดียวกันกับที่ใช้ใน รูปภาพเป็น 3D ดังนั้นฟิลด์ผลลัพธ์จึงเหมือนกับ task object ของเอนด์พอยต์นั้น

คุณสมบัติ

  • Name
    id
    Type
    string
    Description

    ตัวระบุที่ไม่ซ้ำกันสำหรับ task

  • Name
    type
    Type
    string
    Description

    ประเภทของ task ค่าคือ creative-lab-vinyl-figure-build

  • Name
    name
    Type
    string
    Description

    ชื่อ task ที่ระบุตอนสร้าง task เป็นสตริงว่างหากไม่ได้ระบุชื่อ

  • Name
    status
    Type
    string
    Description

    สถานะของ task ค่าที่เป็นไปได้คือหนึ่งใน PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED

  • Name
    progress
    Type
    integer
    Description

    progress ของ task หากยังไม่เริ่ม task คุณสมบัตินี้จะเป็น 0 เมื่อ task สำเร็จแล้ว ค่านี้จะกลายเป็น 100

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

    ไทม์สแตมป์ของเวลาที่ผลลัพธ์ของ task หมดอายุ หน่วยเป็นมิลลิวินาที

  • Name
    preceding_tasks
    Type
    integer
    Description

    จำนวน task ที่อยู่ก่อนหน้า มีความหมายเฉพาะเมื่อสถานะเป็น PENDING

  • Name
    task_error
    Type
    object
    Description

    รายละเอียดข้อผิดพลาดสำหรับ task ที่ล้มเหลว ดู ข้อผิดพลาด สำหรับข้อมูลอ้างอิงฉบับเต็มของออบเจ็กต์ task_error

  • Name
    consumed_credits
    Type
    integer
    Description

    จำนวนเครดิตที่ใช้ไปโดย task นี้ คืนค่า 0 สำหรับ task ที่ FAILED (เครดิตจะถูกคืนเมื่อล้มเหลว)

  • Name
    prompt
    Type
    string
    Description

    เป็นค่าว่างเสมอสำหรับ vinyl figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์กับรูปแบบ V2ImageTo3DTaskResponse ที่ใช้ร่วมกันโดย รูปภาพเป็น 3D

  • Name
    negative_prompt
    Type
    string
    Description

    เป็นค่าว่างเสมอสำหรับ vinyl figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์

  • Name
    texture_prompt
    Type
    string
    Description

    เป็นค่าว่างเสมอสำหรับ vinyl figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์

  • Name
    texture_image_url
    Type
    string
    Description

    เป็นค่าว่างเสมอสำหรับ vinyl figure build มีไว้เพื่อความเข้ากันได้ข้ามเอนด์พอยต์

  • Name
    model_urls
    Type
    object
    Description

    URL สำหรับดาวน์โหลดโมเดล 3D ที่สร้างขึ้น vinyl figure build จะสร้างไฟล์ GLB ที่มีเท็กซ์เจอร์พร้อมคู่ไฟล์ OBJ + MTL สำหรับไปป์ไลน์ที่ต้องการใช้ Wavefront OBJ รูปแบบของฟิลด์นี้ตรงกับออบเจ็กต์ model_urls ของ Image to 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 เท็กซ์เจอร์ที่สร้างโดย task นี้ ปัจจุบันมีออบเจ็กต์เดียวที่มี base color map

    • Name
      base_color
      Type
      string
      Description

      URL สำหรับดาวน์โหลดภาพ base color map

Example Vinyl Figure Build Task Object

{
  "id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef",
  "type": "creative-lab-vinyl-figure-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1752969700000,
  "started_at": 1752969710000,
  "finished_at": 1752969735000,
  "expires_at": 1753228935000,
  "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/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.glb?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.mtl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/preview.png?Expires=***",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/texture_0.png?Expires=***"
    }
  ]
}