meshy-5 zostanie wycofany 10 paź 2026. lowpoly zostanie wycofany 30 paź 2026. Zmień model przed tymi datami, aby uniknąć błędów żądań.

Szybki start

Zacznij od utworzenia swojego klucza API

Każde żądanie w tym przewodniku go wymaga. Utworzenie klucza zajmuje kilka sekund.

Utwórz swój klucz API

Cztery kroki do uzyskania pierwszego modelu 3D przy użyciu Meshy REST API.


1Uzyskaj swój klucz API

Utwórz klucz API na stronie API Keys w Developer Platform — po opuszczeniu tego ekranu nie będzie można go ponownie wyświetlić, więc przechowuj go w bezpiecznym miejscu. Każde żądanie uwierzytelnia się za pomocą tokenu Bearer w nagłówku Authorization — zobacz Uwierzytelnianie.

Otwórz stronę API Keys w Developer Platform, a następnie utwórz swój klucz


2Wykonaj swoje pierwsze żądanie Obraz na 3D

Wyeksportuj swój klucz, a następnie utwórz swoje pierwsze zadanie za pomocą Obraz na 3D. Pracujesz zamiast tego na podstawie promptu tekstowego lub wielu zdjęć? Zobacz Tekst na 3D lub Wiele obrazów na 3D.

Export your key

export MESHY_API_KEY="<your-api-key>"

Każdy poniższy przykład wykorzystuje to zdjęcie — podstaw własny image_url, aby wypróbować coś innego.

Przykładowa ilustracja fantastycznej postaci użyta jako dane wejściowe Obraz na 3D w tym przewodniku
Przykładowe dane wejściowe

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

3Sprawdź status zadania

Żądania natychmiast zwracają identyfikator zadania. Odpytuj ten sam punkt końcowy, aż status będzie równy SUCCEEDED — zastąp poniżej <task_id> identyfikatorem zwróconym w kroku 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": ""
  }
}

4Pobierz swój model

Pobierz model z model_urls w powyższej odpowiedzi. Każdy format (GLB, FBX, OBJ, USDZ, STL) to podpisany, ograniczony czasowo URL — lub pomiń wiersz poleceń i wklej URL bezpośrednio do paska adresu przeglądarki, aby go pobrać.

Download

model_urls.glb
curl -L "<model_urls.glb from the response above>" -o model.glb
Wynikowy model 3D wygenerowany na podstawie przykładowego zdjęcia fantastycznej postaci
Twój wynik

Złóż to wszystko razem

Wolisz jeden skrypt, który robi wszystko naraz — tworzy, odpytuje, pobiera?

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, headers: resHeaders } = await axios.get(`https://api.meshy.ai/openapi/v1/image-to-3d/${taskId}`, { headers });
  task = data;
  if (task.status === 'SUCCEEDED' || task.status === 'FAILED') break;
  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');

Poznaj typowe przepływy pracy


Następne kroki

  • Wolisz interfejs użytkownika? Otwórz Developer Platform — wykonuj żądania w Playground, śledź użycie i dzienniki żądań oraz zarządzaj webhookami.
  • Przeglądaj pełny dokument referencyjny API dla każdego punktu końcowego.
  • Sprawdź Cennik, Limity zapytań i Błędy, zanim przejdziesz do środowiska produkcyjnego.
  • Śledź dziennik zmian, aby być na bieżąco z aktualizacjami i poprawkami błędów.
  • Masz opinię lub napotykasz problemy? Dołącz do naszej społeczności na Discordzie — chętnie Cię wysłuchamy!