หลายรูปเป็น 3D API
หลายรูปเป็น 3D API เป็นฟีเจอร์ที่ช่วยให้คุณสามารถรวมความสามารถของ Meshy ในการเปลี่ยนหลายรูปเป็น 3D เข้ากับแอปพลิเคชันของคุณเองได้ ในส่วนนี้ คุณจะพบข้อมูลทั้งหมดที่คุณต้องการเพื่อเริ่มต้นใช้งาน API นี้
สร้างงาน Multi-Image to 3D
เอนด์พอยต์นี้อนุญาตให้คุณสร้างงาน Multi-Image to 3D ใหม่ ดู The Multi-Image to 3D Task Object เพื่อดูว่า พร็อพเพอร์ตี้ใดบ้างที่รวมอยู่ใน Multi-Image to 3D task object
พารามิเตอร์
ต้องระบุเพียงหนึ่งใน input_task_id หรือ image_urls เท่านั้น หากระบุทั้งสองอย่าง input_task_id จะมีลำดับความสำคัญก่อน
- 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: ข้อมูลรูปภาพที่เข้ารหัสแบบ base64 ในรูปแบบ data URI ตัวอย่างของ data URI:
data:image/jpeg;base64,<your base64-encoded image data>
สำหรับ
meshy-7(หรือlatest) รูปภาพแรกจะถูกใช้เป็นมุมมองหลัก (ด้านหน้า) ลำดับของรูปภาพที่เหลือไม่มีผล
- Name
- ai_model
- Type
- string
- ค่าเริ่มต้น latest
- Description
ID ของโมเดลที่จะใช้ ค่าที่ใช้ได้:
meshy-5,meshy-6,meshy-7,latest(Meshy 7)
- Name
- ultra_mode
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เปิดใช้งานการสร้างแบบ Ultra เพื่อให้ได้จีออเมทรีที่มีความคมชัดสูงขึ้นและรายละเอียดพื้นผิวที่ละเอียดยิ่งขึ้น
รองรับเฉพาะเมื่อ
ai_modelเป็นmeshy-7(หรือlatest)
- 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-7และlatestจะไม่สร้าง emission map
- Name
- texture_resolution
- Type
- string
- ค่าเริ่มต้น 2k
- Description
ความละเอียดของเท็กซ์เจอร์สีพื้นฐาน เลือกได้จาก
2k(2048×2048),4k(4096×4096), หรือ8k(8192×8192) ความละเอียดที่สูงขึ้นจะจับรายละเอียดพื้นผิวได้มากขึ้น4kและ8kต้องใช้ai_modelเป็นmeshy-6,meshy-7หรือlatestที่8kจะไม่มีการสร้าง emission map
- 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: ข้อมูลรูปภาพที่เข้ารหัสแบบ base64 ในรูปแบบ data URI ตัวอย่างของ data URI:
data:image/jpeg;base64,<your base64-encoded image data>
การทำเท็กซ์เจอร์จากรูปภาพอาจไม่ทำงานได้อย่างเหมาะสมหากมีความแตกต่างของจีออเมทรีอย่างมากระหว่างสินทรัพย์ต้นฉบับและรูปภาพที่อัปโหลด สามารถใช้ได้เพียงหนึ่งใน
texture_image_urlหรือtexture_promptเพื่อกำหนดแนวทางกระบวนการทำเท็กซ์เจอร์ หากระบุทั้งสองพารามิเตอร์ ระบบจะใช้texture_promptเป็นค่าเริ่มต้นในการทำเท็กซ์เจอร์โมเดล
- Name
- texture_image_urls
- Type
- string[]
- Description
ระบุรูปภาพ 1 ถึง 4 รูปที่แสดงวัตถุเดียวกันจากมุมมองต่าง ๆ เพื่อกำหนดแนวทางการทำเท็กซ์เจอร์ รูปภาพแรกคือมุมมองหลัก (ด้านหน้า) ส่วนลำดับของมุมมองที่เหลือ (ซ้าย, ด้านหลัง, ขวา) ไม่มีผล
แต่ละองค์ประกอบยอมรับรูปแบบเดียวกันกับ
texture_image_url(URL ที่เข้าถึงได้แบบสาธารณะ หรือ data URI แบบ base64,.jpg/.jpeg/.png)รูปภาพเหล่านี้ใช้กำหนดแนวทางเท็กซ์เจอร์เท่านั้น และไม่ขึ้นกับ
image_urls— ทั้งสองรายการสามารถมีรูปภาพที่แตกต่างกันและจำนวนรูปภาพที่แตกต่างกันได้ต้องใช้
ai_modelเป็นmeshy-7หรือlatestไม่สามารถใช้ร่วมกับtexture_image_urlหรือtexture_promptได้
- Name
- should_remesh
- Type
- boolean
- ค่าเริ่มต้น false (meshy-6), true (others)
- Description
ควบคุมว่าจะเปิดใช้งานขั้นตอนการรีเมชหรือไม่ สำหรับโมเดลที่มีคุณภาพสูงสุด เราขอแนะนำให้ตั้งค่า
should_remeshเป็นfalse
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: ปรับตัว — จำนวนโพลิกอนระดับสูงสุด (ultra)2: ปรับตัว — จำนวนโพลิกอนระดับสูง3: ปรับตัว — จำนวนโพลิกอนระดับกลาง4: ปรับตัว — จำนวนโพลิกอนระดับต่ำ
- Name
- save_pre_remeshed_model
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueMeshy จะเก็บไฟล์ GLB เพิ่มเติมก่อนที่ขั้นตอนการรีเมชจะเสร็จสมบูรณ์
- Name
- symmetry_mode
- Type
- string
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น auto
- Description
เลิกใช้แล้ว พารามิเตอร์นี้ไม่มีผลต่อผลลัพธ์อีกต่อไป
ฟิลด์
symmetry_modeควบคุมพฤติกรรมของสมมาตรในระหว่างกระบวนการสร้างโมเดลค่าที่ใช้ได้คือ:
off: ปิดใช้งานสมมาตรauto: กำหนดและใช้สมมาตรโดยอัตโนมัติตามจีออเมทรีของอินพุตon: บังคับใช้สมมาตรในระหว่างการสร้าง
- Name
- pose_mode
- Type
- string
- ค่าเริ่มต้น ""
- Description
ระบุ mode ท่าทางสำหรับโมเดลที่สร้างขึ้น
ค่าที่ใช้ได้:
a-pose: สร้างโมเดลในท่า At-pose: สร้างโมเดลในท่า T""(สตริงว่าง): ไม่มีการใช้ท่าทางที่กำหนด
- Name
- is_a_t_pose
- Type
- boolean
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น false
- Description
ใช้
pose_modeแทน กำหนดว่าจะสร้างโมเดลในท่า A/T หรือไม่
- Name
- image_enhancement
- Type
- boolean
- ค่าเริ่มต้น true
- Description
ปรับปรุงรูปภาพอินพุตให้ได้ผลลัพธ์ที่ดีขึ้น ตั้งค่าเป็น
falseเพื่อคงลักษณะที่ปรากฏของรูปภาพอินพุตไว้ตามเดิม โดยไม่ผ่านการประมวลผลด้านสไตล์ใด ๆรองรับเฉพาะเมื่อ
ai_modelเป็นmeshy-6,meshy-7หรือlatest
- Name
- remove_lighting
- Type
- boolean
- ค่าเริ่มต้น true
- Description
ลบส่วนแสงสว่างและเงาออกจากเท็กซ์เจอร์สีพื้นฐาน ทำให้ได้ผลลัพธ์ที่สะอาดขึ้นและใช้งานได้ดีขึ้นภายใต้การจัดแสงแบบกำหนดเอง
รองรับเฉพาะเมื่อ
ai_modelเป็นmeshy-6,meshy-7หรือlatest
- Name
- moderation
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueเนื้อหาอินพุตจะถูกตรวจสอบโดยอัตโนมัติเพื่อหาเนื้อหาที่อาจเป็นอันตราย หากตรวจพบเนื้อหาที่เป็นอันตราย งานจะไม่ดำเนินต่อไปยังขั้นตอนการสร้างรูปภาพแต่ละรูปจาก
image_urlsและข้อความจากtexture_promptจะถูกตรวจสอบ
- Name
- target_formats
- Type
- string[]
- Description
ระบุรูปแบบไฟล์ 3D ที่จะรวมอยู่ในผลลัพธ์ จะสร้างและส่งคืนเฉพาะรูปแบบที่ระบุเท่านั้น ซึ่งสามารถลดเวลาที่ใช้ในการทำงานให้เสร็จสมบูรณ์ได้
ค่าที่ใช้ได้:
glb,obj,fbx,stl,usdz,3mfหากไม่ระบุ จะสร้างทุกรูปแบบยกเว้น
3mfโดย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ที่มีอยู่จะไม่เปลี่ยนแปลง และยังคงชี้ไปยังมุมมองด้านหน้าเช่นเดิม ทำให้ไคลเอ็นต์ที่มีอยู่ไม่ได้รับผลกระทบเพิ่มเวลาแฝงของงานประมาณ 3 วินาที
auto_size = true- Name
- origin_at
- Type
- string
- ค่าเริ่มต้น bottom
- Description
ตำแหน่งของจุดกำเนิดเมื่อเปิดใช้งาน
auto_sizeค่าที่ใช้ได้:bottom,center
ผลลัพธ์ที่ได้
พร็อพเพอร์ตี้ result ของการตอบสนองมี id ของงาน Multi-Image to 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หรือlatest - URL ไม่สามารถเข้าถึงได้: องค์ประกอบหนึ่งหรือมากกว่าใน
image_urlsหรือtexture_image_urlsไม่สามารถดาวน์โหลดได้
- พารามิเตอร์หายไป: ต้องระบุ
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว กรุณาตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
เครดิตไม่เพียงพอสำหรับการทำงานนี้
- Name
429 - Too Many Requests- Description
คุณได้เกินขีดจำกัดการจำกัดอัตราของคุณแล้ว
Request
# 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 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>"
],
"should_texture": true,
"enable_pbr": true,
"target_formats": ["glb"]
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
ดึงงานหลายรูปเป็น 3D
เอนด์พอยต์นี้ช่วยให้คุณดึงงานหลายรูปเป็น 3D ได้เมื่อมี id ของงานที่ถูกต้อง
ดูที่ วัตถุงานหลายรูปเป็น 3D เพื่อดูว่ามีคุณสมบัติใดบ้างที่รวมอยู่ในวัตถุงานหลายรูปเป็น 3D
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานหลายรูปเป็น 3D ที่ต้องการดึง
ผลลัพธ์ที่ได้
การตอบกลับจะมีวัตถุงานหลายรูปเป็น 3D ตรวจสอบ วัตถุงานหลายรูปเป็น 3D สำหรับรายละเอียด
Request
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
}
ลบงานหลายรูปเป็น 3D
เอนด์พอยต์นี้จะลบงานหลายรูปเป็น 3D อย่างถาวร รวมถึงโมเดลและข้อมูลที่เกี่ยวข้องทั้งหมด การกระทำนี้ไม่สามารถย้อนกลับได้
พารามิเตอร์ในเส้นทาง
- Name
- id
- Type
- path
- Description
ID ของงานหลายรูปเป็น 3D ที่จะลบ
การส่งกลับ
ส่งกลับ 200 OK เมื่อสำเร็จ
Request
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
// Returns 200 Ok on success.
รายการงานหลายรูปเป็น 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
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
}
]
สตรีมงานหลายรูปเป็น 3D
เอนด์พอยต์นี้สตรีมการอัปเดตแบบเรียลไทม์สำหรับงานหลายรูปเป็น 3D โดยใช้ Server-Sent Events (SSE)
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานหลายรูปเป็น 3D ที่จะสตรีม
ผลลัพธ์ที่ได้
ส่งกลับสตรีมของ วัตถุงานหลายรูปเป็น 3D เป็น Server-Sent Events
สำหรับงานที่ PENDING หรือ IN_PROGRESS สตรีมการตอบกลับจะรวมเฉพาะฟิลด์ progress และ status ที่จำเป็นเท่านั้น
Request
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 ใช้ติดตามเพื่อสร้างโมเดล 3 มิติจากภาพหลายภาพ (ตั้งแต่ 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
มีให้เฉพาะเมื่อ task ถูกสร้างขึ้นด้วยทั้ง
should_remesh: trueและsave_pre_remeshed_model: true
- Name
- thumbnail_url
- Type
- string
- Description
URL ที่สามารถดาวน์โหลดภาพย่อของไฟล์โมเดล เทียบเท่ากับ
thumbnail_urls.frontเมื่อมี เก็บไว้เพื่อความเข้ากันได้แบบย้อนหลัง
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL ที่สามารถดาวน์โหลดภาพย่อของ
thumbnail_urlแบบพื้นหลังโปร่งใส (RGBA) จะปรากฏเฉพาะเมื่อ task ถูกสร้างขึ้นด้วยalpha_thumbnail: trueและการเรนเดอร์ตัวอย่างแบบโปร่งใสสำเร็จ มิเช่นนั้นฟิลด์นี้จะถูกละเว้น
- Name
- thumbnail_urls
- Type
- object
- Description
URL ที่สามารถดาวน์โหลดสำหรับภาพย่อสี่มุมมองหลักของโมเดล 3D ที่สร้างขึ้น ค่าแต่ละค่าเป็น signed URL ไปยังภาพ PNG ขนาด 512×512 ที่เรนเดอร์ด้วยวัสดุและแสงเดียวกันกับ
thumbnail_urlมีประโยชน์สำหรับการแสดงตัวอย่างโมเดลจากหลายมุมในไปป์ไลน์แบบแบตช์โดยไม่ต้องดาวน์โหลด GLBมีให้เฉพาะเมื่อ task ถูกสร้างขึ้นด้วย
multi_view_thumbnails: trueและมีสถานะถึงSUCCEEDEDเท่านั้น task เก่าหรือ task ที่สร้างขึ้นโดยไม่ได้เลือกใช้ตัวเลือกนี้จะไม่มีฟิลด์นี้- 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
สะท้อนค่า
ultra_modeที่ใช้สร้าง task นี้ จะปรากฏเฉพาะสำหรับ task ของmeshy-7(หรือlatest) ที่กำหนดค่าultra_modeอย่างชัดเจน มิเช่นนั้นจะถูกละเว้น
- Name
- progress
- Type
- integer
- Description
ความคืบหน้าของ task หาก task ยังไม่ได้เริ่ม คุณสมบัตินี้จะเป็น
0เมื่อ task สำเร็จแล้ว ค่านี้จะกลายเป็น100
- Name
- started_at
- Type
- timestamp
- Description
ไทม์สแตมป์ของเวลาที่ task เริ่มต้น หน่วยเป็นมิลลิวินาที หาก task ยังไม่ได้เริ่ม คุณสมบัตินี้จะเป็น
0ไทม์สแตมป์แสดงถึงจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่วันที่ 1 มกราคม 1970 UTC ตามมาตรฐาน RFC 3339
ตัวอย่างเช่น วันศุกร์ที่ 1 กันยายน 2023 เวลา 12:00:00 น. GMT จะแสดงเป็น1693569600000สิ่งนี้ใช้กับ ไทม์สแตมป์ ทั้งหมด ใน Meshy API
- 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 ที่สามารถดาวน์โหลดภาพแมปสีพื้นฐาน
- Name
metallic- Type
- string
- Description
URL ที่สามารถดาวน์โหลดภาพแมปความเป็นโลหะ
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseคุณสมบัตินี้จะถูกละเว้น
- Name
normal- Type
- string
- Description
URL ที่สามารถดาวน์โหลดนอร์มัลแมป
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseคุณสมบัตินี้จะถูกละเว้น
- Name
roughness- Type
- string
- Description
URL ที่สามารถดาวน์โหลดภาพแมปความหยาบ
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseคุณสมบัตินี้จะถูกละเว้น
- Name
emission- Type
- string
- Description
URL ที่สามารถดาวน์โหลดภาพแมปการเรืองแสง
หาก task ถูกสร้างขึ้นด้วย
enable_pbr: falseหรือai_modelเป็นmeshy-5คุณสมบัตินี้จะถูกละเว้น
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวน task ที่อยู่ก่อนหน้า
ค่าของฟิลด์นี้มีความหมายเฉพาะเมื่อสถานะของ task เป็น
PENDINGเท่านั้น
- 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,
}