API รูปภาพเป็น 3D
API รูปภาพเป็น 3D เป็นฟีเจอร์ที่ช่วยให้คุณผสานความสามารถรูปภาพเป็น 3D ของ Meshy เข้ากับแอปพลิเคชันของคุณเองได้ ในส่วนนี้ คุณจะพบข้อมูลทั้งหมด ที่จำเป็นสำหรับการเริ่มต้นใช้งาน API นี้
สร้างงานรูปภาพเป็น 3D
เอนด์พอยต์นี้ช่วยให้คุณสร้างงานรูปภาพเป็น 3D ใหม่ได้ โปรดดู ออบเจ็กต์งานรูปภาพเป็น 3D เพื่อดูว่า มีพร็อพเพอร์ตีใดบ้างที่รวมอยู่ในออบเจ็กต์งานรูปภาพเป็น 3D
พารามิเตอร์
ต้องระบุเพียงหนึ่งอย่างระหว่าง input_task_id หรือ image_url หากระบุทั้งสองอย่าง input_task_id จะมีลำดับความสำคัญสูงกว่า
- 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: สร้างเมชโลว์โพลีที่ปรับให้เหมาะสำหรับโพลิกอนที่สะอาดยิ่งขึ้น
เมื่อเลือก
lowpolyระบบจะละเว้นai_model,topology,target_polycount,should_remesh,save_pre_remeshed_model
- 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) เพื่อรายละเอียดที่สูงขึ้น
รองรับเฉพาะเมื่อ
ai_modelเป็นmeshy-6หรือlatestเท่านั้น PBR แมปจะถูกสร้างที่ 2K เสมอ
- 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>
การทำเท็กซ์เจอร์จากรูปภาพอาจทำงานได้ไม่เหมาะสมหากมีความแตกต่างของจีออเมทรีอย่างมากระหว่างแอสเซ็ตต้นฉบับกับรูปภาพที่อัปโหลด สามารถใช้เพียงหนึ่งอย่างระหว่าง
texture_image_urlหรือtexture_promptเพื่อชี้นำกระบวนการทำเท็กซ์เจอร์ หากระบุพารามิเตอร์ทั้งสองอย่าง ระบบจะใช้texture_promptเพื่อทำเท็กซ์เจอร์โมเดลตามค่าเริ่มต้น การทำเท็กซ์เจอร์ผ่านข้อความหรือรูปภาพอย่างใดอย่างหนึ่งจะมีค่าใช้จ่าย 10 เครดิตต่องาน
- Name
- should_remesh
- Type
- boolean
- ค่าเริ่มต้น false (meshy-6), true (others)
- Description
ควบคุมว่าจะเปิดใช้งานขั้นตอนรีเมชหรือไม่ เมื่อตั้งค่าเป็น
falseAPI จะส่งคืนเมชสามเหลี่ยมที่มีความแม่นยำสูงสุด
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
เมื่อตั้งค่าเป็น
trueMeshy จะจัดเก็บไฟล์ GLB เพิ่มเติมก่อนที่ขั้นตอนรีเมชจะเสร็จสมบูรณ์ด้วย
- Name
- symmetry_mode
- Type
- string
- ⚠ เลิกใช้แล้ว
- ค่าเริ่มต้น auto
- Description
เลิกใช้แล้ว พารามิเตอร์นี้ไม่ส่งผลต่อเอาต์พุตอีกต่อไป
ฟิลด์
symmetry_modeควบคุมพฤติกรรมสมมาตรระหว่างกระบวนการสร้างโมเดลค่าที่ใช้ได้คือ:
off: ปิดใช้งานสมมาตรauto: กำหนดและใช้สมมาตรโดยอัตโนมัติตามจีออเมทรีอินพุตon: บังคับใช้สมมาตรระหว่างการสร้าง
- Name
- pose_mode
- Type
- string
- ค่าเริ่มต้น ""
- Description
ระบุ pose 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หรือlatestเท่านั้น
- Name
- remove_lighting
- Type
- boolean
- ค่าเริ่มต้น true
- Description
ลบไฮไลต์และเงาออกจากเท็กซ์เจอร์สีพื้นฐาน เพื่อสร้างผลลัพธ์ที่สะอาดขึ้นและทำงานได้ดีขึ้นภายใต้การตั้งค่าแสงแบบกำหนดเอง
รองรับเฉพาะเมื่อ
ai_modelเป็นmeshy-6หรือlatestเท่านั้น
- 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เมื่อไม่ระบุ ระบบจะสร้างทุกรูปแบบยกเว้น
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 ของงานรูปภาพเป็น 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
# 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"
}
ดึงข้อมูลงานรูปภาพเป็น 3D
เอนด์พอยต์นี้ช่วยให้คุณดึงข้อมูลงานรูปภาพเป็น 3D โดยใช้ id ของงานที่ถูกต้อง
โปรดดู ออบเจ็กต์งานรูปภาพเป็น 3D เพื่อดูว่า
มีคุณสมบัติใดบ้างที่รวมอยู่ในออบเจ็กต์งานรูปภาพเป็น 3D
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานรูปภาพเป็น 3D ที่ต้องการดึงข้อมูล
ค่าที่ส่งคืน
การตอบกลับประกอบด้วยออบเจ็กต์งานรูปภาพเป็น 3D ตรวจสอบ ส่วน ออบเจ็กต์งานรูปภาพเป็น 3D สำหรับรายละเอียด
Request
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
}
ลบงานรูปภาพเป็น 3D
เอนด์พอยต์นี้จะลบงานรูปภาพเป็น 3D อย่างถาวร รวมถึงโมเดลและข้อมูลที่เกี่ยวข้องทั้งหมด การดำเนินการนี้ไม่สามารถย้อนกลับได้
พารามิเตอร์เส้นทาง
- Name
- id
- Type
- path
- Description
ID ของงานรูปภาพเป็น 3D ที่ต้องการลบ
ค่าที่ส่งกลับ
ส่งกลับ 200 OK เมื่อสำเร็จ
Request
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.
แสดงรายการงานรูปภาพเป็น 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/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
}
]
สตรีมงานรูปภาพเป็น 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/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
พร้อมใช้งานเฉพาะเมื่องานถูกสร้างด้วยทั้ง
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 ที่ดาวน์โหลดได้ไปยังเวอร์ชันพื้นหลังโปร่งใส (RGBA) ของ
thumbnail_urlมีอยู่เฉพาะเมื่องานถูกสร้างด้วยalpha_thumbnail: trueและพรีวิวแบบโปร่งใสถูกเรนเดอร์สำเร็จ มิฉะนั้นฟิลด์นี้จะถูกละไว้
- Name
- thumbnail_urls
- Type
- object
- Description
URL ที่ดาวน์โหลดได้สำหรับภาพย่อมุมมองหลักสี่ทิศของโมเดล 3D ที่สร้างขึ้น แต่ละค่าเป็น URL ที่ลงนามแล้วไปยัง PNG ขนาด 512×512 ซึ่งเรนเดอร์ด้วยวัสดุและแสงเดียวกันกับ
thumbnail_urlมีประโยชน์สำหรับการพรีวิวโมเดลจากหลายมุมในไปป์ไลน์แบบแบตช์โดยไม่ต้องดาวน์โหลด GLBมีอยู่เฉพาะเมื่องานถูกสร้างด้วย
multi_view_thumbnails: trueและไปถึงSUCCEEDEDแล้ว งานเก่าและงานที่สร้างโดยไม่ได้เลือกใช้งานจะไม่รวมฟิลด์นี้- 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ไทม์สแตมป์แสดงจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่วันที่ 1 มกราคม 1970 UTC ตาม มาตรฐาน RFC 3339
ตัวอย่างเช่น วันศุกร์ที่ 1 กันยายน 2023 เวลา 12:00:00 PM GMT จะแสดงเป็น1693569600000สิ่งนี้ใช้กับ ไทม์สแตมป์ทั้งหมดใน Meshy API
- 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 ที่ดาวน์โหลดได้ไปยังรูปภาพแมปเมทัลลิก
หากงานถูกสร้างด้วย
enable_pbr: falseพร็อพเพอร์ตี้นี้จะถูกละไว้
- Name
normal- Type
- string
- Description
URL ที่ดาวน์โหลดได้ไปยังรูปภาพนอร์มัลแมป
หากงานถูกสร้างด้วย
enable_pbr: falseพร็อพเพอร์ตี้นี้จะถูกละไว้
- Name
roughness- Type
- string
- Description
URL ที่ดาวน์โหลดได้ไปยังรูปภาพแมปความหยาบ
หากงานถูกสร้างด้วย
enable_pbr: falseพร็อพเพอร์ตี้นี้จะถูกละไว้
- Name
emission- Type
- string
- Description
URL ที่ดาวน์โหลดได้ไปยังรูปภาพแมปการเปล่งแสง
หากงานถูกสร้างด้วย
enable_pbr: falseหรือai_modelคือmeshy-5พร็อพเพอร์ตี้นี้จะถูกละไว้
- Name
- preceding_tasks
- Type
- integer
- Description
จำนวนของงานก่อนหน้า
ค่าของฟิลด์นี้มีความหมายเฉพาะเมื่อสถานะงานเป็น
PENDING
- 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
}