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

Creative Lab Fridge Magnet API

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

  • POST /openapi/creative-lab/fridge-magnet/v1/prototype
  • POST /openapi/creative-lab/fridge-magnet/v1/build

POST/openapi/creative-lab/fridge-magnet/v1/prototype

สร้างงาน prototype ของ Fridge Magnet

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

Request

POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept image
curl https://api.meshy.ai/openapi/creative-lab/fridge-magnet/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": "01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"
}
ตัวอย่าง Prototype
เริ่มต้นด้วยรูปถ่ายต้นฉบับ จากนั้นสร้างภาพ prototype ที่ใช้ในขั้นตอนการ build ของ fridge magnet
Source landscape photo used as the Creative Lab Fridge Magnet input
อินพุตของ Prototype
Creative Lab Fridge Magnet prototype output generated from the source photo
เอาต์พุตของ Prototype

พารามิเตอร์

  • 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 ไม่สามารถลบพื้นหลังได้ จะคืนภาพพร้อมพื้นหลังเดิม และงานก็จะยังสำเร็จอยู่

    ตัวเลือก remove_background ของการ build นั้นแยกต่างหาก

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

ฟิลด์ 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 คีย์หายไปหรือไม่ถูกต้อง ตรวจสอบส่วนหัว 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/fridge-magnet/v1/build

สร้างงาน build แม่เหล็กติดตู้เย็น

สร้างแม่เหล็กติดตู้เย็นที่พิมพ์ 3 มิติได้จากงาน prototype ที่สำเร็จแล้ว Meshy จะแปลงภาพแนวคิดของ prototype ให้เป็น depth-map relief และส่งคืนไฟล์โมเดลหนึ่งไฟล์ในรูปแบบที่คุณเลือก สำหรับฟิลด์ต่าง ๆ ของงานนี้ ดูที่ The Fridge Magnet build task object

Request

POST
/openapi/creative-lab/fridge-magnet/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/fridge-magnet/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9",
    "options": {
      "badge_shape": "rounded-rect",
      "size_mm": 60,
      "relief_height_mm": 3.3
    },
    "output": {
      "format": "glb"
    }
  }'

Response

{
  "result": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0"
}
Build example
The build task turns the selected prototype image into a 3D-printable fridge magnet model.
Creative Lab Fridge Magnet build model preview
Build model preview

พารามิเตอร์

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

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

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

  • Name
    name
    Type
    string
    Description

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

options

การตั้งค่าเสริมสำหรับรูปทรงของ relief ทุกฟิลด์มีค่าเริ่มต้นอยู่แล้ว จึงส่งเฉพาะฟิลด์ที่คุณต้องการเปลี่ยนแปลงเท่านั้น ค่าที่อยู่นอกช่วงของฟิลด์จะคืนค่า 400

  • Name
    badge_shape
    Type
    string
    ค่าเริ่มต้น rounded-rect
    Description

    เส้นขอบของแม่เหล็กเมื่อ Meshy ไม่ได้ลากเส้นขอบตามตัวแบบ Meshy จะใช้ค่านี้เมื่อ remove_background เป็น false หรือเมื่อไม่สามารถหาเส้นขอบของตัวแบบได้

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

    • circle
    • rounded-rect
    • hexagon
    • shield
    • star
  • Name
    size_mm
    Type
    number
    ค่าเริ่มต้น 60
    Description

    ความยาวขอบของสี่เหลี่ยมจัตุรัสที่ล้อมรอบแม่เหล็ก หน่วยเป็นมิลลิเมตร สูงสุด 400 ค่า 0 จะใช้ค่าเริ่มต้น

  • Name
    relief_height_mm
    Type
    number
    ค่าเริ่มต้น 3.3
    Description

    ความสูงสูงสุดของ relief เหนือฐาน หน่วยเป็นมิลลิเมตร ตั้งแต่ 0 ถึง 20

  • Name
    relief_offset_mm
    Type
    number
    ค่าเริ่มต้น 0
    Description

    ปรับระดับ relief ให้ต่ำลงเท่าไร หน่วยเป็นมิลลิเมตร ตั้งแต่ 0 ถึง 20 Meshy จะลบค่านี้ออกจากความสูงของ relief ทุกจุด ลงไปจนถึงฐาน

  • Name
    base_thickness_mm
    Type
    number
    ค่าเริ่มต้น 2.0
    Description

    ความหนาของแผ่นฐานเรียบด้านหลัง relief หน่วยเป็นมิลลิเมตร ตั้งแต่ 0 ถึง 20 ฐานเริ่มต้นที่ 2 มม. ให้ตัวแม่เหล็กมีความหนาเพียงพอที่จะยึดติดกับตู้เย็นได้ ทำให้ relief ไม่รู้สึกบอบบางเกินไป

  • Name
    has_closed_back
    Type
    boolean
    ค่าเริ่มต้น true
    Description

    เลือกว่าจะปิดด้านหลังของแม่เหล็กหรือไม่ ซึ่งเป็นด้านที่คุณติดกาว false จะเปิดด้านหลังไว้เป็นเปลือกกลวง

  • Name
    relief_curve
    Type
    string
    ค่าเริ่มต้น linear
    Description

    เส้นโค้งที่ใช้แปลงค่าของ depth-map เป็นความสูงของ relief

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

    • linear
    • gamma
    • s-curve
  • Name
    curve_param
    Type
    number
    ค่าเริ่มต้น 1.0
    Description

    ความเข้มของเส้นโค้ง สูงสุด 10 ใช้กับเส้นโค้ง gamma และ s-curve ส่วน linear จะไม่สนใจค่านี้ ค่า 0 จะใช้ค่าเริ่มต้น

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

    เลือกว่าจะกลับค่า depth map หรือไม่ เพื่อให้บริเวณที่เข้มกว่ากลายเป็น relief ที่สูงกว่า

  • Name
    smoothing
    Type
    number
    ค่าเริ่มต้น 0.24
    Description

    ปรับให้ depth map เรียบขึ้นมากเท่าไรก่อนที่ Meshy จะสร้าง relief ตั้งแต่ 0 ถึง 10

  • Name
    relief_scale
    Type
    number
    ค่าเริ่มต้น 1.0
    Description

    ปรับซูม relief และเท็กซ์เจอร์ของมันภายในเส้นขอบมากเท่าไร โดยอิงจากจุดศูนย์กลาง สูงสุด 10 ค่าที่มากกว่า 1 จะขยายตัวแบบให้ใหญ่ขึ้น และค่าที่น้อยกว่า 1 จะย่อให้เล็กลง ไม่มีผลต่อความสูงของ relief ค่า 0 จะใช้ค่าเริ่มต้น

  • Name
    depth_threshold
    Type
    number
    ค่าเริ่มต้น 0.1
    Description

    ค่า depth-map ที่ต่ำกว่านี้ Meshy จะตั้งค่าความลึกเป็นศูนย์ ตั้งแต่ 0 ถึง 1

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

    เลือกว่าจะลากเส้นขอบของแม่เหล็กตามตัวแบบหรือไม่ เพื่อให้แม่เหล็กมีรูปทรงตามตัวแบบ false จะใช้เส้นขอบตาม badge_shape แทน Meshy ยังใช้ badge_shape เมื่อไม่สามารถหาเส้นขอบของตัวแบบได้ด้วย

    ค่านี้แยกต่างหากจากพารามิเตอร์ remove_background ของ prototype ซึ่งกำหนดว่าภาพ prototype จะมีพื้นหลังโปร่งใสหรือไม่

  • Name
    export_resolution
    Type
    integer
    ค่าเริ่มต้น 512
    Description

    ความละเอียดของเมชของโมเดลที่ส่งออก ตั้งแต่ 64 ถึง 512 Meshy สร้างจีออเมทรีจาก depth map ขนาด 512 พิกเซล ดังนั้นเมชที่ละเอียดกว่านี้จะเพิ่มแค่จำนวนหน้า (face) โดยไม่ได้เพิ่มรายละเอียดใด ๆ ค่า 0 จะใช้ค่าเริ่มต้น

output

ไม่บังคับ กำหนดรูปแบบไฟล์ที่การ build จะส่งคืน

  • Name
    format
    Type
    string
    ค่าเริ่มต้น glb
    Description

    รูปแบบไฟล์ที่การ build จะส่งคืน

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

    • glb: ไฟล์ model.glb หนึ่งไฟล์ ใน model_urls.glb
    • obj: ไฟล์ zip ที่มี model.obj, model.mtl และ texture.png ใน model_urls.obj
    • zip: ไฟล์ zip ที่มีทุกไฟล์ที่ Meshy สร้างขึ้น ใน model_urls.bundle_zip

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

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

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

  • Name
    400 - Bad Request
    Description

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

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

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

  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

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

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

  • Name
    404 - Not Found
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

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

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

รับงาน Fridge Magnet

คืนค่างาน prototype หรือ build โดย path ที่ใช้ต้องตรงกับขั้นตอนของงานนั้น ๆ หากเรียกงาน build ผ่าน /prototype/:id จะได้ผลลัพธ์เป็น 404 และในทางกลับกัน หากเรียกงาน prototype ผ่าน /build/:id ก็จะได้ผลลัพธ์เป็น 404 เช่นกัน

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

Request

GET
/openapi/creative-lab/fridge-magnet/v1/prototype/01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/fridge-magnet/v1/prototype/01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# Build
curl https://api.meshy.ai/openapi/creative-lab/fridge-magnet/v1/build/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9",
  "type": "creative-lab-fridge-magnet-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729543210000,
  "started_at": 1729543215000,
  "finished_at": 1729543242000,
  "expires_at": 1729802442000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0",
  "type": "creative-lab-fridge-magnet-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729543250000,
  "started_at": 1729543258000,
  "finished_at": 1729543285000,
  "expires_at": 1729802485000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***"
  }
}

พารามิเตอร์

  • 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 ตรวจพบว่ารูปภาพของงาน prototype มีการละเมิดทรัพย์สินทางปัญญาของบุคคลที่สาม งาน build และทีมที่ใช้แผน Enterprise จะไม่พบข้อผิดพลาดนี้ ให้สร้างงาน prototype จากรูปภาพที่คุณมีสิทธิ์ใช้งาน

  • Name
    404 - Not Found
    Description

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

  • Name
    500 - Internal Server Error
    Description

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


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

ลบงาน Fridge Magnet

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

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

Request

DELETE
/openapi/creative-lab/fridge-magnet/v1/prototype/01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/fridge-magnet/v1/prototype/01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9 \
  -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

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


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

สตรีมข้อมูลงาน Fridge Magnet

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

Request

GET
/openapi/creative-lab/fridge-magnet/v1/build/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/stream
curl -N https://api.meshy.ai/openapi/creative-lab/fridge-magnet/v1/build/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/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": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0",
  "type": "creative-lab-fridge-magnet-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729543250000,
  "started_at": 1729543258000,
  "finished_at": 1729543285000,
  "expires_at": 1729802485000,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***"
  }
}

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ID ของงานจากคำตอบของการสร้าง (create response)

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

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

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


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

List Fridge Magnet tasks

คืนค่างาน แม่เหล็กติดตู้เย็น ของขั้นตอนเดียว ครั้งละหนึ่งหน้า พาธจะเป็นตัวเลือกขั้นตอน /prototype จะคืนค่าเฉพาะงานต้นแบบ (prototype) และ /build จะคืนค่าเฉพาะงานสร้าง (build)

Request

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

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

Response (List Prototype Tasks)

[
  {
    "id": "01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9",
    "type": "creative-lab-fridge-magnet-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729543210000,
    "started_at": 1729543215000,
    "finished_at": 1729543242000,
    "expires_at": 1729802442000,
    "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 Fridge Magnet prototype task object

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

Properties

Example Fridge Magnet Prototype Task Object

{
  "id": "01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9",
  "type": "creative-lab-fridge-magnet-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729543210000,
  "started_at": 1729543215000,
  "finished_at": 1729543242000,
  "expires_at": 1729802442000,
  "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-fridge-magnet-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 จะไม่มีฟิลด์นี้ และคำขอแบบรายการจะคืนค่า 500 ในกรณีนั้น ให้ลองส่งคำขออีกครั้ง

  • Name
    image_urls
    Type
    array of strings
    Description

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


The Fridge Magnet build task object

บิลด์ทาสก์สร้างแม่เหล็กติดตู้เย็นแบบ 3D จากทาสก์ต้นแบบที่สำเร็จแล้ว โดยจะส่งคืนไฟล์โมเดลหนึ่งไฟล์ในรูปแบบที่คุณร้องขอ

Properties

Example Fridge Magnet Build Task Object

{
  "id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0",
  "type": "creative-lab-fridge-magnet-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729543250000,
  "started_at": 1729543258000,
  "finished_at": 1729543285000,
  "expires_at": 1729802485000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***"
  }
}
  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    ประเภทของทาสก์ ซึ่งจะเป็น creative-lab-fridge-magnet-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

    เวลาที่เวิร์กเกอร์เริ่มทาสก์ เป็นหน่วยมิลลิวินาทีแบบ 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
    model_urls
    Type
    object
    Description

    URL สำหรับดาวน์โหลดไฟล์โมเดล โดยมีหนึ่งรายการสำหรับ output.format ที่คุณร้องขอ เป็น {} จนกว่าทาสก์จะสำเร็จ

    • Name
      glb
      Type
      string
      Description

      URL สำหรับดาวน์โหลดไฟล์ GLB จะปรากฏเมื่อ output.format เป็น glb

    • Name
      obj
      Type
      string
      Description

      URL สำหรับดาวน์โหลดไฟล์ zip ที่มี model.obj, model.mtl และ texture.png จะปรากฏเมื่อ output.format เป็น obj

    • Name
      bundle_zip
      Type
      string
      Description

      URL สำหรับดาวน์โหลดไฟล์ zip ที่มีไฟล์ทุกไฟล์ที่ Meshy สร้างขึ้น จะปรากฏเมื่อ output.format เป็น zip