ข้อผิดพลาด
ในคู่มือนี้ เราจะพูดถึงสิ่งที่เกิดขึ้นเมื่อมีบางอย่างผิดพลาดขณะที่คุณทำงานกับ 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 guide
- Name
404 - Not Found- Description
ทรัพยากรที่ร้องขอไม่มีอยู่ ตัวอย่างเช่น เมื่อคุณพยายามดึงงานโดยใช้ ID แต่ให้ ID ที่ไม่ถูกต้อง คุณจะได้รับรหัสสถานะ 404
- Name
429 - Too Many Requests- Description
มีคำขอมากเกินไปที่ส่งไปยัง Meshy API อย่างรวดเร็วเกินไป โปรดดูที่ Rate Limits guide สำหรับรายละเอียด
- Name
5xx- Description
รหัสสถานะ 5xx บ่งชี้ว่ามีข้อผิดพลาดจากฝั่งเซิร์ฟเวอร์ หากคุณเห็นข้อผิดพลาดนี้ โปรดตรวจสอบ status page ของเราเพื่อข้อมูลเพิ่มเติมและติดต่อเราผ่าน Discord เพื่อขอความช่วยเหลือ
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 ของโมเดลใหม่ในซอฟต์แวร์ 3D ของคุณ ตรวจสอบให้แน่ใจว่าเกาะ UV ถูกกระจายอย่างเหมาะสมในพื้นที่ UV แทนที่จะยุบลงในพื้นที่เล็กๆ
- หากคุณไม่ต้องการควบคุม UV โดยเฉพาะ: ละเว้น
enable_original_uvหรือกำหนดค่าให้เป็นfalseระบบจะสร้างเลย์เอาต์ UV ใหม่โดยอัตโนมัติ การแลกเปลี่ยนคือคุณจะสูญเสียการวางตำแหน่งตะเข็บดั้งเดิมของคุณ แต่ UV ที่สร้างขึ้นอัตโนมัติจะมีการครอบคลุมที่เหมาะสมสำหรับการทำเท็กซ์เจอร์
invalid_input
นี่คือรหัสข้อผิดพลาดสำรองเมื่อการตรวจสอบความถูกต้องของอินพุตล้มเหลวแต่ไม่มีรหัสที่เฉพาะเจาะจงมากกว่านี้ ฟิลด์ message จะมีเหตุผลเฉพาะสำหรับความล้มเหลวนี้
สาเหตุทั่วไปได้แก่:
- ไฟล์โมเดลที่ว่างเปล่าหรือเสียหาย
- รูปแบบไฟล์ที่ไม่รองรับ (เช่น ไฟล์ ASCII FBX, GLB ที่ถูกบีบอัดด้วย meshopt)
- ไม่พบวัตถุ 3D ที่ถูกต้องในโมเดลที่อัปโหลด (เช่น ไฟล์มีเพียงโครงกระดูก, กล้อง, หรือไฟ)
- เนื้อหาที่ไม่ผ่านการกรองความปลอดภัย
วิธีแก้ไข: ตรวจสอบฟิลด์ message เพื่อดูรายละเอียดเกี่ยวกับสิ่งที่ผิดพลาด ตรวจสอบให้แน่ใจว่าไฟล์อินพุตและพารามิเตอร์ของคุณตรงตามข้อกำหนดของเอนด์พอยต์
moderation_blocked
ข้อผิดพลาดนี้เกิดขึ้นเมื่อ prompt หรือภาพอ้างอิงของคุณถูกปฏิเสธโดยตัวกรองความปลอดภัยของ AI ตัวกรองจะประเมินทั้งข้อความ prompt และภาพอ้างอิงร่วมกัน
วิธีแก้ไข:
- ปรับเปลี่ยนข้อความ prompt ของคุณเพื่อลบคำอธิบายที่ส่อเสียดหรืออ่อนไหว
- ปรับภาพอ้างอิงหากมีเนื้อหาที่อาจกระตุ้นตัวกรองความปลอดภัย
timeout
ข้อผิดพลาดนี้หมายความว่าเวลาประมวลผลงานของคุณเกินขีดจำกัดที่อนุญาต อาจเกิดขึ้นเนื่องจากระบบมีภาระงานสูงหรือเพราะข้อมูลที่ป้อนซับซ้อนเกินกว่าจะประมวลผลภายในเวลาที่กำหนด
วิธีแก้ไข:
- ลองส่งคำขออีกครั้ง ข้อผิดพลาด timeout มักเป็นเพียงชั่วคราวและการลองใหม่อาจสำเร็จ
- ทำให้ข้อมูลของคุณง่ายขึ้น หากการลองใหม่ยังคงล้มเหลว ข้อมูลของคุณอาจซับซ้อนเกินไป ลองลดระดับรายละเอียดในภาพหรือ prompt ของคุณ ดู
image_too_complexสำหรับคำแนะนำเกี่ยวกับประเภทของข้อมูลที่ยากต่อการประมวลผล
format_conversion_failed
ข้อผิดพลาดนี้เกิดขึ้นเมื่อโมเดล 3D ที่สร้างขึ้นไม่สามารถแปลงเป็นรูปแบบเอาต์พุตที่คุณร้องขอได้ โมเดลถูกสร้างขึ้นสำเร็จแล้ว แต่ขั้นตอนการแปลงล้มเหลว
การแก้ไข:
- ลองส่งคำขออีกครั้ง.
- ลองใช้รูปแบบเอาต์พุตอื่น. หากรูปแบบเฉพาะล้มเหลวซ้ำ ๆ ให้เปลี่ยนไปใช้รูปแบบอื่นที่เหมาะสมกับความต้องการของคุณ
แนวทางปฏิบัติที่ดีที่สุด
- ใช้ตรรกะการลองใหม่. สำหรับข้อผิดพลาด
timeoutและservice_unavailableให้ใช้ตรรกะการลองใหม่แบบถอยหลังแบบทวีคูณ - บันทึก ID งาน. บันทึก ID งานเสมอเพื่อวัตถุประสงค์ในการดีบัก รวมถึงเมื่อคุณติดต่อฝ่ายสนับสนุน
- ตรวจสอบความถูกต้องของข้อมูลนำเข้า. ตรวจสอบให้แน่ใจว่าภาพและโมเดลนำเข้าของคุณตรงตามข้อกำหนดของรูปแบบก่อนการส่ง