Quickstart
Magsimula sa paggawa ng iyong API key
Kailangan ng bawat request sa gabay na ito nito. Ilang segundo lang ang gagawin ng paggawa ng key.
Gumawa ng iyong API keyGumawa ng iyong unang 3D model gamit ang Meshy REST API sa apat na hakbang, mula sa paggawa ng API key hanggang sa pag-download ng model.
Gumagamit ng AI coding assistant? Para ikonekta ang Claude Code, Cursor, Windsurf, o ibang MCP client sa Meshy, tingnan ang AI integration. Para sa chat agent na walang MCP support, gamitin ang llms.txt.
1Kunin ang iyong API key
Gumawa ng API key sa API Keys page ng Developer Platform. Hindi mo na makikita ulit ang key pagkatapos mong umalis sa screen na iyon, kaya itago ito sa ligtas na lugar. Ipadala ito sa bawat request bilang Bearer token sa Authorization header. Tingnan ang Authentication.
Kailangan mo ng paid plan para makagawa at makapamahala ng mga API key. Sa Free plan, hindi ka makakagawa ng sarili mong key, at gumagamit ang Playground ng built-in key para sa testing.

Panatilihing wala ang key sa iyong mga script. Sa halip, itago ito sa isang environment variable, gaya ng ipinapakita sa susunod na hakbang.
2Gumawa ng Image to 3D task
Magpadala ng imahe sa Image to 3D. Para magsimula sa pamamagitan ng text prompt o maraming larawan sa halip, gamitin ang Text to 3D o Multi-Image to 3D.
Una, itago ang iyong key sa isang environment variable:
Export your key
export MESHY_API_KEY="<your-api-key>"
Patakbuhin ito sa iyong terminal (Terminal sa macOS, Command Prompt o PowerShell sa Windows), hindi sa isang browser.
Ginagamit ng mga sumusunod na halimbawa ang litrato na ito. Para subukan ang ibang imahe, baguhin ang 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"
}'
3Suriin ang status ng task
Tumatakbo ang task sa background at karaniwang tumatagal ng ilang minuto. Kunin ang task mula sa parehong endpoint hanggang ang status ay SUCCEEDED, FAILED, o CANCELED. Sa sumusunod na request, palitan ang <task_id> ng ID na ibinalik ng hakbang 2. Sa pagitan ng mga request, hintayin ang bilang ng segundong nakasaad sa Retry-After header.
Para sa karaniwang oras ng pagproseso, at kung gaano katagal bago sumuko, tingnan ang Task lifecycle.
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
}
Kung nabigo ang task, ang status ay FAILED, at sinasabi ng task_error kung bakit. Ayusin ang input o gumawa ng isa pang task. Tingnan ang Errors.
Para makatanggap ng abiso kapag natapos na ang task sa halip na mag-polling, i-stream ang task o gumamit ng webhook.
4I-download ang iyong model
Nasa model_urls ng naunang response ang mga file. Bawat format (GLB, FBX, OBJ, USDZ, at STL) ay may signed URL na gumagana sa loob ng limitadong oras. Puwede mo rin i-paste ang URL sa iyong browser para i-download ang file.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

Sa bawat plano maliban sa Enterprise, pinananatili ng Meshy ang mga file sa loob ng 3 araw. I-download ang mga file na kailangan mo bago sumapit ang panahong iyon. Tingnan ang Asset retention.
Pagsama-samahin ang lahat
Gumagawa ang script na ito ng task, naghihintay hanggang matapos ito, at nagdo-download ng model.
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');
Galugarin ang mga karaniwang workflow
Handa-sa-laro na karakter
I-rig ang isang humanoid mesh gamit ang isang skeleton para ito ay maging handa nang mag-animate sa Unity o Unreal.
Learn more →Smart Topology mesh
Itakda ang model_type sa smart-topology sa Image to 3D para sa malinis, handa-sa-laro na triangle mesh.
3D print model
I-convert ang isang tapos na model sa isang multi-color na 3MF file, handa nang i-slice at i-print.
Learn more →Mga susunod na hakbang
- Mag-browse ng bawat endpoint sa API reference.
- Bago ka pumunta sa production, tingnan ang Pricing, Rate limits, at Errors.
- Sundan ang mga hakbang-hakbang na recipe sa Cookbook.