เริ่มต้นอย่างรวดเร็ว
เริ่มต้นด้วยการสร้าง API คีย์ของคุณ
ทุกคำขอในคู่มือนี้ต้องใช้ API คีย์ การสร้างคีย์ใช้เวลาเพียงไม่กี่วินาที
สร้าง API คีย์ของคุณสร้างโมเดล 3D ชิ้นแรกของคุณด้วย Meshy REST API ใน 4 ขั้นตอน ตั้งแต่การสร้าง API คีย์ไปจนถึงการดาวน์โหลดโมเดล
ใช้ผู้ช่วยเขียนโค้ด AI อยู่ใช่ไหม? หากต้องการเชื่อมต่อ Claude Code, Cursor, Windsurf หรือไคลเอนต์ MCP อื่น ๆ เข้ากับ Meshy ให้ดูที่ การเชื่อมต่อ AI สำหรับแชทเอเจนต์ที่ไม่รองรับ MCP ให้ใช้ llms.txt
1รับ API คีย์ของคุณ
สร้าง API คีย์ บนหน้า API Keys ของ Developer Platform คุณจะไม่สามารถดูคีย์นี้ได้อีกหลังจากออกจากหน้าจอนั้น ดังนั้นควรเก็บไว้ในที่ปลอดภัย ส่งคีย์นี้ในทุกคำขอในรูปแบบโทเคน Bearer ในส่วนหัว Authorization ดูที่ การยืนยันตัวตน
คุณต้องมีแพ็กเกจแบบชำระเงินเพื่อสร้างและจัดการ API คีย์ สำหรับแพ็กเกจ Free คุณจะไม่สามารถสร้างคีย์ของตัวเองได้ และ Playground จะใช้คีย์ที่มีมาในตัวสำหรับการทดสอบ

อย่าเก็บคีย์ไว้ในสคริปต์ของคุณ ให้เก็บไว้ในตัวแปรสภาพแวดล้อมแทน ดังที่แสดงในขั้นตอนถัดไป
2สร้างงานรูปภาพเป็น 3D
ส่งรูปภาพไปยัง รูปภาพเป็น 3D หากต้องการเริ่มจาก prompt ข้อความหรือรูปภาพหลายรูปแทน ให้ใช้ ข้อความเป็น 3D หรือ หลายรูปเป็น 3D
ก่อนอื่น เก็บคีย์ของคุณไว้ในตัวแปรสภาพแวดล้อม:
Export your key
export MESHY_API_KEY="<your-api-key>"
รันคำสั่งนี้ในเทอร์มินัลของคุณ (Terminal บน macOS, Command Prompt หรือ PowerShell บน Windows) ไม่ใช่ในเบราว์เซอร์
ตัวอย่างต่อไปนี้ทั้งหมดใช้ภาพนี้ หากต้องการลองภาพอื่น ให้เปลี่ยน image_url

Request
curl https://api.meshy.ai/openapi/v1/image-to-3d \
-X POST \
-H "Authorization: Bearer ${MESHY_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://docs.meshy.ai/images/api/quick-start/source-photo.webp"
}'
3ตรวจสอบสถานะงาน
งานจะทำงานอยู่เบื้องหลังและมักใช้เวลาไม่กี่นาที ดึงข้อมูลงานจากเอนด์พอยต์เดิมจนกว่า status จะเป็น SUCCEEDED, FAILED, หรือ CANCELED ในคำขอต่อไปนี้ ให้แทนที่ <task_id> ด้วย ID ที่ได้จากขั้นตอนที่ 2 ระหว่างแต่ละคำขอ ให้รอตามจำนวนวินาทีที่ระบุไว้ในส่วนหัว Retry-After
สำหรับเวลาในการประมวลผลโดยทั่วไป และควรรอนานแค่ไหนก่อนจะยกเลิก ดูที่ วงจรชีวิตของงาน
Request
curl https://api.meshy.ai/openapi/v1/image-to-3d/<task_id> \
-H "Authorization: Bearer ${MESHY_API_KEY}"
Response: SUCCEEDED
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"status": "SUCCEEDED",
"progress": 100,
"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=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"task_error": null
}
หากงานล้มเหลว status จะเป็น FAILED และ task_error จะบอกสาเหตุ ให้แก้ไขอินพุตหรือสร้างงานใหม่ ดูที่ ข้อผิดพลาด
4ดาวน์โหลดโมเดลของคุณ
ไฟล์ต่าง ๆ จะอยู่ใน model_urls ของการตอบกลับก่อนหน้านี้ แต่ละฟอร์แมต (GLB, FBX, OBJ, USDZ และ STL) จะมี URL ที่ลงนามแล้วซึ่งใช้งานได้ในระยะเวลาจำกัด คุณสามารถวาง URL ลงในเบราว์เซอร์เพื่อดาวน์โหลดไฟล์ได้เช่นกัน
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

ในทุกแพ็กเกจยกเว้น Enterprise, Meshy จะเก็บไฟล์ไว้ 3 วัน ดาวน์โหลดไฟล์ที่คุณต้องการก่อนหมดเวลา ดูที่ การเก็บรักษาแอสเซ็ต
นำทุกอย่างมารวมกัน
สคริปต์นี้จะสร้างงาน รอจนกว่าจะเสร็จสิ้น และดาวน์โหลดโมเดล
Full script
import axios from 'axios';
import fs from 'fs';
const headers = { Authorization: `Bearer ${process.env.MESHY_API_KEY}` };
const imageUrl = 'https://docs.meshy.ai/images/api/quick-start/source-photo.webp';
// 1. Create the task
const { data: created } = await axios.post(
'https://api.meshy.ai/openapi/v1/image-to-3d',
{ image_url: imageUrl },
{ headers, timeout: 60_000 },
);
const taskId = created.result;
// 2. Poll until it finishes, for up to 60 minutes
const deadline = Date.now() + 60 * 60 * 1000;
let task;
while (true) {
const { data, headers: resHeaders } = await axios.get(
`https://api.meshy.ai/openapi/v1/image-to-3d/${taskId}`,
{ headers, timeout: 30_000 },
);
task = data;
if (['SUCCEEDED', 'FAILED', 'CANCELED'].includes(task.status)) break;
if (Date.now() > deadline) {
// The task is still running. Check it again later with the same task ID instead of creating a new one.
throw new Error(`Task ${taskId} is still ${task.status}; check it again later`);
}
const waitSeconds = Number(resHeaders['retry-after']) || 5;
await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000));
}
// 3. Download the result (only if the task succeeded)
if (task.status !== 'SUCCEEDED') {
throw new Error(`Task ${task.status}: ${task.task_error?.message || 'unknown error'}`);
}
const { data: model } = await axios.get(task.model_urls.glb, { responseType: 'arraybuffer' });
fs.writeFileSync('model.glb', model);
console.log('Saved model.glb');
สำรวจเวิร์กโฟลว์ทั่วไป
ตัวละครพร้อมใช้งานในเกม
rig เมชมนุษย์ด้วยโครงกระดูกเพื่อให้พร้อมสำหรับการทำแอนิเมชันใน Unity หรือ Unreal
Learn more →เมช Smart Topology
ตั้งค่า model_type เป็น smart-topology บนรูปภาพเป็น 3D เพื่อให้ได้เมชรูปสามเหลี่ยมที่สะอาดและพร้อมใช้งานในเกม
โมเดลสำหรับพิมพ์ 3D
แปลงโมเดลที่เสร็จสมบูรณ์เป็นไฟล์ 3MF หลายสี พร้อมสำหรับการแบ่งชั้นและพิมพ์
Learn more →ขั้นตอนถัดไป
- สำรวจเอนด์พอยต์ทั้งหมดใน เอกสารอ้างอิง API
- ก่อนนำไปใช้งานจริง ให้ตรวจสอบ ราคา, ขีดจำกัดอัตราการใช้งาน และ ข้อผิดพลาด
- ติดตามสูตรแบบทีละขั้นตอนใน Cookbook