ข้อผิดพลาด
ในคู่มือนี้ เราจะพูดถึงสิ่งที่เกิดขึ้นเมื่อมีบางอย่างผิดพลาดขณะที่คุณ ทำงานกับ Meshy API
ข้อผิดพลาดของคำขอ
ข้อผิดพลาดเหล่านี้จะถูกส่งกลับทันทีเมื่อคำขอ API ของคุณถูกปฏิเสธ ตรวจสอบรหัสสถานะ HTTP และฟิลด์ message เพื่อทำความเข้าใจว่าเกิดอะไรผิดพลาด
รูปแบบการตอบกลับ
การตอบกลับข้อผิดพลาดมีฟิลด์ message เพียงฟิลด์เดียวที่อธิบายว่าเกิดอะไรผิดพลาด:
- Name
- message
- Type
- string
- Description
คำอธิบายสั้น ๆ ของข้อผิดพลาด
รหัสสถานะ
- Name
2xx- Description
รหัสสถานะ 2xx บ่งชี้ว่าการตอบกลับสำเร็จ
- Name
200 - OK- Description
โดยค่าเริ่มต้น หากทุกอย่างทำงานตามที่คาดไว้ จะส่งกลับรหัสสถานะ 200
- Name
202 - Accepted- Description
คำขอของคุณได้รับการยอมรับเพื่อประมวลผลแล้ว แต่การประมวลผลยังไม่เสร็จสมบูรณ์ นี่เป็นการตอบกลับแบบไม่ยืนยันผลลัพธ์จาก Meshy API ตัวอย่างเช่น คำขอเพื่อสร้าง งานใหม่จะส่งกลับรหัสสถานะ 202
- Name
4xx- Description
รหัสสถานะ 4xx บ่งชี้ว่าเป็นข้อผิดพลาดฝั่งไคลเอนต์
- Name
400 - Bad Request- Description
คำขอไม่สามารถยอมรับได้ ซึ่งมักเกิดจากการขาดพารามิเตอร์ที่บังคับ หรือหนึ่งใน พารามิเตอร์มีรูปแบบไม่ถูกต้อง
- Name
401 - Unauthorized- Description
ไม่มี API คีย์ที่ถูกต้องให้มา หรือ API คีย์ที่ให้มาไม่ได้รับอนุญาตให้เข้าถึงเอนด์พอยต์ Meshy API
- Name
402 - Payment Required- Description
เงินในบัญชีที่เชื่อมโยงกับ API คีย์ที่ให้มาไม่เพียงพอ
- Name
403 - Forbidden- Description
การเข้าถึงทรัพยากรที่ร้องขอถูกห้ามไว้ สิ่งนี้อาจเกิดขึ้นหากคุณพยายามเข้าถึง Meshy API โดยตรงจากโค้ด JavaScript ฝั่งไคลเอนต์ เนื่องจากไม่อนุญาตคำขอ Cross-Origin Resource Sharing (CORS) จากเบราว์เซอร์ โปรดพิจารณาใช้พร็อกซีฝั่งเซิร์ฟเวอร์สำหรับคำขอดังกล่าว สำหรับรายละเอียดเพิ่มเติม โปรดดู คู่มือ MDN CORS
- Name
404 - Not Found- Description
ทรัพยากรที่ร้องขอไม่มีอยู่ ตัวอย่างเช่น เมื่อคุณพยายามดึงข้อมูลงานด้วย ID ของงาน แต่ให้ ID ที่ไม่ถูกต้อง คุณจะได้รับรหัสสถานะ 404
- Name
429 - Too Many Requests- Description
มีคำขอจำนวนมากเกินไปส่งถึง Meshy API เร็วเกินไป โปรดดูคู่มือ ขีดจำกัดอัตรา สำหรับรายละเอียด
Example: 400 Bad Request
{
"message": "Invalid model file extension: .3dm"
}
ข้อผิดพลาดของงาน
ข้อผิดพลาดเหล่านี้เกิดขึ้นหลังจากสร้างงานแล้วและกำลังประมวลผลอยู่ ตรวจสอบออบเจ็กต์ task_error ในการตอบกลับของงานเพื่อดูรายละเอียดข้อผิดพลาด
ออบเจ็กต์ task_error มีฟิลด์ต่อไปนี้:
- Name
- type
- Type
- string
- Description
หมวดหมู่ข้อผิดพลาด ปรากฏเสมอในงานที่ล้มเหลว ดูประเภทข้อผิดพลาดด้านล่าง
- Name
- message
- Type
- string
- Description
คำอธิบายข้อผิดพลาดที่มนุษย์อ่านเข้าใจได้ ปรากฏเสมอในงานที่ล้มเหลว
- Name
- code
- Type
- string
- ไม่บังคับ
- Description
รหัสข้อผิดพลาดเฉพาะที่ระบุปัญหา ปรากฏเมื่อมีรายละเอียดเพิ่มเติม ดูรหัสข้อผิดพลาดด้านล่าง
- Name
- doc_url
- Type
- string
- ไม่บังคับ
- Description
ลิงก์ไปยังเอกสารประกอบโดยละเอียดสำหรับรหัสข้อผิดพลาดนี้ รวมถึงคำแนะนำในการแก้ไข ปรากฏเมื่อมี
code
Error with details
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "invalid_input",
"code": "image_too_complex",
"message": "The uploaded image is too complex for 3D generation.",
"doc_url": "https://docs.meshy.ai/en/api/errors#image-too-complex"
}
}
Error without details
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "FAILED",
"task_error": {
"type": "server_error",
"message": "An internal error occurred. Please retry."
}
}
ประเภทข้อผิดพลาด
ฟิลด์ type จะบอกหมวดหมู่กว้าง ๆ ของความล้มเหลว ใช้ฟิลด์นี้เพื่อตัดสินใจกลยุทธ์การลองใหม่ของคุณ
- Name
invalid_input- Description
มีบางอย่างผิดปกติกับอินพุตที่คุณระบุ ตรวจสอบฟิลด์
codeและmessageเพื่อดูรายละเอียด แก้ไขปัญหา แล้วลองอีกครั้ง
- Name
timeout- Description
การประมวลผลใช้เวลาเกินขีดจำกัดเวลา ซึ่งมักเป็นปัญหาชั่วคราว ลองส่งคำขออีกครั้ง และหากยังล้มเหลวอยู่ ให้ลองทำให้อินพุตของคุณง่ายขึ้น
- Name
service_unavailable- Description
บริการไม่พร้อมใช้งานชั่วคราว รอสักครู่แล้วลองอีกครั้ง
- Name
server_error- Description
เกิดข้อผิดพลาดภายในระหว่างการประมวลผล ลองส่งคำขออีกครั้ง หากปัญหายังคงอยู่ โปรดติดต่อฝ่ายสนับสนุนพร้อม ID งานของคุณ
รหัสข้อผิดพลาด
เมื่อมีฟิลด์ code อยู่ ฟิลด์นี้จะระบุปัญหาเฉพาะที่สามารถดำเนินการแก้ไขได้ ด้านล่างคือข้อมูลอ้างอิงฉบับเต็มสำหรับรหัสข้อผิดพลาดแต่ละรายการ.
image_too_complex
ข้อผิดพลาดนี้เกิดขึ้นเมื่อภาพอินพุตหรือ prompt อธิบายวัตถุที่ซับซ้อนทางเรขาคณิตมากเกินกว่าที่โมเดลการสร้าง 3D จะประมวลผลได้
ตัวอย่างที่พบบ่อย ได้แก่:
- กองวัตถุขนาดเล็กที่หนาแน่น (เช่น ลังที่เต็มไปด้วยผลไม้, กองหนังสือ)
- ลวดลายซ้ำที่ซับซ้อน (เช่น โครงสร้างตาข่าย, นั่งร้าน, ตะแกรงลวด)
- โครงสร้างอาคารที่ซับซ้อน (เช่น อาคารหลายชั้นที่มีหน้าต่างและระเบียงจำนวนมาก)
- วัตถุที่แยกจากกันหลายชิ้นในภาพเดียว แทนที่จะเป็นวัตถุหลักเพียงชิ้นเดียว
ตัวอย่างของอินพุตที่มีแนวโน้มว่าจะซับซ้อนเกินไป:




วิธีแก้ไข:
- ใช้วัตถุเพียงชิ้นเดียวต่อภาพ โมเดลทำงานได้ดีที่สุดกับวัตถุหลักหนึ่งชิ้นที่ชัดเจน อย่าใส่วัตถุที่แยกจากกันหลายชิ้นในภาพหรือ prompt เดียวกัน
- ทำให้วัตถุของคุณเรียบง่ายขึ้น ลดระดับรายละเอียดลง ตัวอย่างเช่น แจกันเรียบง่ายแทนแจกันที่เต็มไปด้วยดอกไม้หลายสิบดอก
- หลีกเลี่ยง prompt ระดับซีน อาคารทั้งหลัง, บล็อกเมือง, ภายในที่เต็มไปด้วยเฟอร์นิเจอร์ หรือภูมิทัศน์มีแนวโน้มที่จะเกินขีดความสามารถของโมเดล ให้โฟกัสที่วัตถุชิ้นเดียวแทน
- หลีกเลี่ยงโครงสร้างซ้ำที่หนาแน่น วัตถุอย่างนั่งร้าน, ตะแกรงลวด, ลวดลายตาข่าย หรือกองสิ่งของขนาดเล็กจำนวนมาก เป็นตัวกระตุ้นที่พบบ่อย
model_missing_uv
ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณอัปโหลดโมเดลเพื่อทำเท็กซ์เจอร์โดยตั้งค่า enable_original_uv เป็น true แต่โมเดลไม่มีพิกัด UV พิกัด UV กำหนดว่าเท็กซ์เจอร์ 2D จะห่อหุ้มลงบนพื้นผิว 3D ของโมเดลของคุณอย่างไร

วิธีแก้ไข:
วิธีแก้ไขที่เหมาะสมขึ้นอยู่กับเหตุผลที่คุณตั้งค่า enable_original_uv เป็น true:
- หากคุณต้องการรักษาเลย์เอาต์ UV ดั้งเดิมของโมเดลไว้ (เช่น การวางตำแหน่งรอยต่อแบบกำหนดเองเพื่อการแมปเท็กซ์เจอร์ที่แม่นยำ): โมเดลของคุณต้องมีพิกัด UV ที่ถูกต้อง ตรวจสอบว่ามี UV อยู่ในเอดิเตอร์ UV ของซอฟต์แวร์ 3D ของคุณก่อนอัปโหลด โปรดทราบว่าไฟล์ STL ไม่สามารถจัดเก็บข้อมูล UV ได้ ดังนั้นให้ใช้ GLB, FBX หรือ OBJ แทน
- หากคุณไม่ต้องการการควบคุม UV แบบเฉพาะเจาะจง (หรือคุณไม่แน่ใจ): ให้ละเว้น
enable_original_uvหรือตั้งค่าเป็นfalseระบบจะสร้างเลย์เอาต์ UV สำหรับโมเดลของคุณโดยอัตโนมัติ UV ที่สร้างโดยอัตโนมัติจะถูกปรับให้เหมาะสมสำหรับการครอบคลุม แต่คุณจะไม่สามารถควบคุมตำแหน่งที่วางรอยต่อเท็กซ์เจอร์ได้
model_insufficient_uv
ข้อผิดพลาดนี้เกิดขึ้นเมื่อโมเดลมีพิกัด UV แต่การครอบคลุมของ UV มีขนาดเล็กเกินไปสำหรับการทำเท็กซ์เจอร์คุณภาพดี ซึ่งมักเกิดกับโมเดลที่ส่งออกจากเครื่องมือ 3D ที่สร้าง UV แบบตัวแทนหรือ UV ที่ถูกยุบรวม โดยไม่มีการคลี่ UV อย่างเหมาะสม

วิธีแก้ไข:
- หากคุณต้องการคงเลย์เอาต์ UV เดิมไว้: คลี่ UV ของโมเดลใหม่ในซอฟต์แวร์ 3D ของคุณ ตรวจสอบให้แน่ใจว่าเกาะ UV ถูกกระจายอย่างเหมาะสมทั่วพื้นที่ UV แทนที่จะถูกยุบรวมไว้ในพื้นที่ขนาดเล็ก
- หากคุณไม่ต้องการการควบคุม UV แบบเฉพาะ: ละเว้น
enable_original_uvหรือตั้งค่าเป็นfalseระบบจะสร้างเลย์เอาต์ UV ใหม่โดยอัตโนมัติ ข้อแลกเปลี่ยนคือคุณจะสูญเสียตำแหน่งรอยต่อเดิม แต่ UV ที่สร้างโดยอัตโนมัติจะมีการครอบคลุมที่เหมาะสมสำหรับการทำเท็กซ์เจอร์
invalid_input
นี่คือรหัสข้อผิดพลาดสำรองเมื่ออินพุตไม่ผ่านการตรวจสอบความถูกต้อง แต่ไม่มีรหัสที่เฉพาะเจาะจงกว่านี้ที่ใช้ได้ ฟิลด์ message มีเหตุผลเฉพาะของความล้มเหลว
สาเหตุที่พบบ่อยได้แก่:
- ไฟล์โมเดลว่างเปล่าหรือเสียหาย
- รูปแบบไฟล์ที่ไม่รองรับบางรูปแบบ (เช่น ไฟล์ ASCII FBX, GLB ที่บีบอัดด้วย meshopt)
- ไม่พบอ็อบเจ็กต์ 3D ที่ถูกต้องในโมเดลที่อัปโหลด (เช่น ไฟล์มีเฉพาะ armatures, กล้อง หรือไฟ)
- เนื้อหาที่ไม่ผ่านตัวกรองความปลอดภัย
การแก้ไข: ตรวจสอบฟิลด์ message เพื่อดูรายละเอียดเฉพาะว่าเกิดข้อผิดพลาดใดขึ้น ตรวจสอบว่าไฟล์อินพุตและพารามิเตอร์ของคุณตรงกับข้อกำหนดของเอนด์พอยต์
moderation_blocked
ข้อผิดพลาดนี้เกิดขึ้นเมื่อ prompt หรือรูปภาพอ้างอิงของคุณถูกปฏิเสธโดยตัวกรองความปลอดภัยของ AI ตัวกรองจะประเมินทั้ง prompt แบบข้อความและรูปภาพอ้างอิงใด ๆ ร่วมกัน
วิธีแก้ไข:
- เรียบเรียง prompt แบบข้อความของคุณใหม่เพื่อลบคำบรรยายที่ชี้นำทางเพศหรือมีความละเอียดอ่อน
- ปรับรูปภาพอ้างอิงหากรูปภาพเหล่านั้นแสดงเนื้อหาที่อาจกระตุ้นตัวกรองความปลอดภัย
timeout
ข้อผิดพลาดนี้หมายความว่าเวลาประมวลผลของงานของคุณเกินขีดจำกัดที่อนุญาตไว้ กรณีนี้อาจเกิดขึ้นเนื่องจากโหลดของระบบสูง หรือเนื่องจากอินพุตซับซ้อนเกินกว่าจะประมวลผลภายในเวลาที่กำหนด
วิธีแก้ไข:
- ลองส่งคำขออีกครั้ง timeout มักเกิดขึ้นชั่วคราว และการลองใหม่อาจสำเร็จ
- ทำให้อินพุตของคุณเรียบง่ายขึ้น หากลองใหม่แล้วยังล้มเหลวอยู่ อินพุตของคุณอาจซับซ้อนเกินไป ลองลดระดับรายละเอียดในรูปภาพหรือ prompt ของคุณ ดู
image_too_complexสำหรับคำแนะนำว่าอินพุตประเภทใดประมวลผลได้ยากกว่า
format_conversion_failed
ข้อผิดพลาดนี้เกิดขึ้นเมื่อโมเดล 3D ที่สร้างขึ้นไม่สามารถแปลงเป็นรูปแบบเอาต์พุตที่คุณร้องขอได้ โมเดลถูกสร้างสำเร็จแล้ว แต่ขั้นตอนการแปลงล้มเหลว
วิธีแก้ไข:
- ลองส่งคำขออีกครั้ง
- ลองใช้รูปแบบเอาต์พุตอื่น หากรูปแบบใดรูปแบบหนึ่งยังคงล้มเหลว ให้เปลี่ยนไปใช้รูปแบบอื่นที่เหมาะกับความต้องการของคุณ
แนวทางปฏิบัติที่ดีที่สุด
- ใช้ตรรกะการลองใหม่. สำหรับข้อผิดพลาด
timeoutและservice_unavailableให้ใช้ตรรกะการลองใหม่แบบ exponential backoff - บันทึก ID งาน. บันทึก ID งานไว้เสมอเพื่อวัตถุประสงค์ในการดีบัก รวมไว้ด้วยเมื่อติดต่อฝ่ายสนับสนุน
- ตรวจสอบอินพุต. ตรวจสอบให้แน่ใจว่ารูปภาพและโมเดลอินพุตของคุณเป็นไปตามข้อกำหนดรูปแบบก่อนส่ง