lowpoly zostanie wycofany 30 paź 2026. Zmień model przed tymi datami, aby uniknąć błędów żądań.
API Wiele obrazów na 3D
API Wiele obrazów na 3D to funkcja, która umożliwia integrację możliwości Meshy w zakresie Wiele obrazów na 3D z własną aplikacją. W tej sekcji znajdziesz wszystkie informacje
potrzebne do rozpoczęcia pracy z tym API.
Ten punkt końcowy pozwala utworzyć nowe zadanie Wiele obrazów na 3D. Zapoznaj się z
Obiektem zadania Wiele obrazów na 3D, aby zobaczyć, jakie
właściwości zawiera obiekt zadania Wiele obrazów na 3D.
Zadanie jest wykonywane w tle. Informacje o tym, ile zwykle to trwa, znajdziesz w sekcji Czasy przetwarzania.
Parametry
Wymagany jest tylko jeden z parametrów input_task_id lub image_urls. Jeśli podano oba, input_task_id ma pierwszeństwo.
Name
input_task_id
Type
string
Wymagane
Description
ID ukończonego zadania generowania obrazu, którego wynik (1–4 obrazy) ma zostać użyty jako dane wejściowe. Zadanie to musi być jednym z następujących: Tekst na obraz, Obraz na obraz, Tekst na obraz Wiele widoków lub Obraz na obraz Wiele widoków. Dodatkowo musi zostać uruchomione za pośrednictwem API i mieć status SUCCEEDED.
Name
image_urls
Type
array
Wymagane
Description
Podaj od 1 do 4 obrazów, które Meshy ma wykorzystać do stworzenia modelu. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp. Dla najlepszych rezultatów wszystkie obrazy powinny przedstawiać ten sam obiekt z różnych kątów.
Maksymalny rozmiar pliku: 20 MB na obraz.
Istnieją dwa sposoby podania każdego obrazu:
Publicznie dostępny URL: adres URL dostępny z poziomu publicznego internetu.
Data URI: zakodowany w base64 identyfikator URI danych obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
W przypadku meshy-7.1 (lub latest) pierwszy obraz jest używany jako widok główny (przedni). Kolejność pozostałych obrazów nie ma znaczenia.
meshy-7 (przestarzałe): zamiast tego użyj meshy-7.1.
Name
geometry_resolution
Type
string
domyślne standard
Description
Przebieg generowania geometrii. 2k uruchamia przebieg Ultra w rozdzielczości 2048³. Wymaga meshy-7.1 lub latest.
Dostępne wartości: standard, 2k
Name
ultra_mode
Type
boolean
⚠ przestarzałe
domyślne false
Description
Zamiast tego użyj geometry_resolution. ultra_mode: true jest równoważne geometry_resolution: "2k".
Name
should_texture
Type
boolean
domyślne true
Description
Określa, czy generowane są tekstury. Ustawienie wartości false pomija etap teksturowania, dostarczając siatkę bez tekstur.
Dotyczy tylko gdy should_texture = true
Name
enable_pbr
Type
boolean
domyślne false
Description
Generuje mapy PBR (metaliczność, chropowatość, normalna) oprócz koloru bazowego. Mapa emisji jest również dołączana, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k. meshy-6-lite, meshy-7.1 i latest nie generują mapy emisji.
Name
texture_resolution
Type
string
domyślne 2k
Description
Rozdzielczość tekstury koloru bazowego. Jedna z wartości 2k (2048×2048), 4k (4096×4096) lub 8k (8192×8192). Wyższe rozdzielczości pozwalają uchwycić więcej szczegółów powierzchni.
4k i 8k wymagają ai_modelmeshy-6, meshy-7.1 lub latest. Przy 8k mapa emisji nie jest generowana.
Name
hd_texture
Type
boolean
⚠ przestarzałe
domyślne false
Description
Zamiast tego użyj texture_resolution — odpowiednik texture_resolution: "4k". Gdy oba są ustawione, pierwszeństwo ma texture_resolution.
Name
texture_prompt
Type
string
Description
Podaj prompt tekstowy, który będzie kierować procesem teksturowania. Maksymalnie 800 znaków.
Name
texture_image_url
Type
string
Description
Podaj obraz 2D, który będzie kierować procesem teksturowania. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp.
Maksymalny rozmiar pliku: 20 MB.
Istnieją dwa sposoby podania obrazu:
Publicznie dostępny URL: adres URL dostępny z poziomu publicznego internetu
Data URI: zakodowany w base64 identyfikator URI danych obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>
Teksturowanie obrazem może nie działać optymalnie, jeśli istnieją istotne różnice geometrii między oryginalnym assetem a przesłanym obrazem. Tylko jeden z parametrów texture_image_url lub texture_prompt może być użyty do sterowania procesem teksturowania. Jeśli podano oba parametry, domyślnie do teksturowania modelu zostanie użyty texture_prompt.
Name
texture_image_urls
Type
string[]
Description
Podaj od 1 do 4 obrazów przedstawiających ten sam obiekt z różnych widoków, aby pokierować teksturowaniem. Pierwszy obraz to widok główny (przedni); kolejność pozostałych widoków (lewy, tylny, prawy) nie ma znaczenia.
Każdy element akceptuje te same formaty co texture_image_url (publicznie dostępny URL lub zakodowany w base64 Data URI, .jpg/.jpeg/.png/.webp).
Maksymalny rozmiar pliku: 20 MB na obraz.
Te obrazy sterują wyłącznie teksturą i są niezależne od image_urls — obie listy mogą zawierać różne obrazy oraz różną liczbę obrazów.
Wymaga ai_modelmeshy-7.1 lub latest. Nie można łączyć z texture_image_url ani texture_prompt.
Name
should_remesh
Type
boolean
domyślne false (Meshy 6 and Meshy 7 models), true (others)
Description
Kontroluje, czy włączyć etap remesh. Dla modelu o najwyższej jakości zalecamy ustawienie should_remesh na false.
Dotyczy tylko gdy should_remesh = true
Name
topology
Type
string
domyślne triangle
Description
Określ topology generowanego modelu.
Dostępne wartości:
quad: generuje siatkę opartą głównie na czworokątach.
triangle: generuje zdecymowaną siatkę trójkątów.
Name
target_polycount
Type
integer
domyślne 30,000
Description
Określ docelową liczbę wielokątów w generowanym modelu. Rzeczywista liczba wielokątów może odbiegać od wartości docelowej w zależności od złożoności geometrii.
Prawidłowy zakres to od 100 do 300 000 (włącznie).
Name
decimation_mode
Type
integer
Description
Włącz adaptacyjną decymację, ustawiając poziom liczby wielokątów. Gdy ten parametr jest ustawiony, target_polycount jest ignorowany.
Dostępne wartości:
1: adaptacyjna — ultra liczba wielokątów.
2: adaptacyjna — wysoka liczba wielokątów.
3: adaptacyjna — średnia liczba wielokątów.
4: adaptacyjna — niska liczba wielokątów.
Name
save_pre_remeshed_model
Type
boolean
domyślne false
Description
Gdy ustawione na true, Meshy dodatkowo zapisuje dodatkowy plik GLB przed zakończeniem etapu remesh.
Name
symmetry_mode
Type
string
⚠ przestarzałe
domyślne auto
Description
Przestarzałe. Ten parametr nie wpływa już na wynik.
Pole symmetry_mode kontroluje zachowanie symetrii podczas procesu generowania modelu.
Prawidłowe wartości to:
off: wyłącza symetrię.
auto: automatycznie określa i stosuje symetrię na podstawie geometrii wejściowej.
on: wymusza symetrię podczas generowania.
Name
pose_mode
Type
string
domyślne ""
Description
Określ mode pozy generowanego modelu.
Dostępne wartości:
a-pose: generuje model w pozie A.
t-pose: generuje model w pozie T.
"" (pusty ciąg znaków): bez konkretnej pozy.
Name
is_a_t_pose
Type
boolean
⚠ przestarzałe
domyślne false
Description
Zamiast tego użyj pose_mode. Określa, czy wygenerować model w pozie A/T.
Name
image_enhancement
Type
boolean
domyślne true
Description
Optymalizuje obrazy wejściowe w celu uzyskania lepszych rezultatów. Ustaw na false, aby zachować dokładny wygląd obrazów wejściowych bez jakiegokolwiek przetwarzania stylu.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6, meshy-7.1 lub latest. Ustawienie tego parametru z meshy-6-lite zwraca błąd.
Name
remove_lighting
Type
boolean
domyślne true
Description
Usuwa podświetlenia i cienie z tekstury koloru bazowego, dając czystszy rezultat, który lepiej sprawdza się przy niestandardowych ustawieniach oświetlenia.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6, meshy-7.1 lub latest. Ustawienie tego parametru z meshy-6-lite zwraca błąd.
Name
moderation
Type
boolean
domyślne false
Description
Gdy ustawione na true, treść wejściowa zostanie automatycznie sprawdzona pod kątem potencjalnie szkodliwej zawartości. Jeśli zostanie wykryta szkodliwa treść, zadanie nie przejdzie do etapu generowania.
Sprawdzony zostanie każdy obraz z image_urls oraz tekst z texture_prompt.
Name
target_formats
Type
string[]
Description
Określa, które formaty plików 3D mają zostać uwzględnione w wyniku. Generowane i zwracane będą tylko żądane formaty, co może skrócić czas realizacji zadania.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Jeśli parametr zostanie pominięty, generowane są wszystkie formaty oprócz 3mf. 3mf jest dołączany tylko wtedy, gdy zostanie wyraźnie określony.
Name
auto_size
Type
boolean
domyślne false
Description
Gdy ustawione na true, usługa wykorzystuje wizję AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiedniego dopasowania rozmiaru modelu. Punkt początkowy domyślnie przyjmuje wartość bottom, chyba że origin_at zostanie jawnie ustawiony.
Name
alpha_thumbnail
Type
boolean
domyślne false
Description
Gdy ustawione na true, zadanie dodatkowo renderuje wersję podglądu z przezroczystym tłem (RGBA) i zwraca ją jako alpha_thumbnail_url w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian.
Name
multi_view_thumbnails
Type
boolean
domyślne false
Description
Gdy ustawione na true, zadanie dodatkowo renderuje cztery miniatury widoków kardynalnych (przód, prawo, tył, lewo) i zwraca je w polu thumbnail_urls w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian i nadal wskazuje widok z przodu, więc istniejący klienci nie są dotknięci zmianą.
Dodaje około 3 sekund do czasu realizacji zadania.
Dotyczy tylko gdy auto_size = true
Name
origin_at
Type
string
domyślne bottom
Description
Pozycja punktu początkowego, gdy auto_size jest włączone. Dostępne wartości: bottom, center.
Zwracane wartości
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Wiele obrazów na 3D.
Tryby niepowodzeń
Name
400 - Bad Request
Description
Żądanie było niepoprawne. Typowe przyczyny:
Brakujący parametr: musi zostać podany image_urls lub input_task_id.
Nieprawidłowe zadanie wejściowe: input_task_id musi odnosić się do zakończonego powodzeniem (SUCCEEDED) zadania Tekst na obraz, Obraz na obraz lub wariantu Wiele widoków.
Nieprawidłowa liczba obrazów: image_urls musi zawierać od 1 do 4 obrazów, a texture_image_urls od 1 do 4.
Nieprawidłowy format obrazu: jeden lub więcej obrazów w image_urls ma nieobsługiwany format.
Sprzeczne dane wejściowe tekstury: texture_image_urls nie może być łączone z texture_image_url ani texture_prompt i wymaga should_texture: true.
Nieobsługiwany model dla tekstury wielowidokowej: texture_image_urls wymaga ai_modelmeshy-7.1 lub latest.
Niedostępny URL: nie udało się pobrać co najmniej jednego elementu image_urls lub texture_image_urls.
Obraz zbyt duży: co najmniej jeden obraz z image_urls, texture_image_url lub texture_image_urls przekracza 20 MB.
Nieobsługiwana rozdzielczość dla danych wejściowych z wieloma obrazami: geometry_resolution: "4k" nie jest dostępne w tym punkcie końcowym; użyj 2k lub standard.
Nieobsługiwany model dla opcji obrazu: image_enhancement lub remove_lighting zostało ustawione razem z ai_model: "meshy-6-lite".
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.
Name
402 - Payment Required
Description
Niewystarczająca liczba kredytów do wykonania tego zadania.
Name
429 - Too Many Requests
Description
Przekroczono limit szybkości.
Request
POST
/openapi/v1/multi-image-to-3d
# Simple requestcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<your publicly accessible image url or base64-encoded data URI>", "<your second publicly accessible image url or base64-encoded data URI>" ] }'# With Ultra 2K geometry, PBR texturing and GLB formatcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<your publicly accessible image url or base64-encoded data URI>", "<your second publicly accessible image url or base64-encoded data URI>" ], "ai_model": "meshy-7.1", "geometry_resolution": "2k", "should_texture": true, "enable_pbr": true, "target_formats": ["glb"] }'
Ten punkt końcowy umożliwia pobranie zadania Wiele obrazów na 3D na podstawie prawidłowego id zadania.
Zapoznaj się z sekcją Obiekt zadania Wiele obrazów na 3D, aby zobaczyć, jakie
właściwości są zawarte w obiekcie zadania Wiele obrazów na 3D.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania Wiele obrazów na 3D, które ma zostać pobrane.
Ten punkt końcowy trwale usuwa zadanie Wiele obrazów na 3D, w tym wszystkie powiązane modele i dane. Ta operacja jest nieodwracalna.
Parametry ścieżki
Name
id
Type
path
Description
ID zadania Wiele obrazów na 3D do usunięcia.
Status zadania
Zadanie, które wciąż ma status PENDING, zostaje usunięte, a kredyty
pobrane w momencie tworzenia zostają zwrócone.
Zadanie, które jest już IN_PROGRESS, nie może zostać usunięte: żądanie
zostaje odrzucone z kodem 409 Conflict, a zadanie kontynuuje działanie. Kredyty za zadanie,
które zostało już rozpoczęte przez workera, nie podlegają zwrotowi, więc usunięcie go w trakcie
wykonywania kosztowałoby Cię zarówno kredyty, jak i wynik. Poczekaj, aż osiągnie ono
status SUCCEEDED, FAILED lub CANCELED, a następnie je usuń.
Zadanie w stanie końcowym (SUCCEEDED, FAILED lub CANCELED) zostaje usunięte
bez zwrotu kredytów.
Zwraca
Zwraca 200 OK w przypadku powodzenia lub 409 Conflict, gdy zadanie ma status
IN_PROGRESS.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left running:{"message":"Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."}
Obiekt zadania Wiele obrazów na 3D to jednostka pracy, którą Meshy śledzi, aby wygenerować model 3D na podstawie wielu obrazów (od 1 do 4 włącznie). Obrazy powinny przedstawiać ten sam obiekt, najlepiej z różnych widoków lub kątów.
Obiekt posiada następujące właściwości:
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Chociaż jako szczegół implementacyjny używamy identyfikatora k-sortable UUID dla identyfikatorów zadań,
nie powinieneś przyjmować żadnych założeń dotyczących formatu tego identyfikatora.
Name
type
Type
string
Description
Typ zadania Wiele obrazów na 3D. Wartość to multi-image-to-3d.
Name
model_urls
Type
object
Description
Adres URL do pobrania pliku teksturowanego modelu 3D wygenerowanego przez Meshy. Właściwość dla danego formatu zostanie pominięta, jeśli format nie został wygenerowany, zamiast zwracać pusty ciąg znaków.
Name
glb
Type
string
Description
Adres URL do pobrania pliku GLB.
Name
fbx
Type
string
Description
Adres URL do pobrania pliku FBX.
Name
obj
Type
string
Description
Adres URL do pobrania pliku OBJ.
Name
usdz
Type
string
Description
Adres URL do pobrania pliku USDZ.
Name
mtl
Type
string
Description
Adres URL do pobrania pliku MTL, zwracany razem z eksportami OBJ, gdy obecne są tekstury.
Name
stl
Type
string
Description
Adres URL do pobrania pliku STL.
Name
3mf
Type
string
Description
Adres URL do pobrania pliku 3MF. Obecny tylko wtedy, gdy 3mf zostało zażądane poprzez target_formats.
Name
pre_remeshed_glb
Type
string
Description
Adres URL do pobrania oryginalnego pliku wyjściowego GLB sprzed remeshingu.
Dostępne tylko wtedy, gdy zadanie zostało utworzone zarówno z should_remesh: true, jak i save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
Adres URL do pobrania obrazu miniatury pliku modelu. Odpowiednik thumbnail_urls.front, gdy jest obecny, zachowany dla zapewnienia wstecznej kompatybilności.
Name
alpha_thumbnail_url
Type
string
Description
Adres URL do pobrania wersji thumbnail_url z przezroczystym tłem (RGBA). Obecny tylko wtedy, gdy zadanie zostało utworzone z alpha_thumbnail: true, a przezroczysty podgląd został pomyślnie wyrenderowany; w przeciwnym razie to pole jest pomijane.
Name
thumbnail_urls
Type
object
Description
Adresy URL do pobrania czterech miniatur modelu 3D przedstawiających widoki z czterech głównych kierunków. Każda wartość to podpisany adres URL do obrazu PNG 512×512 wyrenderowanego z tymi samymi materiałami i oświetleniem co thumbnail_url. Przydatne do podglądu modelu z wielu kątów w potokach wsadowych bez pobierania pliku GLB.
Obecne tylko wtedy, gdy zadanie zostało utworzone z multi_view_thumbnails: true i osiągnęło status SUCCEEDED. Starsze zadania oraz zadania utworzone bez tej opcji nie będą zawierać tego pola.
Name
front
Type
string
Description
Widok z przodu, obrót o 0° wokół osi pionowej (odpowiada thumbnail_url).
Name
right
Type
string
Description
Widok z prawej strony, obrót o 90°.
Name
back
Type
string
Description
Widok z tyłu, obrót o 180°.
Name
left
Type
string
Description
Widok z lewej strony, obrót o 270°.
Name
texture_prompt
Type
string
Description
Prompt tekstowy użyty do pokierowania procesem teksturowania.
Name
texture_image_urls
Type
string[]
Description
Adresy URL do pobrania obrazów referencyjnych tekstur, które zostały użyte do utworzenia zadania, w kolejności, w jakiej zostały dostarczone. Obecne tylko wtedy, gdy zadanie zostało utworzone z texture_image_urls.
Name
ultra_mode
Type
boolean
⚠ przestarzałe
Description
Przestarzałe; zamiast tego odczytaj geometry_resolution.
Name
geometry_resolution
Type
string
Description
Poziom Ultra, z którym uruchomiono zadanie (2k); pomijane dla standard.
Name
progress
Type
integer
Description
Postęp zadania. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie wynosić 0. Gdy zadanie zakończy się powodzeniem, wartość ta zmieni się na 100.
Name
started_at
Type
timestamp
Description
Znacznik czasu rozpoczęcia zadania, w milisekundach. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie wynosić 0.
Znacznik czasu reprezentuje liczbę milisekund, które upłynęły od 1 stycznia 1970 UTC, zgodnie
ze standardem RFC 3339.
Na przykład piątek, 1 września 2023 12:00:00 PM GMT jest reprezentowany jako 1693569600000. Dotyczy to
wszystkich znaczników czasu w Meshy API.
Name
created_at
Type
timestamp
Description
Znacznik czasu utworzenia zadania, w milisekundach.
Name
expires_at
Type
timestamp
Description
Znacznik czasu wygaśnięcia wyniku zadania, w milisekundach.
Name
finished_at
Type
timestamp
Description
Znacznik czasu zakończenia zadania, w milisekundach. Jeśli zadanie jeszcze się nie zakończyło, ta właściwość będzie wynosić 0.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to jedna z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Tablica obiektów adresów URL tekstur wygenerowanych z zadania. Zazwyczaj zawiera ona tylko jeden obiekt adresu URL tekstury. Każdy adres URL tekstury ma następujące właściwości:
Name
base_color
Type
string
Description
Adres URL do pobrania obrazu mapy koloru bazowego.
Name
metallic
Type
string
Description
Adres URL do pobrania obrazu mapy metaliczności.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
normal
Type
string
Description
Adres URL do pobrania obrazu mapy normalnych.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
roughness
Type
string
Description
Adres URL do pobrania obrazu mapy chropowatości.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
emission
Type
string
Description
Adres URL do pobrania obrazu mapy emisji.
Jeśli zadanie zostało utworzone z enable_pbr: false, lub ai_model ma wartość meshy-6-lite, meshy-7.1, lub latest, ta właściwość zostanie pominięta.
Name
preceding_tasks
Type
integer
Description
Liczba poprzedzających zadań.
Wartość tego pola ma znaczenie tylko wtedy, gdy status zadania to PENDING.
Name
task_error
Type
object
Description
Szczegóły błędu dla nieudanych zadań. Pełną referencję obiektu task_error znajdziesz w sekcji Błędy.
Name
consumed_credits
Type
integer
Description
Liczba kredytów zużytych przez to zadanie. Obecna, gdy status zadania to PENDING, IN_PROGRESS lub SUCCEEDED. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).