Quickstart
Start by creating your API key
Kailangan ito ng bawat kahilingan sa gabay na ito. Ilang segundo lang ang paggawa ng key.
Lumikha ng iyong API keyApat na hakbang patungo sa iyong unang 3D model, gamit ang Meshy REST API.
Gumagamit ng AI coding assistant? Tingnan ang aming pahina ng AI Integration — i-install ang Meshy MCP server para sa tool-calling access mula sa Claude Code, Cursor, Windsurf, at iba pang MCP-compatible na tools, o itudo ang isang plain chat agent sa llms.txt.
1Kunin ang iyong API key
Gumawa ng API key mula sa API Keys na pahina sa Developer Platform — hindi mo na ito makikita muli matapos ang screen na ito, kaya itago ito sa ligtas na lugar. Bawat request ay nag-a-authenticate gamit ang isang Bearer token sa Authorization header — tingnan ang Authentication.
Ang paggawa at pamamahala ng mga API key ay nangangailangan ng bayad na plano. Ang mga libreng account ay may dedikado, built-in na key para sa pagsubok sa Playground, ngunit hindi makakagawa o makakapamahala ng kanilang sariling mga key.

Tip sa seguridad: iwasang i-paste ang iyong key nang direkta sa mga script — sa halip, itago ito bilang isang environment variable: export MESHY_API_KEY="msy_...".
2Gawin ang iyong unang Image-to-3D request
I-export ang iyong key, pagkatapos ay gawin ang iyong unang task gamit ang Image to 3D. Gumagawa ka ba mula sa isang text prompt o maraming litrato sa halip? Tingnan ang Text to 3D o Multi-Image to 3D.
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.
Ang bawat halimbawa sa ibaba ay gumagamit ng litratong ito — palitan ng sarili mong image_url kung gusto mong subukan ang iba.

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. I-poll ang parehong endpoint hanggang ang status ay maging SUCCEEDED, FAILED o CANCELED, palitan ang <task_id> sa ibaba ng ID na ibinalik sa step 2. Para sa karaniwang tagal at kung gaano katagal maghihintay, 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": {
"message": ""
}
}
Hindi bagay sa iyo ang pag-poll? Gumamit ng SSE streaming o isang webhook para maabisuhan sa eksaktong sandaling matapos ang isang task.
4I-download ang iyong modelo
Kunin ang modelo mula sa model_urls sa tugon sa itaas. Ang bawat format (GLB, FBX, OBJ, USDZ, STL) ay isang naka-sign, may limitasyon sa oras na URL — o laktawan ang command line at i-paste nalang ang URL nang direkta sa address bar ng iyong browser para i-download ito.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

Ang mga file ay pinapanatili nang 3 araw sa mga non-Enterprise plan — tingnan ang Asset Retention.
Pagsamahin ang lahat
Mas gusto mo bang isang script na gagawa ng buong proseso — gumawa, mag-poll, mag-download?
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
Game-ready character
I-rig ang isang humanoid mesh gamit ang isang skeleton para handa na itong i-animate sa Unity o Unreal.
Learn more →Lowpoly asset
I-set ang model_type sa smart-topology sa Image to 3D para sa isang malinis, game-ready na mesh.
3D print model
I-convert ang isang natapos na model tungo sa isang multi-color na 3MF file, handa nang i-slice at i-print.
Learn more →Susunod na hakbang
- Mas gusto mo ba ang UI? Buksan ang Developer Platform — magpatakbo ng mga request sa Playground, subaybayan ang paggamit at request logs, at pamahalaan ang mga webhook.
- I-browse ang kumpletong API reference para sa bawat endpoint.
- Matuto mula sa mga gumaganang halimbawa: sundan ang mga step-by-step recipe sa Cookbook at basahin ang mga tutorial at build story sa Developer Blog.
- Suriin ang Pricing, Rate Limits, at Errors bago magtungo sa production.
- Bantayan ang Changelog para sa mga update at pag-aayos ng bug.
- May feedback o may kinakaharap na isyu? Sumali sa aming Discord na komunidad — gusto naming marinig mula sa iyo!