Szybki start

Zacznij od utworzenia klucza API

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

Utwórz swój klucz API

Cztery kroki dzielące Cię od pierwszego modelu 3D, przy użyciu REST API Meshy.


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.

Wyeksportuj swój klucz

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

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

Przykładowa ilustracja postaci fantasy użyta jako wejście Obraz na 3D w tym przewodniku
Przykładowe wejście

Żądanie

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 przyjmie wartość SUCCEEDED — zastąp poniżej <task_id> identyfikatorem zwróconym w kroku 2.

Żądanie

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 — możesz też pominąć wiersz poleceń i wkleić URL bezpośrednio w pasku adresu przeglądarki, aby go pobrać.

Pobieranie

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

Połącz to wszystko w jedną całość

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

Pełny skrypt

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');

Poznaj typowe scenariusze pracy


Kolejne kroki

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