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-nyckel

Fyra steg till din första 3D-modell, med Meshy REST API.


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.

Öppna sidan API Keys i Developer Platform, skapa sedan din nyckel


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>"

Varje exempel nedan använder detta foto — byt ut till din egen image_url för att prova något annat.

Exempel på fantasykaraktär-illustration som används som Bild till 3D-indata i den här guiden
Exempel på indata

Request

POST
/openapi/v1/image-to-3d
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

GET
/openapi/v1/image-to-3d/:id
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": ""
  }
}

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

model_urls.glb
curl -L "<model_urls.glb from the response above>" -o model.glb
Den resulterande 3D-modellen genererad från fotot på fantasykaraktären
Ditt resultat

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


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!