API รูปภาพเป็น 3D

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


POST/openapi/v1/image-to-3d

สร้างงานรูปภาพเป็น 3D

เอนด์พอยต์นี้ช่วยให้คุณสร้างงานรูปภาพเป็น 3D ใหม่ได้ โปรดดู ออบเจ็กต์งานรูปภาพเป็น 3D เพื่อดูว่า มีพร็อพเพอร์ตีใดบ้างที่รวมอยู่ในออบเจ็กต์งานรูปภาพเป็น 3D

พารามิเตอร์

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

    ID ของงานสร้างรูปภาพที่เสร็จสมบูรณ์แล้ว ซึ่งควรใช้ผลลัพธ์เป็นรูปภาพอินพุต งานนี้ต้องเป็นหนึ่งในงานต่อไปนี้: ข้อความเป็นรูปภาพ หรือ รูปภาพเป็นรูปภาพ นอกจากนี้ งานต้องถูกรันผ่าน API, มีสถานะเป็น SUCCEEDED และสร้างรูปภาพเพียงหนึ่งรูปเท่านั้น

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

    ระบุรูปภาพให้ Meshy ใช้ในการสร้างโมเดล ปัจจุบันเรารองรับรูปแบบ .jpg, .jpeg และ .png

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

    • URL ที่เข้าถึงได้แบบสาธารณะ: URL ที่เข้าถึงได้จากอินเทอร์เน็ตสาธารณะ
    • Data URI: data URI ของรูปภาพที่เข้ารหัสแบบ base64 ตัวอย่าง data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    model_type
    Type
    string
    ค่าเริ่มต้น standard
    Description

    ระบุประเภทของการสร้างเมช 3D

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

    • standard: การสร้างเมช 3D รายละเอียดสูงแบบปกติ
    • lowpoly: สร้างเมชโลว์โพลีที่ปรับให้เหมาะสำหรับโพลิกอนที่สะอาดยิ่งขึ้น
  • Name
    ai_model
    Type
    string
    ค่าเริ่มต้น latest
    Description

    ID ของโมเดลที่จะใช้ ค่าที่ใช้ได้: meshy-5, meshy-6, latest (Meshy 6)

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

    กำหนดว่าจะสร้างเท็กซ์เจอร์หรือไม่ การตั้งค่าเป็น false จะข้ามขั้นตอนเท็กซ์เจอร์ โดยให้เมชที่ไม่มีเท็กซ์เจอร์

ใช้เฉพาะเมื่อ should_texture = true
  • Name
    enable_pbr
    Type
    boolean
    ค่าเริ่มต้น false
    Description

    สร้าง PBR แมป (metallic, roughness, normal) นอกเหนือจากสีพื้นฐาน นอกจากนี้ยังรวม emission map เมื่อ ai_model เป็น meshy-6 หรือ latest

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

    สร้างเท็กซ์เจอร์สีพื้นฐานที่ความละเอียด 4K (4096×4096) เพื่อรายละเอียดที่สูงขึ้น

  • Name
    texture_prompt
    Type
    string
    Description

    ระบุ prompt แบบข้อความเพื่อชี้นำกระบวนการทำเท็กซ์เจอร์ สูงสุด 600 อักขระ

  • Name
    texture_image_url
    Type
    string
    Description

    ระบุรูปภาพ 2d เพื่อชี้นำกระบวนการทำเท็กซ์เจอร์ ปัจจุบันเรารองรับรูปแบบ .jpg, .jpeg และ .png

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

    • URL ที่เข้าถึงได้แบบสาธารณะ: URL ที่เข้าถึงได้จากอินเทอร์เน็ตสาธารณะ
    • Data URI: data URI ของรูปภาพที่เข้ารหัสแบบ base64 ตัวอย่าง data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    should_remesh
    Type
    boolean
    ค่าเริ่มต้น false (meshy-6), true (others)
    Description

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

ใช้เฉพาะเมื่อ should_remesh = true
  • Name
    topology
    Type
    string
    ค่าเริ่มต้น triangle
    Description

    ระบุ topology ของโมเดลที่สร้างขึ้น

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

    • quad: สร้างเมชที่เป็น quad เป็นหลัก
    • triangle: สร้างเมชสามเหลี่ยมที่ลดจำนวนแล้ว
  • Name
    target_polycount
    Type
    integer
    ค่าเริ่มต้น 30,000
    Description

    ระบุจำนวนโพลิกอนเป้าหมายในโมเดลที่สร้างขึ้น จำนวนโพลิกอนจริงอาจคลาดเคลื่อนจากเป้าหมายขึ้นอยู่กับความซับซ้อนของจีออเมทรี

    ช่วงค่าที่ใช้ได้แตกต่างกันไปตามระดับผู้ใช้:

    • 100 ถึง 300,000 (รวมค่าสองขอบ)
  • Name
    decimation_mode
    Type
    integer
    Description

    เปิดใช้งานการลดจำนวนแบบปรับตัวโดยตั้งค่าระดับจำนวนโพลิกอน เมื่อตั้งค่าแล้ว ระบบจะละเว้น target_polycount

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

    • 1: แบบปรับตัว — จำนวนโพลิกอนสูงมาก
    • 2: แบบปรับตัว — จำนวนโพลิกอนสูง
    • 3: แบบปรับตัว — จำนวนโพลิกอนปานกลาง
    • 4: แบบปรับตัว — จำนวนโพลิกอนต่ำ
  • Name
    save_pre_remeshed_model
    Type
    boolean
    ค่าเริ่มต้น false
    Description

    เมื่อตั้งค่าเป็น true Meshy จะจัดเก็บไฟล์ GLB เพิ่มเติมก่อนที่ขั้นตอนรีเมชจะเสร็จสมบูรณ์ด้วย

  • Name
    symmetry_mode
    Type
    string
    เลิกใช้แล้ว
    ค่าเริ่มต้น auto
    Description

    เลิกใช้แล้ว พารามิเตอร์นี้ไม่ส่งผลต่อเอาต์พุตอีกต่อไป

    ฟิลด์ symmetry_mode ควบคุมพฤติกรรมสมมาตรระหว่างกระบวนการสร้างโมเดล

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

    • off: ปิดใช้งานสมมาตร
    • auto: กำหนดและใช้สมมาตรโดยอัตโนมัติตามจีออเมทรีอินพุต
    • on: บังคับใช้สมมาตรระหว่างการสร้าง
  • Name
    pose_mode
    Type
    string
    ค่าเริ่มต้น ""
    Description

    ระบุ pose mode สำหรับโมเดลที่สร้างขึ้น

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

    • a-pose: สร้างโมเดลในท่า A
    • t-pose: สร้างโมเดลในท่า T
    • "" (สตริงว่าง): ไม่ใช้ท่าเฉพาะ
  • Name
    is_a_t_pose
    Type
    boolean
    เลิกใช้แล้ว
    ค่าเริ่มต้น false
    Description

    ใช้ pose_mode แทน ว่าจะสร้างโมเดลในท่า A/T หรือไม่

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

    ปรับรูปภาพอินพุตให้เหมาะสมเพื่อผลลัพธ์ที่ดียิ่งขึ้น ตั้งค่าเป็น false เพื่อคงลักษณะที่ปรากฏของรูปภาพอินพุตไว้อย่างแม่นยำโดยไม่มีการประมวลผลสไตล์ใด ๆ

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

    ลบไฮไลต์และเงาออกจากเท็กซ์เจอร์สีพื้นฐาน เพื่อสร้างผลลัพธ์ที่สะอาดขึ้นและทำงานได้ดีขึ้นภายใต้การตั้งค่าแสงแบบกำหนดเอง

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

    เมื่อตั้งค่าเป็น true เนื้อหาอินพุตจะถูกคัดกรองโดยอัตโนมัติสำหรับเนื้อหาที่อาจเป็นอันตราย หากตรวจพบเนื้อหาที่เป็นอันตราย งานจะไม่ดำเนินการสร้างต่อ

    เนื้อหาจากอินพุต image_url, texture_image_url และ texture_prompt จะถูกคัดกรอง

  • Name
    target_formats
    Type
    string[]
    Description

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

    ค่าที่ใช้ได้: glb, obj, fbx, stl, usdz, 3mf

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

    เมื่อตั้งค่าเป็น true บริการจะใช้ AI vision เพื่อประเมินความสูงจริงของวัตถุโดยอัตโนมัติ และปรับขนาดโมเดลให้สอดคล้องกัน จุดกำเนิดจะมีค่าเริ่มต้นเป็น bottom เว้นแต่จะตั้งค่า origin_at อย่างชัดเจน

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

    เมื่อตั้งค่าเป็น true งานจะเรนเดอร์เวอร์ชันพื้นหลังโปร่งใส (RGBA) ของตัวอย่างเพิ่มเติม และส่งคืนเป็น alpha_thumbnail_url ในการตอบกลับ GET ฟิลด์ thumbnail_url ที่มีอยู่จะไม่เปลี่ยนแปลง

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

    เมื่อตั้งค่าเป็น true งานจะเรนเดอร์ภาพขนาดย่อจากมุมมองหลักสี่ทิศทางเพิ่มเติม (หน้า, ขวา, หลัง, ซ้าย) และส่งคืนภายใต้ thumbnail_urls ในการตอบกลับ GET ฟิลด์ thumbnail_url ที่มีอยู่จะไม่เปลี่ยนแปลงและยังคงชี้ไปที่มุมมองด้านหน้า ดังนั้นไคลเอนต์ที่มีอยู่จะไม่ได้รับผลกระทบ

ใช้เฉพาะเมื่อ auto_size = true
  • Name
    origin_at
    Type
    string
    ค่าเริ่มต้น bottom
    Description

    ตำแหน่งของจุดกำเนิดเมื่อเปิดใช้งาน auto_size

    ค่าที่ใช้ได้: bottom, center

การส่งคืน

พร็อพเพอร์ตี result ของการตอบกลับประกอบด้วย id ของงานรูปภาพเป็น 3D ที่สร้างขึ้นใหม่

โหมดความล้มเหลว

  • Name
    400 - Bad Request
    Description

    คำขอไม่สามารถยอมรับได้ สาเหตุทั่วไป:

    • พารามิเตอร์ขาดหาย: ต้องระบุ image_url หรือ input_task_id
    • งานอินพุตไม่ถูกต้อง: input_task_id ต้องอ้างอิงถึงงานข้อความเป็นรูปภาพหรือรูปภาพเป็นรูปภาพที่มีสถานะ SUCCEEDED และสร้างรูปภาพเพียงหนึ่งรูปเท่านั้น
    • รูปแบบรูปภาพไม่ถูกต้อง: image_url ที่ระบุไม่ใช่รูปแบบที่รองรับ (.jpg, .jpeg, .png)
    • URL เข้าถึงไม่ได้: ไม่สามารถดาวน์โหลด image_url ได้ (404 หรือ timeout)
    • Data URI ไม่ถูกต้อง: สตริง base64 มีรูปแบบไม่ถูกต้อง
    • ชุดพารามิเตอร์ไม่ถูกต้อง: รองรับ enable_pbr เฉพาะเมื่อ should_texture เป็น true เท่านั้น
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    เครดิตไม่เพียงพอสำหรับการทำงานนี้

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/image-to-3d
# Simple request with required params
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -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>"
  }'

# With remesh, PBR, and A-pose
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -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>",
    "enable_pbr": true,
    "should_remesh": true,
    "target_polycount": 100000,
    "should_texture": true,
    "pose_mode": "a-pose",
    "target_formats": ["glb"]
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/image-to-3d/:id

ดึงข้อมูลงานรูปภาพเป็น 3D

เอนด์พอยต์นี้ช่วยให้คุณดึงข้อมูลงานรูปภาพเป็น 3D โดยใช้ id ของงานที่ถูกต้อง โปรดดู ออบเจ็กต์งานรูปภาพเป็น 3D เพื่อดูว่า มีคุณสมบัติใดบ้างที่รวมอยู่ในออบเจ็กต์งานรูปภาพเป็น 3D

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ตัวระบุเฉพาะสำหรับงานรูปภาพเป็น 3D ที่ต้องการดึงข้อมูล

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

การตอบกลับประกอบด้วยออบเจ็กต์งานรูปภาพเป็น 3D ตรวจสอบ ส่วน ออบเจ็กต์งานรูปภาพเป็น 3D สำหรับรายละเอียด

Request

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

DELETE/openapi/v1/image-to-3d/:id

ลบงานรูปภาพเป็น 3D

เอนด์พอยต์นี้จะลบงานรูปภาพเป็น 3D อย่างถาวร รวมถึงโมเดลและข้อมูลที่เกี่ยวข้องทั้งหมด การดำเนินการนี้ไม่สามารถย้อนกลับได้

พารามิเตอร์เส้นทาง

  • Name
    id
    Type
    path
    Description

    ID ของงานรูปภาพเป็น 3D ที่ต้องการลบ

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

ส่งกลับ 200 OK เมื่อสำเร็จ

Request

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

Response

// Returns 200 Ok on success.

GET/openapi/v1/image-to-3d

แสดงรายการงานรูปภาพเป็น 3D

เอนด์พอยต์นี้ช่วยให้คุณดึงรายการงานรูปภาพเป็น 3D ได้

พารามิเตอร์

แอตทริบิวต์ที่ไม่บังคับ

  • Name
    page_num
    Type
    integer
    Description

    หมายเลขหน้าสำหรับการแบ่งหน้า เริ่มต้นและมีค่าเริ่มต้นเป็น 1

  • Name
    page_size
    Type
    integer
    Description

    ขีดจำกัดขนาดหน้า ค่าเริ่มต้นคือ 10 รายการ จำนวนสูงสุดที่อนุญาตคือ 50 รายการ

  • Name
    sort_by
    Type
    string
    Description

    ฟิลด์ที่ใช้จัดเรียง ค่าที่ใช้ได้:

    • +created_at: จัดเรียงตามเวลาที่สร้างจากน้อยไปมาก
    • -created_at: จัดเรียงตามเวลาที่สร้างจากมากไปน้อย

ส่งคืน

ส่งคืนรายการแบบแบ่งหน้าของ ออบเจกต์งานรูปภาพเป็น 3D

Request

GET
/openapi/v1/image-to-3d
curl https://api.meshy.ai/openapi/v1/image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "image-to-3d",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
      "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "thumbnail_urls": {
      "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
      "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
      "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
      "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
    },
    "texture_prompt": "",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "expires_at": 1692771679037,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
        "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
        "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
        "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
        "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {
      "message": ""
    },
    "consumed_credits": 30
  }
]

GET/openapi/v1/image-to-3d/:id/stream

สตรีมงานรูปภาพเป็น 3D

เอนด์พอยต์นี้สตรีมการอัปเดตแบบเรียลไทม์สำหรับงานรูปภาพเป็น 3D โดยใช้ Server-Sent Events (SSE)

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ตัวระบุเฉพาะสำหรับงานรูปภาพเป็น 3D ที่จะสตรีม

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

ส่งคืนสตรีมของ อ็อบเจ็กต์งานรูปภาพเป็น 3D เป็น Server-Sent Events

สำหรับงาน PENDING หรือ IN_PROGRESS สตรีมการตอบกลับจะมีเฉพาะฟิลด์ progress และ status ที่จำเป็นเท่านั้น

Request

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
  "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
  "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
  "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
  "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
  "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

ออบเจ็กต์งานรูปภาพเป็น 3D

ออบเจ็กต์งานรูปภาพเป็น 3D คือหน่วยงานที่ Meshy ติดตามเพื่อสร้างโมเดล 3D จากอินพุต รูปภาพ ออบเจ็กต์มีคุณสมบัติต่อไปนี้:

คุณสมบัติ

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    ประเภทของงานรูปภาพเป็น 3D ค่าคือ image-to-3d

  • Name
    model_urls
    Type
    object
    Description

    URL ที่ดาวน์โหลดได้ไปยังไฟล์โมเดล 3D ที่มีเท็กซ์เจอร์ซึ่งสร้างโดย Meshy พร็อพเพอร์ตี้สำหรับรูปแบบหนึ่งจะถูกละไว้หากรูปแบบนั้นไม่ได้ถูกสร้าง แทนที่จะส่งคืนสตริงว่าง

    • Name
      glb
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังไฟล์ GLB

    • Name
      fbx
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังไฟล์ FBX

    • Name
      obj
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังไฟล์ OBJ

    • Name
      usdz
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังไฟล์ USDZ

    • Name
      mtl
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังไฟล์ MTL ซึ่งส่งคืนพร้อมกับการส่งออก OBJ เมื่อมีเท็กซ์เจอร์อยู่

    • Name
      stl
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังไฟล์ STL

    • Name
      3mf
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังไฟล์ 3MF มีอยู่เฉพาะเมื่อมีการขอ 3mf ผ่าน target_formats

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังเอาต์พุต GLB ต้นฉบับก่อนการ remesh

  • Name
    thumbnail_url
    Type
    string
    Description

    URL ที่ดาวน์โหลดได้ไปยังภาพย่อของไฟล์โมเดล เทียบเท่ากับ thumbnail_urls.front เมื่อมีอยู่ และเก็บไว้เพื่อความเข้ากันได้ย้อนหลัง

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL ที่ดาวน์โหลดได้ไปยังเวอร์ชันพื้นหลังโปร่งใส (RGBA) ของ thumbnail_url มีอยู่เฉพาะเมื่องานถูกสร้างด้วย alpha_thumbnail: true และพรีวิวแบบโปร่งใสถูกเรนเดอร์สำเร็จ มิฉะนั้นฟิลด์นี้จะถูกละไว้

  • Name
    thumbnail_urls
    Type
    object
    Description

    URL ที่ดาวน์โหลดได้สำหรับภาพย่อมุมมองหลักสี่ทิศของโมเดล 3D ที่สร้างขึ้น แต่ละค่าเป็น URL ที่ลงนามแล้วไปยัง PNG ขนาด 512×512 ซึ่งเรนเดอร์ด้วยวัสดุและแสงเดียวกันกับ thumbnail_url มีประโยชน์สำหรับการพรีวิวโมเดลจากหลายมุมในไปป์ไลน์แบบแบตช์โดยไม่ต้องดาวน์โหลด GLB

    • Name
      front
      Type
      string
      Description

      มุมมองด้านหน้า การหมุน 0° รอบแกนแนวตั้ง (ตรงกับ thumbnail_url)

    • Name
      right
      Type
      string
      Description

      มุมมองด้านขวา การหมุน 90°

    • Name
      back
      Type
      string
      Description

      มุมมองด้านหลัง การหมุน 180°

    • Name
      left
      Type
      string
      Description

      มุมมองด้านซ้าย การหมุน 270°

  • Name
    texture_prompt
    Type
    string
    Description

    prompt ข้อความที่ใช้เพื่อชี้นำกระบวนการทำเท็กซ์เจอร์

  • Name
    texture_image_url
    Type
    string
    Description

    URL ที่ดาวน์โหลดได้ไปยังรูปภาพเท็กซ์เจอร์ที่ใช้เพื่อชี้นำกระบวนการทำเท็กซ์เจอร์

  • Name
    progress
    Type
    integer
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    status
    Type
    string
    Description

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

  • Name
    texture_urls
    Type
    array
    Description

    อาร์เรย์ของออบเจ็กต์ URL เท็กซ์เจอร์ที่สร้างจากงาน โดยปกติจะมีออบเจ็กต์ URL เท็กซ์เจอร์เพียง หนึ่ง รายการเท่านั้น แต่ละ URL เท็กซ์เจอร์มีพร็อพเพอร์ตี้ต่อไปนี้:

    • Name
      base_color
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังรูปภาพแมปสีฐาน

    • Name
      metallic
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังรูปภาพแมปเมทัลลิก

    • Name
      normal
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังรูปภาพนอร์มัลแมป

    • Name
      roughness
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังรูปภาพแมปความหยาบ

    • Name
      emission
      Type
      string
      Description

      URL ที่ดาวน์โหลดได้ไปยังรูปภาพแมปการเปล่งแสง

  • 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 (เครดิตจะถูกคืนเมื่อเกิดความล้มเหลว)

Example Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "texture_image_url": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}