API สำหรับหลายรูปเป็น 3D

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


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

สร้างงาน Multi-Image to 3D

เอนด์พอยต์นี้ช่วยให้คุณสามารถสร้างงาน หลายรูปเป็น 3D ใหม่ได้ ดูข้อมูลเพิ่มเติมได้ที่ The Multi-Image to 3D Task Object เพื่อดูว่ามีพร็อพเพอร์ตี้ใดบ้าง ที่รวมอยู่ใน object ของงานหลายรูปเป็น 3D

พารามิเตอร์

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

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

  • Name
    image_urls
    Type
    array
    จำเป็น
    Description

    ระบุรูปภาพ 1 ถึง 4 รูปให้ Meshy ใช้ในการสร้างโมเดล ปัจจุบันเรารองรับรูปแบบ .jpg, .jpeg, และ .png รูปภาพทั้งหมดควรแสดงวัตถุเดียวกันจากมุมที่แตกต่างกันเพื่อผลลัพธ์ที่ดีที่สุด

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

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

    ID ของโมเดลที่จะใช้

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

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (เลิกใช้): ใช้ meshy-7.1 แทน
  • Name
    geometry_resolution
    Type
    string
    ค่าเริ่มต้น standard
    Description

    รอบการสร้างจีออเมทรี 2k จะรันการประมวลผลระดับ Ultra ที่ความละเอียด 2048³ ต้องใช้ meshy-7.1 หรือ latest

    ค่าที่ใช้ได้: standard, 2k

  • Name
    ultra_mode
    Type
    boolean
    ⚠ เลิกใช้แล้ว
    ค่าเริ่มต้น false
    Description

    ใช้ geometry_resolution แทน ultra_mode: true มีค่าเทียบเท่ากับ geometry_resolution: "2k"

  • 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 ยกเว้นที่ texture_resolution: 8k โดย meshy-6-lite, meshy-7.1 และ latest จะไม่สร้างแมปการเปล่งแสง

  • Name
    texture_resolution
    Type
    string
    ค่าเริ่มต้น 2k
    Description

    ความละเอียดเท็กซ์เจอร์สีพื้นฐาน หนึ่งใน 2k (2048×2048), 4k (4096×4096), หรือ 8k (8192×8192) ความละเอียดที่สูงขึ้นจะจับรายละเอียดพื้นผิวได้มากขึ้น

  • Name
    hd_texture
    Type
    boolean
    ⚠ เลิกใช้แล้ว
    ค่าเริ่มต้น false
    Description

    ใช้ texture_resolution แทน — เทียบเท่ากับ texture_resolution: "4k" เมื่อตั้งค่าทั้งสองอย่าง texture_resolution จะมีความสำคัญเหนือกว่า

  • Name
    texture_prompt
    Type
    string
    Description

    ระบุ prompt ข้อความเพื่อกำหนดทิศทางกระบวนการทำเท็กซ์เจอร์ สูงสุด 800 ตัวอักษร

  • Name
    texture_image_url
    Type
    string
    Description

    ระบุรูปภาพ 2 มิติเพื่อกำหนดทิศทางกระบวนการทำเท็กซ์เจอร์ ปัจจุบันเรารองรับรูปแบบ .jpg, .jpeg, และ .png

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

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

    ระบุรูปภาพ 1 ถึง 4 รูปที่แสดงวัตถุเดียวกันจากมุมมองที่แตกต่างกันเพื่อกำหนดทิศทางการทำเท็กซ์เจอร์ รูปภาพแรกเป็นมุมมองหลัก (ด้านหน้า) ส่วนลำดับของมุมมองที่เหลือ (ซ้าย หลัง ขวา) ไม่มีผลใด ๆ

    แต่ละองค์ประกอบยอมรับรูปแบบเดียวกันกับ texture_image_url (URL ที่เข้าถึงได้แบบสาธารณะ หรือ data URI แบบ base64, .jpg/.jpeg/.png)

    รูปภาพเหล่านี้จะกำหนดทิศทางเฉพาะเท็กซ์เจอร์เท่านั้น และไม่ขึ้นกับ image_urls — ทั้งสองรายการนี้อาจมีรูปภาพที่แตกต่างกันและจำนวนรูปภาพที่ต่างกันได้

  • Name
    should_remesh
    Type
    boolean
    ค่าเริ่มต้น false (Meshy 6 and Meshy 7 models), true (others)
    Description

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

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

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

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

    • 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_urls และข้อความจาก 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_urls หรือ input_task_id อย่างใดอย่างหนึ่ง
    • งานอินพุตไม่ถูกต้อง: input_task_id ต้องอ้างอิงถึงงาน ข้อความเป็นรูปภาพ, รูปภาพเป็นรูปภาพ หรืองานแบบมุมมองหลายด้านที่มีสถานะ SUCCEEDED
    • จำนวนรูปภาพไม่ถูกต้อง: image_urls ต้องมีรูปภาพระหว่าง 1 ถึง 4 รูป และ texture_image_urls ระหว่าง 1 ถึง 4 รูป
    • รูปแบบรูปภาพไม่ถูกต้อง: มีรูปภาพหนึ่งรูปหรือมากกว่าใน image_urls ที่ไม่รองรับรูปแบบดังกล่าว
    • อินพุตเท็กซ์เจอร์ที่ขัดแย้งกัน: texture_image_urls ไม่สามารถใช้ร่วมกับ texture_image_url หรือ texture_prompt ได้ และต้องมี should_texture: true
    • โมเดลไม่รองรับสำหรับเท็กซ์เจอร์แบบมุมมองหลายด้าน: texture_image_urls ต้องใช้ ai_model เป็น meshy-7.1 หรือ latest
    • URL ที่ไม่สามารถเข้าถึงได้: ไม่สามารถดาวน์โหลดองค์ประกอบหนึ่งหรือมากกว่าใน image_urls หรือ texture_image_urls ได้
    • ความละเอียดไม่รองรับสำหรับอินพุตหลายรูปภาพ: geometry_resolution: "4k" ไม่สามารถใช้ได้กับเอนด์พอยต์นี้ ให้ใช้ 2k หรือ standard แทน
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/multi-image-to-3d
# Simple request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ]
  }'

# With Ultra 2K geometry, PBR texturing and GLB format
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ],
    "ai_model": "meshy-7.1",
    "geometry_resolution": "2k",
    "should_texture": true,
    "enable_pbr": true,
    "target_formats": ["glb"]
  }'

Response

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

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

ดึงข้อมูล Task หลายรูปเป็น 3D

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

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

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

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

การตอบกลับจะมีออบเจ็กต์ task หลายรูปเป็น 3D อยู่ด้วย โปรดดูรายละเอียดที่ส่วน The Multi-Image to 3D Task Object

Request

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

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-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/multi-image-to-3d/:id

ลบงานหลายรูปเป็น 3D

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

Path Parameters

  • Name
    id
    Type
    path
    Description

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

สถานะของงาน

งานที่ยังคงอยู่ในสถานะ PENDING จะถูกลบและเครดิตที่ถูกใช้ไปตอนสร้าง จะได้รับการคืนกลับ

งานที่อยู่ในสถานะ IN_PROGRESS แล้วไม่สามารถลบได้: คำขอจะถูกปฏิเสธ ด้วย 409 Conflict และงานจะยังคงทำงานต่อไป เครดิตสำหรับงานที่ worker ได้เริ่มดำเนินการไปแล้วจะไม่สามารถขอคืนได้ ดังนั้นการลบงานระหว่างที่กำลังทำงานอยู่ จะทำให้คุณเสียทั้งเครดิตและผลลัพธ์ไปพร้อมกัน ให้รอจนกว่างานจะถึงสถานะ SUCCEEDED, FAILED หรือ CANCELED แล้วจึงค่อยลบ

งานที่อยู่ในสถานะสุดท้าย (SUCCEEDED, FAILED หรือ CANCELED) จะถูกลบ โดยไม่มีการคืนเครดิต

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

ส่งกลับ 200 OK เมื่อสำเร็จ หรือ 409 Conflict เมื่องานอยู่ในสถานะ IN_PROGRESS

Request

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

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

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

แสดงรายการงาน Multi-Image to 3D

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

พารามิเตอร์

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

  • Name
    page_num
    Type
    integer
    Description

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

  • Name
    page_size
    Type
    integer
    Description

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

  • Name
    sort_by
    Type
    string
    Description

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

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

ผลลัพธ์ที่ส่งกลับ

ส่งกลับรายการแบบแบ่งหน้าของ The Multi-Image to 3D Task Objects

Request

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

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "multi-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/multi-image-to-3d/:id/stream

สตรีมงานหลายรูปเป็น 3D

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

พารามิเตอร์

  • Name
    id
    Type
    path
    Description

    ตัวระบุที่ไม่ซ้ำกันของงานหลายรูปเป็น 3D ที่ต้องการสตรีม

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

ส่งกลับสตรีมของ The Multi-Image to 3D Task Objects ในรูปแบบ Server-Sent Events

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

Request

GET
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/multi-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": "multi-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
}

The Multi-Image to 3D Task Object

Multi-Image to 3D Task object เป็นหน่วยงานที่ Meshy ใช้ติดตามเพื่อสร้างโมเดล 3D จากภาพหลายภาพ (ระหว่าง 1 ถึง 4 ภาพ) ภาพเหล่านี้ควรเป็นวัตถุชิ้นเดียวกัน โดยควรมาจากมุมมองหรือมุมที่แตกต่างกัน อ็อบเจกต์นี้มีคุณสมบัติดังต่อไปนี้:

Properties

  • Name
    id
    Type
    string
    Description

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

  • Name
    type
    Type
    string
    Description

    ประเภทของ Multi-Image to 3D task ค่านี้คือ multi-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 จะปรากฏเฉพาะเมื่อ task ถูกสร้างขึ้นด้วย 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_urls
    Type
    string[]
    Description

    URL สำหรับดาวน์โหลดภาพอ้างอิงเท็กซ์เจอร์ที่ใช้สร้าง task ตามลำดับที่ให้มา จะปรากฏเฉพาะเมื่อ task ถูกสร้างขึ้นด้วย texture_image_urls

  • Name
    ultra_mode
    Type
    boolean
    ⚠ เลิกใช้แล้ว
    Description

    เลิกใช้แล้ว ให้อ่าน geometry_resolution แทน

  • Name
    geometry_resolution
    Type
    string
    Description

    ระดับ Ultra ที่ task ทำงาน (2k) จะถูกละไว้สำหรับ standard

  • Name
    progress
    Type
    integer
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    status
    Type
    string
    Description

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

  • Name
    texture_urls
    Type
    array
    Description

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

    • Name
      base_color
      Type
      string
      Description

      URL สำหรับดาวน์โหลดภาพแมปสีพื้นฐาน (base color)

    • Name
      metallic
      Type
      string
      Description

      URL สำหรับดาวน์โหลดภาพแมปโลหะ (metallic)

    • Name
      normal
      Type
      string
      Description

      URL สำหรับดาวน์โหลดภาพนอร์มัลแมป

    • Name
      roughness
      Type
      string
      Description

      URL สำหรับดาวน์โหลดภาพแมปความหยาบ (roughness)

    • Name
      emission
      Type
      string
      Description

      URL สำหรับดาวน์โหลดภาพแมปการเปล่งแสง (emission)

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

Example Multi-Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-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,
}