API Wiele obrazów na 3D to funkcja, która pozwala zintegrować możliwości Wiele obrazów na 3D firmy Meshy z własną aplikacją. W tej sekcji znajdziesz wszystkie informacje
potrzebne do rozpoczęcia pracy z tym API.
Ten punkt końcowy umożliwia utworzenie nowego zadania Wiele obrazów na 3D. Odwołaj się do
Obiektu Zadania Wiele obrazów na 3D, aby zobaczyć, które
właściwości są uwzględnione w obiekcie zadania Wiele obrazów na 3D.
Parametry
Tylko jeden spośród input_task_id lub image_urls jest wymagany. Jeśli oba są dostępne, input_task_id ma priorytet.
Name
input_task_id
Type
string
Wymagane
Description
ID ukończonego zadania generowania obrazów, którego wyjście (1-4 obrazy) powinno być użyte jako wejście. Zadanie to musi należeć do jednego z następujących zadań: Tekst na obraz, Obraz na obraz, Tekst na obraz Wiele widoków lub Obraz na obraz Wiele widoków. Dodatkowo, musi zostać uruchomione przez API i mieć status SUCCEEDED.
Name
image_urls
Type
array
Wymagane
Description
Podaj od 1 do 4 obrazów, które Meshy użyje do stworzenia modelu. Obecnie obsługujemy formaty .jpg, .jpeg i .png. Wszystkie obrazy powinny przedstawiać ten sam obiekt z różnych kątów dla najlepszych wyników.
Są dwa sposoby podawania każdego obrazu:
Publicznie dostępny URL: URL dostępny z publicznego internetu.
Data URI: Zakodowane w base64 URI danych obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Dla meshy-7 (lub latest) pierwszy obraz jest używany jako główny (frontowy) widok. Kolejność pozostałych obrazów nie ma znaczenia.
Name
ai_model
Type
string
domyślne latest
Description
ID modelu do użycia. Dostępne wartości: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
Name
should_texture
Type
boolean
domyślne true
Description
Określa, czy tekstury są generowane. Ustawienie na false pomija fazę tekstur, dostarczając siatkę bez tekstur.
Dotyczy tylko gdy should_texture = true
Name
enable_pbr
Type
boolean
domyślne false
Description
Generuj mapy PBR (metaliczność, chropowatość, normalne) oprócz podstawowego koloru. Mapa emisji jest również uwzględniona, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k. meshy-7 i latest nie tworzą mapy emisji.
Name
texture_resolution
Type
string
domyślne 2k
Description
Rozdzielczość tekstury dla koloru bazowego. Jedna z 2k (2048×2048), 4k (4096×4096) lub 8k (8192×8192). Wyższe rozdzielczości uchwycają więcej szczegółów powierzchni.
4k i 8k wymagają ai_modelmeshy-6, meshy-7 lub latest. Przy 8k nie jest tworzona mapa emisji.
Name
hd_texture
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj zamiast tego texture_resolution — równoważne z texture_resolution: "4k". Kiedy oba są ustawione, texture_resolution ma pierwszeństwo.
Name
texture_prompt
Type
string
Description
Podaj tekst, aby poprowadzić proces teksturowania. Maksymalnie 600 znaków.
Name
texture_image_url
Type
string
Description
Podaj dwuwymiarowy obraz, aby poprowadzić proces teksturowania. Obecnie obsługujemy formaty .jpg, .jpeg i .png.
Są dwa sposoby podawania obrazu:
Publicznie dostępny URL: URL dostępny z publicznego internetu
Data URI: Zakodowane w base64 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 występują znaczne różnice w geometrii między oryginalnym assetem a przesłanym obrazem. Tylko jeden z texture_image_url lub texture_prompt może być użyty do kierowania procesu teksturowania. Jeśli oba parametry są podane, texture_prompt będzie domyślnie używany do teksturowania modelu.
Name
should_remesh
Type
boolean
domyślne false (meshy-6), true (others)
Description
Kontroluje, czy włączyć fazę remesh. Dla modelu 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 topologię generowanego modelu.
Dostępne wartości:
quad: Wygeneruj siatkę zdominowaną przez quady.
triangle: Wygeneruj 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 się różnić od docelowej, w zależności od złożoności geometrii.
Prawidłowy zakres wartości zależy od poziomu użytkownika:
100 do 300 000 (włącznie)
Name
decimation_mode
Type
integer
Description
Włącz adaptacyjną decymację, ustawiając poziom liczby wielokątów. Kiedy ustawione, target_polycount jest ignorowane.
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
Kiedy ustawione na true, Meshy również zapisuje dodatkowy plik GLB przed zakończeniem fazy remesh.
Name
symmetry_mode
Type
string
⚠ przestarzałe
domyślne auto
Description
Przestarzałe. Ten parametr nie ma już wpływu 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 wejściowej geometrii.
on: Wymusza symetrię podczas generacji.
Name
pose_mode
Type
string
domyślne ""
Description
Określ tryb pozy dla generowanego modelu.
Dostępne wartości:
a-pose: Wygeneruj model w pozycji A.
t-pose: Wygeneruj model w pozycji T.
"" (pusty ciąg): Nie stosuje się konkretnej pozy.
Name
is_a_t_pose
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj zamiast tego pose_mode. Określa, czy wygenerować model w pozycji A/T.
Name
image_enhancement
Type
boolean
domyślne true
Description
Optymalizuje obrazy wejściowe dla lepszych wyników. Ustawienie na false zachowuje dokładny wygląd wejściowych obrazów bez przetwarzania stylu.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6, meshy-7 lub latest.
Name
remove_lighting
Type
boolean
domyślne true
Description
Usuwa podświetlenia i cienie z tekstury koloru bazowego, dając czystszy rezultat, który działa lepiej przy niestandardowych ustawieniach oświetlenia.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6, meshy-7 lub latest.
Name
moderation
Type
boolean
domyślne false
Description
Kiedy ustawione na true, zawartość wejściowa zostanie automatycznie sprawdzona pod kątem potencjalnie szkodliwej treści. Jeśli zostanie wykryta szkodliwa zawartość, zadanie nie przejdzie do generowania.
Każdy obraz z image_urls i tekst z texture_prompt zostanie sprawdzony.
Name
target_formats
Type
string[]
Description
Określa, które formaty plików 3D mają być uwzględnione w wyniku. Tylko żądane formaty zostaną wygenerowane i zwrócone, co może skrócić czas ukończenia zadania.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Gdy pominięte, wszystkie formaty poza 3mf są generowane. 3mf jest uwzględniany tylko wtedy, gdy zostanie wyraźnie wskazany.
Name
auto_size
Type
boolean
domyślne false
Description
Kiedy ustawione na true, usługa używa wizji AI, aby automatycznie oszacować rzeczywistą wysokość obiektu i odpowiednio zmienić rozmiar modelu. Punkt początkowy domyślnie jest ustawiony na bottom, chyba że origin_at jest wyraźnie ustawiony.
Name
alpha_thumbnail
Type
boolean
domyślne false
Description
Kiedy 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
Kiedy ustawione na true, zadanie dodatkowo renderuje cztery miniatury widoków kardynalnych (front, right, back, left) i zwraca je jako thumbnail_urls w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian i nadal wskazuje na widok frontowy, więc istniejące aplikacje nie są dotknięte.
Dodaje około 3 sekund do opóźnienia 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.
Zwraca
Właściwość result odpowiedzi zawiera id nowo utworzonego zadania Wiele obrazów na 3D.
Tryby awarii
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Typowe przyczyny:
Brakujący parametr: Należy podać image_urls lub input_task_id.
Nieprawidłowe zadanie wejściowe: input_task_id musi odnosić się do zadania SUCCEEDED Tekst na obraz, Obraz na obraz lub wariantu wielowidokowego.
Nieprawidłowa liczba obrazów: image_urls musi zawierać od 1 do 4 obrazów.
Nieprawidłowy format obrazu: Jeden lub więcej obrazów w image_urls nie jest w obsługiwanym formacie.
Nieosiągalny URL: Jeden lub więcej image_urls nie mogło zostać pobranych.
Name
401 - Unauthorized
Description
Niepowodzenie uwierzytelnienia. Sprawdź swój klucz API.
Name
402 - Payment Required
Description
Niewystarczające kredyty do wykonania tego zadania.
Name
429 - Too Many Requests
Description
Przekroczyłeś swój limit szybkości.
Request
POST
/openapi/v1/multi-image-to-3d
# Proste żądaniecurlhttps://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>" ] }'# Z teksturami PBR i formatem GLBcurlhttps://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>" ], "should_texture": true, "enable_pbr": true, "target_formats": ["glb"] }'
Ten punkt końcowy umożliwia pobranie zadania Wiele obrazów na 3D podając prawidłowe id zadania.
Odwołaj się do Obiektu Zadania Wiele obrazów na 3D, aby zobaczyć, które
właściwości są uwzględnione w obiekcie zadania Wiele obrazów na 3D.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania Wiele obrazów na 3D do pobrania.
Obiekt Zadania Wiele obrazów na 3D to jednostka pracy, którą Meshy śledzi, aby wygenerować model 3D z wielu obrazów (od 1 do 4 włącznie). Obrazy powinny dotyczyć tego samego obiektu, najlepiej z różnych widoków lub kątów.
Obiekt ma następujące właściwości:
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Chociaż jako szczegół implementacji używamy k-sortowalnego
UUID dla ID zadań, nie powinieneś dokonywać żadnych założeń co do formatu ID.
Name
type
Type
string
Description
Typ zadania Wiele obrazów na 3D. Wartość to multi-image-to-3d.
Name
model_urls
Type
object
Description
Pobieralny URL do teksturowanego pliku modelu 3D wygenerowanego przez Meshy. Właściwość dla formatu zostanie pominięta, jeśli format nie zostanie wygenerowany, zamiast zwracania pustego ciągu.
Name
glb
Type
string
Description
Pobieralny URL do pliku GLB.
Name
fbx
Type
string
Description
Pobieralny URL do pliku FBX.
Name
obj
Type
string
Description
Pobieralny URL do pliku OBJ.
Name
usdz
Type
string
Description
Pobieralny URL do pliku USDZ.
Name
mtl
Type
string
Description
Pobieralny URL do pliku MTL, zwracany wraz z eksportami OBJ, gdy tekstury są obecne.
Name
stl
Type
string
Description
Pobieralny URL do pliku STL.
Name
3mf
Type
string
Description
Pobieralny URL do pliku 3MF. Obecny tylko wtedy, gdy 3mf został zażądany poprzez target_formats.
Name
pre_remeshed_glb
Type
string
Description
Pobieralny URL do oryginalnego wyjścia GLB przed remeshem.
Dostępny tylko wtedy, gdy zadanie zostało utworzone jednocześnie z should_remesh: true i save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
Pobieralny URL do miniatury obrazu pliku modelu. Równoważne z thumbnail_urls.front, kiedy obecne, zachowane dla zgodności wstecznej.
Name
alpha_thumbnail_url
Type
string
Description
Pobieralny URL do wersji thumbnail_url z przezroczystym tłem (RGBA). Obecny tylko wtedy, gdy zadanie zostało utworzone z alpha_thumbnail: true i przezroczysty podgląd został pomyślnie wyrenderowany; w przeciwnym razie to pole jest pomijane.
Name
thumbnail_urls
Type
object
Description
Pobieralne URL do czterech miniatur widoków kardynalnych wygenerowanego modelu 3D. Każda wartość to podpisany URL do pliku PNG 512×512 wyrenderowanego z tymi samymi materiałami i oświetleniem co thumbnail_url. Przydatne do podglądu modelu z różnych kątów w procesach wsadowych bez pobierania GLB.
Obecne tylko wtedy, gdy zadanie zostało utworzone z multi_view_thumbnails: true i osiągnęło SUCCEEDED. Starsze zadania i zadania utworzone bez opt-in nie będą zawierały tego pola.
Name
front
Type
string
Description
Widok z przodu, obrót 0° wokół osi pionowej (zgodny z thumbnail_url).
Name
right
Type
string
Description
Widok z prawej strony, obrót 90°.
Name
back
Type
string
Description
Widok z tyłu, obrót 180°.
Name
left
Type
string
Description
Widok z lewej strony, obrót 270°.
Name
texture_prompt
Type
string
Description
Prompt tekstowy, który został użyty do kierowania procesem teksturowania.
Name
progress
Type
integer
Description
Postęp zadania. Jeśli zadanie jeszcze się nie rozpoczęło, to pole będzie miało wartość 0. Gdy zadanie zakończy się sukcesem, stanie się 100.
Name
started_at
Type
timestamp
Description
Znacznik czasu, kiedy zadanie zostało rozpoczęte, w milisekundach. Jeśli zadanie jeszcze się nie rozpoczęło, to pole będzie miało wartość 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 GMT jest reprezentowany jako 1693569600000. Dotyczy to
wszystkich znaczników czasu w API Meshy.
Name
created_at
Type
timestamp
Description
Znacznik czasu, kiedy zadanie zostało utworzone, w milisekundach.
Name
expires_at
Type
timestamp
Description
Znacznik czasu, kiedy wynik zadania wygaśnie, w milisekundach.
Name
finished_at
Type
timestamp
Description
Znacznik czasu, kiedy zadanie zostało zakończone, w milisekundach. Jeśli zadanie nie jest jeszcze zakończone, to pole będzie miało wartość 0.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Tablica obiektów z URL tekstur, które zostały wygenerowane w ramach zadania. Zwykle zawiera tylko jeden obiekt URL tekstury. Każdy URL tekstury ma następujące właściwości:
Name
base_color
Type
string
Description
Pobieralny URL do obrazu mapy koloru bazowego.
Name
metallic
Type
string
Description
Pobieralny URL do obrazu mapy metaliczności.
Jeśli zadanie jest utworzone z enable_pbr: false, to pole zostanie pominięte.
Name
normal
Type
string
Description
Pobieralny URL do obrazu mapy normalnych.
Jeśli zadanie jest utworzone z enable_pbr: false, to pole zostanie pominięte.
Name
roughness
Type
string
Description
Pobieralny URL do obrazu mapy chropowatości.
Jeśli zadanie jest utworzone z enable_pbr: false, to pole zostanie pominięte.
Name
emission
Type
string
Description
Pobieralny URL do obrazu mapy emisji.
Jeśli zadanie jest utworzone z enable_pbr: false lub ai_model to meshy-5, to pole zostanie pominięte.
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ń. Zobacz Błędy dla pełnej referencji obiektu task_error.
Name
consumed_credits
Type
integer
Description
Liczba kredytów zużytych przez to zadanie. Obecne, gdy status zadania to PENDING, IN_PROGRESS lub SUCCEEDED. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).