Retexture API
Retexture API คือฟีเจอร์ที่ช่วยให้คุณสามารถผสานความสามารถด้านการรีเท็กซ์เจอร์ด้วย AI ของ Meshy เข้ากับแอปพลิเคชันของคุณเองได้ ในส่วนนี้ คุณจะพบข้อมูลทั้งหมด ที่จำเป็นสำหรับการเริ่มต้นใช้งาน API นี้
สร้างงาน Retexture
เอนด์พอยต์นี้ช่วยให้คุณสามารถสร้างงาน Retexture ใหม่ได้ ดู The Retexture Task Object เพื่อดูว่า properties ใดบ้างที่รวมอยู่ใน Retexture task object
งานนี้ทำงานในพื้นหลัง สำหรับระยะเวลาที่ใช้โดยทั่วไป ดูที่ Processing Times
พารามิเตอร์
ต้องระบุเพียงหนึ่งใน input_task_id หรือ model_url เท่านั้น จำเป็น หากระบุทั้งสองอย่าง input_task_id จะมีความสำคัญกว่า
- Name
- input_task_id
- Type
- string
- จำเป็น
- Description
ID ของงาน Image to 3D หรือ Text to 3D ที่เสร็จสมบูรณ์แล้วที่คุณต้องการนำมา retexture งานนี้ต้องเป็นหนึ่งในงานต่อไปนี้: Text to 3D Preview, Text to 3D Refine, Image to 3D หรือ Remesh นอกจากนี้ต้องมีสถานะเป็น
SUCCEEDED
- Name
- model_url
- Type
- string
- จำเป็น
- Description
ระบุโมเดล 3D ให้ Meshy ทำการใส่เท็กซ์เจอร์ รูปแบบที่รองรับ:
.glb,.gltf,.obj,.fbx,.stlขนาดไฟล์สูงสุด: 400 MB สำหรับ URL แบบ
httpหรือhttps, 100 MB สำหรับdata:URIไฟล์ GLB, glTF, FBX หรือ OBJ ที่มีขนาดเกิน 100 MB สามารถมีได้สูงสุด 10,000,000 หน้า โดยนับหน้าเป็นสามเหลี่ยม: สี่เหลี่ยมนับเป็น 2 และเมชที่วาดมากกว่าหนึ่งครั้งนับเป็นหนึ่งต่อสำเนา เมื่อเกิน 100 MB ไฟล์ FBX ต้องเป็น binary FBX เวอร์ชัน 7.1 หรือใหม่กว่า และไฟล์ GLB หรือ glTF ต้องไม่ใช้การบีบอัดแบบ Draco
มีสองวิธีในการระบุโมเดล:
- URL ที่เข้าถึงได้แบบสาธารณะ: URL ที่สามารถเข้าถึงได้จากอินเทอร์เน็ตสาธารณะ
- Data URI: data URI ของโมเดลที่เข้ารหัสแบบ base64 ใช้ MIME type
application/octet-streamตัวอย่าง:data:application/octet-stream;base64,<your base64-encoded model data>
ต้องระบุอินพุตสไตล์เพียงหนึ่งเดียว จำเป็น: text_style_prompt, image_style_url หรือ multiview_image_urls โดย multiview_image_urls ไม่สามารถใช้ร่วมกับอีกสองตัวใดได้ หากระบุทั้ง text_style_prompt และ image_style_url มาด้วยกัน image_style_url จะมีความสำคัญกว่า
- Name
- text_style_prompt
- Type
- string
- จำเป็น
- Description
อธิบายสไตล์เท็กซ์เจอร์ที่คุณต้องการสำหรับวัตถุโดยใช้ข้อความ สูงสุด 800 ตัวอักษร
- Name
- image_style_url
- Type
- string
- จำเป็น
- Description
ระบุภาพ 2 มิติเพื่อใช้นำทางกระบวนการใส่เท็กซ์เจอร์ ปัจจุบันเรารองรับรูปแบบ
.jpg,.jpeg,.png, และ.webpขนาดไฟล์สูงสุด: 20 MB
มีสองวิธีในการระบุภาพ:
- URL ที่เข้าถึงได้แบบสาธารณะ: URL ที่สามารถเข้าถึงได้จากอินเทอร์เน็ตสาธารณะ
- Data URI: data URI ของภาพที่เข้ารหัสแบบ base64 ตัวอย่างของ data URI:
data:image/jpeg;base64,<your base64-encoded image data>
การใส่เท็กซ์เจอร์จากภาพอาจทำงานได้ไม่ดีเท่าที่ควร หากมีความแตกต่างของจีออเมทรีอย่างมากระหว่าง asset ต้นฉบับกับภาพที่อัปโหลด
- Name
- multiview_image_urls
- Type
- string[]
- จำเป็น
- Description
ระบุภาพ 1 ถึง 4 ภาพที่แสดงวัตถุเดียวกันจากมุมมองที่ต่างกันเพื่อใช้นำทางการใส่เท็กซ์เจอร์ ภาพแรกเป็นมุมมองหลัก (ด้านหน้า) ส่วนลำดับของมุมมองที่เหลือ (ซ้าย, หลัง, ขวา) ไม่มีผลใด ๆ
แต่ละรายการรองรับรูปแบบเดียวกับ
image_style_url(URL ที่เข้าถึงได้แบบสาธารณะ หรือ base64 data URI,.jpg/.jpeg/.png/.webp)ขนาดไฟล์สูงสุด: 20 MB ต่อภาพ
ต้องระบุ
ai_model: "meshy-7"อย่างชัดเจน
- Name
- ai_model
- Type
- string
- ค่าเริ่มต้น latest
- Description
ID ของโมเดล AI ที่ใช้สำหรับ retexture ค่าที่ใช้ได้:
meshy-6-lite,meshy-6,meshy-7,latest(Meshy 7)
- Name
- enable_original_uv
- Type
- boolean
- ค่าเริ่มต้น false
- Description
คงเลย์เอาต์ UV เดิมของโมเดลไว้แทนที่จะสร้างเลย์เอาต์ใหม่
- หากคุณกำลัง retexture โมเดลที่ Meshy สร้างขึ้น (ผ่าน
input_task_idหรือmodel_urlที่ชี้ไปยังผลลัพธ์ของ Meshy) ให้ตั้งค่านี้เป็นtrueเพื่อนำเลย์เอาต์ UV ที่ปรับให้เหมาะสมแล้วกลับมาใช้ใหม่ - หากคุณกำลัง retexture โมเดลของบุคคลที่สามที่คุณอัปโหลด ให้ตั้งค่าเป็น
trueเมื่อโมเดลนั้นมี UV ที่ดีอยู่แล้วและคุณต้องการเก็บไว้ หรือปล่อยให้เป็นfalseเพื่อให้ Meshy คลี่ UV ใหม่ (เหมาะที่สุดสำหรับโมเดลที่ไม่มีการแมป UV ที่เหมาะสม)
- หากคุณกำลัง retexture โมเดลที่ Meshy สร้างขึ้น (ผ่าน
- 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และ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
- remove_lighting
- Type
- boolean
- ค่าเริ่มต้น true
- Description
ลบไฮไลต์และเงาออกจากเท็กซ์เจอร์สีพื้นฐาน ทำให้ได้ผลลัพธ์ที่สะอาดกว่าและทำงานได้ดีกว่าภายใต้การตั้งค่าแสงที่กำหนดเอง
ใช้ได้เฉพาะเมื่อ
ai_modelเป็นmeshy-6และtexture_resolutionเป็น2kหรือ4kเมื่อใช้meshy-7หรือlatestและที่8kค่านี้จะได้รับการยอมรับแต่จะถูกละเว้น เมื่อใช้meshy-6-liteการส่งค่านี้ไม่ว่าจะเป็นค่าใดก็ตามจะคืนค่า400
- Name
- target_formats
- Type
- string[]
- Description
ระบุรูปแบบไฟล์ 3D ที่จะรวมอยู่ในผลลัพธ์ จะสร้างและส่งคืนเฉพาะรูปแบบที่ร้องขอเท่านั้น ซึ่งสามารถลดเวลาในการทำงานให้เสร็จสิ้นได้ เมื่อไม่ระบุ จะรวมรูปแบบที่รองรับทั้งหมด
ค่าที่ใช้ได้:
glb,obj,fbx,stl,usdz,3mfเมื่อไม่ระบุ จะสร้างทุกรูปแบบยกเว้น
3mfโดย3mfจะรวมอยู่ด้วยก็ต่อเมื่อระบุไว้อย่างชัดเจนเท่านั้น
- Name
- alpha_thumbnail
- Type
- boolean
- ค่าเริ่มต้น false
- Description
เมื่อตั้งค่าเป็น
trueงานนี้จะเรนเดอร์ภาพพรีวิวเวอร์ชันพื้นหลังโปร่งใส (RGBA) เพิ่มเติม และส่งคืนเป็นalpha_thumbnail_urlในการตอบกลับ GET ฟิลด์thumbnail_urlที่มีอยู่เดิมจะไม่เปลี่ยนแปลง
ผลลัพธ์ที่ได้
พร็อพเพอร์ตี้ result ของการตอบกลับประกอบด้วย id ของงานของงาน Retexture ที่สร้างขึ้นใหม่
รูปแบบความล้มเหลว
- Name
400 - Bad Request- Description
คำขอไม่สามารถยอมรับได้ สาเหตุทั่วไป:
- ขาดพารามิเตอร์: ต้องระบุ
model_urlหรือinput_task_idอย่างใดอย่างหนึ่ง - ขาดสไตล์: ต้องระบุหนึ่งใน
text_style_prompt,image_style_urlหรือmultiview_image_urls - อินพุตสไตล์ขัดแย้งกัน:
multiview_image_urlsไม่สามารถใช้ร่วมกับtext_style_promptหรือimage_style_urlได้ - โมเดลไม่รองรับสำหรับมุมมองหลายด้าน:
multiview_image_urlsต้องระบุai_model: "meshy-7"อย่างชัดเจน - โมเดลยังไม่พร้อมใช้งาน:
ai_model: "meshy-7"และai_model: "meshy-6-lite"กำลังถูกทยอยเปิดให้ใช้งาน และอาจยังไม่เปิดใช้งานสำหรับบัญชีของคุณ - งานอินพุตไม่ถูกต้อง:
input_task_idต้องอ้างอิงถึงงานที่สำเร็จจากโมเดลที่รองรับ - รูปแบบโมเดลไม่ถูกต้อง:
model_urlชี้ไปยังไฟล์ที่มีนามสกุลที่ไม่รองรับ - ไม่สามารถเข้าถึง URL ได้: ไม่สามารถดาวน์โหลด
model_url,image_style_urlหรือองค์ประกอบในmultiview_image_urlsได้ - ไฟล์โมเดลมีขนาดใหญ่เกินไป: ไฟล์
model_urlมีขนาดเกิน 400 MB (URL แบบhttpหรือhttps) หรือ 100 MB (data:URI) - มีจำนวนหน้าเกิน: ไฟล์
model_urlมีขนาดเกิน 100 MB และมีมากกว่า 10,000,000 หน้า ลดจำนวนหน้าลง แล้วส่งไฟล์อีกครั้ง - ASCII FBX เกิน 100 MB: ไฟล์
model_urlเป็น ASCII FBX ที่มีขนาดเกิน 100 MB ให้ส่งเป็น binary FBX หรือ GLB แทน - ไม่สามารถอ่านไฟล์โมเดลได้: ไฟล์
model_urlมีขนาดเกิน 100 MB และไม่สามารถอ่านส่วนหัวได้ ตัวอย่างเช่น GLB หรือ glTF ที่บีบอัดแบบ Draco หรือ binary FBX ที่เก่ากว่าเวอร์ชัน 7.1 - ส่วนหัวของโมเดลซับซ้อนเกินไป: ไฟล์
model_urlมีขนาดเกิน 100 MB และส่วนหัวมีเมช, โหนด หรือเรคคอร์ดมากเกินกว่าจะตรวจสอบได้ ลดจำนวนวัตถุในไฟล์ลง แล้วส่งไฟล์อีกครั้ง - ภาพมีขนาดใหญ่เกินไป: ภาพ
image_style_urlหรือองค์ประกอบในmultiview_image_urlsมีขนาดเกิน 20 MB
- ขาดพารามิเตอร์: ต้องระบุ
- Name
401 - Unauthorized- Description
การยืนยันตัวตนล้มเหลว โปรดตรวจสอบ API คีย์ของคุณ
- Name
402 - Payment Required- Description
เครดิตไม่เพียงพอสำหรับการทำงานนี้
- Name
429 - Too Many Requests- Description
คุณได้เกินการจำกัดอัตราที่กำหนดไว้แล้ว
Request
# Retexture with text prompt
curl https://api.meshy.ai/openapi/v1/retexture \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://cdn.meshy.ai/model/example_model_2.glb",
"text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
"enable_original_uv": true,
"enable_pbr": true
}'
# Retexture with image style and PBR
curl https://api.meshy.ai/openapi/v1/retexture \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://cdn.meshy.ai/model/example_model_2.glb",
"image_style_url": "<your publicly accessible image url or base64-encoded data URI>",
"ai_model": "latest",
"enable_pbr": true,
"enable_original_uv": true
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
ดึงข้อมูลงาน Retexture
เอนด์พอยต์นี้ช่วยให้คุณสามารถดึงข้อมูลงานรีเท็กซ์เจอร์โดยใช้ id ของงานที่ถูกต้อง
โปรดดู The Retexture Task Object เพื่อดูว่า properties
ใดบ้างที่รวมอยู่ในอ็อบเจ็กต์งานรีเท็กซ์เจอร์
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานรีเท็กซ์เจอร์ที่ต้องการดึงข้อมูล
ค่าที่ส่งกลับ
การตอบกลับจะมีอ็อบเจ็กต์งานรีเท็กซ์เจอร์รวมอยู่ด้วย โปรดดูรายละเอียดได้ที่ ส่วน The Retexture Task Object
Request
curl https://api.meshy.ai/openapi/v1/retexture/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "retexture",
"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=***",
"mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
"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"
}
],
"task_error": {
"message": ""
},
"consumed_credits": 10
}
ลบงานรีเท็กซ์เจอร์
เอนด์พอยต์นี้จะลบงานรีเท็กซ์เจอร์อย่างถาวร รวมถึงโมเดลและข้อมูลทั้งหมดที่เกี่ยวข้อง การกระทำนี้ไม่สามารถย้อนกลับได้
Path Parameters
- Name
- id
- Type
- path
- Description
ID ของงานรีเท็กซ์เจอร์ที่ต้องการลบ
สถานะของงาน
งานที่ยังอยู่ในสถานะ PENDING จะถูกลบ และเครดิตที่ใช้ไปตอนสร้างงาน
จะได้รับการคืน
งานที่อยู่ในสถานะ IN_PROGRESS แล้วจะไม่สามารถลบได้ คำขอจะถูกปฏิเสธ
ด้วย 409 Conflict และงานจะยังคงทำงานต่อไป เครดิตสำหรับงานที่ worker
เริ่มดำเนินการไปแล้วนั้นไม่สามารถขอคืนได้ ดังนั้นการลบงานขณะที่กำลัง
ทำงานอยู่จะทำให้คุณเสียทั้งเครดิตและผลลัพธ์ไปพร้อมกัน ให้รอจนกว่างานจะ
เข้าสู่สถานะ SUCCEEDED, FAILED หรือ CANCELED แล้วจึงค่อยลบ
งานที่อยู่ในสถานะสุดท้าย (SUCCEEDED, FAILED หรือ CANCELED) จะถูกลบ
โดยไม่มีการคืนเครดิต
Returns
คืนค่า 200 OK เมื่อสำเร็จ หรือ 409 Conflict เมื่องานอยู่ในสถานะ
IN_PROGRESS
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/retexture/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-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."
}
List Retexture Tasks
เอนด์พอยต์นี้ช่วยให้คุณสามารถดึงรายการงานรีเท็กซ์เจอร์ได้
พารามิเตอร์
- Name
- page_num
- Type
- integer
- ค่าเริ่มต้น 1
- Description
หมายเลขหน้าสำหรับการแบ่งหน้า
- Name
- page_size
- Type
- integer
- ค่าเริ่มต้น 10
- Description
จำนวนรายการสูงสุดต่อหน้า สูงสุดที่อนุญาตคือ
100รายการ
- Name
- sort_by
- Type
- string
- Description
ฟิลด์ที่ใช้สำหรับเรียงลำดับ
ค่าที่ใช้ได้:
+created_at: เรียงตามเวลาที่สร้างจากน้อยไปมาก-created_at: เรียงตามเวลาที่สร้างจากมากไปน้อย
ค่าที่ส่งกลับ
ส่งกลับรายการแบบแบ่งหน้าของ The Retexture Task Objects
Request
curl https://api.meshy.ai/openapi/v1/retexture?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "retexture",
"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=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
"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"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 10
}
]
สตรีมงานรีเท็กซ์เจอร์
เอนด์พอยต์นี้สตรีมการอัปเดตแบบเรียลไทม์สำหรับงานรีเท็กซ์เจอร์โดยใช้ Server-Sent Events (SSE)
พารามิเตอร์
- Name
- id
- Type
- path
- Description
ตัวระบุเฉพาะสำหรับงานรีเท็กซ์เจอร์ที่ต้องการสตรีม
ส่งคืนค่า
ส่งคืนสตรีมของ The Retexture Task Objects ในรูปแบบ Server-Sent Events
สำหรับงานที่มีสถานะ PENDING หรือ IN_PROGRESS สตรีมการตอบกลับจะมีเฉพาะฟิลด์ progress และ status ที่จำเป็นเท่านั้น
Request
curl -N https://api.meshy.ai/openapi/v1/retexture/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",
"progress": 50,
"status": "IN_PROGRESS"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "retexture",
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"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=***",
"mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
},
"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"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 10
}
The Retexture Task Object
Retexture Task object คือหน่วยงานที่ Meshy ใช้ในการสร้างเท็กซ์เจอร์ 3D จากข้อมูลป้อนเข้าที่เป็นข้อความหรือรูปภาพ โมเดลนี้มีคุณสมบัติดังต่อไปนี้:
Properties
- Name
- id
- Type
- string
- Description
ตัวระบุเฉพาะสำหรับ task โดยเราใช้ k-sortable UUID สำหรับ task id เป็นรายละเอียดด้านการนำไปใช้งาน แต่คุณไม่ควรตั้งสมมติฐานใดๆ เกี่ยวกับรูปแบบของ id
- Name
- type
- Type
- string
- Description
ประเภทของ Retexture task ค่าของมันคือ
retexture
- 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
- text_style_prompt
- Type
- string
- Description
นี่คือ prompt ข้อความที่ใช้ในการสร้าง texturing task
- Name
- image_style_url
- Type
- string
- Description
นี่คือรูปภาพป้อนเข้าที่ใช้ในการสร้าง texturing task
- Name
- multiview_image_urls
- Type
- string[]
- Description
URL สำหรับดาวน์โหลดรูปภาพอ้างอิงมุมมองหลายด้านที่ใช้ในการสร้าง texturing task จะปรากฏเฉพาะเมื่อ task ถูกสร้างด้วย
multiview_image_urls
- Name
- thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดภาพย่อของไฟล์โมเดล
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL สำหรับดาวน์โหลดเวอร์ชันพื้นหลังโปร่งใส (RGBA) ของ
thumbnail_urlจะปรากฏเฉพาะเมื่อ task ถูกสร้างด้วยalpha_thumbnail: trueและภาพตัวอย่างแบบโปร่งใสถูกเรนเดอร์สำเร็จ มิฉะนั้นฟิลด์นี้จะถูกละเว้น
- 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-6-lite,meshy-7หรือlatest, หรือด้วยtexture_resolution: 8kคุณสมบัตินี้จะถูกละเว้น
- 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 Retexture Task Model
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "retexture",
"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=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
},
"text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
"image_style_url": "https://assets.meshy.ai/***/image/example_image.jpg?Expires=***",
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"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"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 10
}