Snabbstart
Börja med att skapa din API-nyckel
Varje förfrågan i den här guiden behöver en. Att skapa en nyckel tar bara några sekunder.
Skapa din API-nyckelFyra steg till din första 3D-modell, med Meshy REST API.
Använder du en AI-kodassistent? Se vår sida för AI-integration — installera Meshy MCP server för tool-calling-åtkomst från Claude Code, Cursor, Windsurf och andra MCP-kompatibla verktyg, eller peka en vanlig chattagent mot llms.txt.
1Skaffa din API-nyckel
Skapa en API-nyckel från sidan API Keys i Developer Platform — du kommer inte kunna visa den igen efter denna skärm, så spara den på ett säkert ställe. Varje förfrågan autentiseras med en Bearer-token i Authorization-headern — se Autentisering.
Att skapa och hantera API-nycklar kräver en betald plan. Gratis-konton får en dedikerad, inbyggd nyckel för testning i Playground, men kan inte skapa eller hantera egna nycklar.

Säkerhetstips: undvik att klistra in din nyckel direkt i skript — lagra den istället som en miljövariabel: export MESHY_API_KEY="msy_...".
2Gör din första Bild till 3D-förfrågan
Exportera din nyckel, skapa sedan din första uppgift med Bild till 3D. Arbetar du istället utifrån en textprompt eller flera foton? Se Text till 3D eller Flera bilder till 3D.
Exportera din nyckel
export MESHY_API_KEY="<your-api-key>"
Kör detta i din terminal (Terminal på macOS, Command Prompt eller PowerShell på Windows) — inte i en webbläsare.
Varje exempel nedan använder detta foto — byt ut till din egen image_url för att prova något annat.

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"
}'
3Kontrollera uppgiftsstatus
Förfrågningar returnerar direkt ett uppgifts-ID. Fråga samma endpoint tills status är SUCCEEDED — ersätt <task_id> nedan med det ID som returnerades i steg 2.
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": ""
}
}
Inte förtjust i polling? Använd SSE-streaming eller en webhook för att bli meddelad så snart en uppgift är klar.
4Ladda ner din modell
Hämta modellen från model_urls i svaret ovan. Varje format (GLB, FBX, OBJ, USDZ, STL) är en signerad, tidsbegränsad URL — eller hoppa över kommandoraden och klistra in URL:en direkt i webbläsarens adressfält för att ladda ner den.
Download
curl -L "<model_urls.glb from the response above>" -o model.glb

Filer sparas i 3 dagar på icke-Enterprise-planer — se Tillgångslagring.
Sätt ihop allt
Föredrar du ett enda skript som gör hela jobbet — skapa, fråga, ladda ner?
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 },
);
const taskId = created.result;
// 2. Poll until it finishes
let task;
while (true) {
const { data } = await axios.get(`https://api.meshy.ai/openapi/v1/image-to-3d/${taskId}`, { headers });
task = data;
if (task.status === 'SUCCEEDED' || task.status === 'FAILED') break;
await new Promise((resolve) => setTimeout(resolve, 5000));
}
// 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');
Utforska vanliga arbetsflöden
Spelklar karaktär
Riggning av ett humanoidnät med ett skelett så att det är redo att animeras i Unity eller Unreal.
Learn more →Lowpoly-tillgång
Ställ in model_type till lowpoly för Bild till 3D för ett rent, spelklart nät.
3D-utskriftsmodell
Konvertera en färdig modell till en flerfärgad 3MF-fil, redo att skivas och skrivas ut.
Learn more →Nästa steg
- Föredrar du ett användargränssnitt? Öppna Developer Platform — kör förfrågningar i Playground, spåra användning och förfrågningsloggar, och hantera webhooks.
- Bläddra i den fullständiga API-referensen för varje endpoint.
- Kontrollera Priser, Rate Limits och Fel innan du går i produktion.
- Håll koll på ändringsloggen för uppdateringar och buggfixar.
- Har du feedback eller stöter på problem? Gå med i vår Discord-community — vi vill gärna höra från dig!