Szybki start
Zacznij od utworzenia swojego klucza API
Każde żądanie w tym przewodniku go potrzebuje. Utworzenie klucza zajmuje mniej niż minutę.
Utwórz swój klucz APICztery kroki do twojego pierwszego modelu 3D, używając Meshy REST API.
Używasz asystenta kodowania AI? Zobacz naszą stronę Integracja z AI — zainstaluj serwer Meshy MCP, aby uzyskać dostęp do narzędzi z Claude Code, Cursor, Windsurf i innych narzędzi zgodnych z MCP, lub skieruj zwykłego agenta czatu na llms.txt.
1Uzyskaj swój klucz API
Utwórz klucz API z ustawień konta — nie będziesz mógł go ponownie zobaczyć po tym ekranie, więc przechowaj go w bezpiecznym miejscu. Każde żądanie uwierzytelnia się za pomocą tokena Bearer w nagłówku Authorization — zobacz Uwierzytelnianie.

Porada dotycząca bezpieczeństwa: unikaj wklejania swojego klucza bezpośrednio do skryptów — przechowuj go jako zmienną środowiskową: export MESHY_API_KEY="msy_...".
2Wykonaj swoje pierwsze żądanie Obraz na 3D
Eksportuj swój klucz, a następnie utwórz swoje pierwsze zadanie z Obraz na 3D. Pracujesz z tekstowym promptem lub wieloma zdjęciami? Zobacz Tekst na 3D lub Wiele obrazów na 3D.
Eksportuj swój klucz
export MESHY_API_KEY="<your-api-key>"
Uruchom to w swoim terminalu (Terminal na macOS, Wiersz polecenia lub PowerShell na Windows) — nie w przeglądarce.
Każdy przykład poniżej używa tego zdjęcia — zamień na swój własny image_url, aby spróbować czegoś innego.

Żądanie
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.cn/images/api/quick-start/source-photo.webp"
}'
3Sprawdź status zadania
Żądania zwracają natychmiast identyfikator zadania. Odpytywanie tego samego punktu końcowego, aż status będzie SUCCEEDED — zamień <task_id> poniżej na identyfikator zwrócony w kroku 2.
Żądanie
curl https://api.meshy.ai/openapi/v1/image-to-3d/<task_id> \
-H "Authorization: Bearer ${MESHY_API_KEY}"
Odpowiedź — 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": ""
}
}
Odpytywanie nie w twoim stylu? Użyj streamingu SSE lub webhooka, aby otrzymać powiadomienie w momencie zakończenia zadania.
4Pobierz swój model
Pobierz model z model_urls w odpowiedzi powyżej. Każdy format (GLB, FBX, OBJ, USDZ, STL) to podpisany, czasowo ograniczony URL — lub pomiń linię poleceń i wklej URL bezpośrednio do paska adresu przeglądarki, aby go pobrać.
Pobierz
curl -L "<model_urls.glb from the response above>" -o model.glb

Pliki są przechowywane przez 3 dni na planach nie-Enterprise — zobacz Przechowywanie zasobów.
Połącz wszystko razem
Wolisz jeden skrypt, który robi wszystko — tworzy, odpytywa, 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.cn/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 przepływy pracy
Postać gotowa do gry
Dodaj szkielet do humanoidalnej siatki, aby była gotowa do animacji w Unity lub Unreal.
Learn more →Zasób lowpoly
Ustaw model_type na lowpoly w Obraz na 3D, aby uzyskać czystą, gotową do gry siatkę.
Model do druku 3D
Konwertuj gotowy model na plik 3MF w wielu kolorach, gotowy do cięcia i druku.
Learn more →Następne kroki
- Wolisz interfejs użytkownika? Wypróbuj API Playground — skonfiguruj żądanie, uruchom je i skopiuj wygenerowany kod.
- Przeglądaj pełną dokumentację API dla każdego punktu końcowego.
- Sprawdź Cennik, Limity szybkości i Błędy zanim przejdziesz do produkcji.
- Obserwuj Dziennik zmian w poszukiwaniu aktualizacji i poprawek błędów.
- Masz uwagi lub napotykasz problemy? Dołącz do naszej społeczności Discord — chętnie usłyszymy od Ciebie!