API Obraz na 3D to funkcja, która pozwala zintegrować możliwości Obraz na 3D Meshy z własną aplikacją. W tej sekcji znajdziesz wszystkie informacje,
których potrzebujesz, aby rozpocząć pracę z tym API.
Ten punkt końcowy umożliwia utworzenie nowego zadania Obraz na 3D. Zobacz
Obiekt zadania Obraz na 3D, aby sprawdzić, które
właściwości są zawarte w obiekcie zadania Obraz na 3D.
Parametry
Wymagane jest tylko jedno z input_task_id lub image_url. Jeśli podano oba, input_task_id ma priorytet.
Name
input_task_id
Type
string
Wymagane
Description
ID ukończonego zadania generowania obrazu, którego wynik powinien zostać użyty jako obraz wejściowy. To zadanie musi być jednym z następujących zadań: Tekst na obraz lub Obraz na obraz. Ponadto musi zostać uruchomione przez API, mieć status SUCCEEDED i wygenerować dokładnie jeden obraz.
Name
image_url
Type
string
Wymagane
Description
Podaj obraz, którego Meshy ma użyć do tworzenia modelu. Obecnie obsługujemy formaty .jpg, .jpeg i .png.
Obraz można podać na dwa sposoby:
Publicznie dostępny URL: URL dostępny z publicznego internetu.
Data URI: Zakodowany w base64 identyfikator URI danych obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
model_type
Type
string
domyślne standard
Description
Określ typ generowania siatki 3D.
Dostępne wartości:
standard: Zwykłe generowanie siatki 3D o wysokim poziomie szczegółowości.
lowpoly: Generuje siatkę low-poly zoptymalizowaną pod kątem czystszych wielokątów.
Gdy wybrano lowpoly, ai_model, topology, target_polycount, should_remesh, save_pre_remeshed_model są ignorowane.
Name
ai_model
Type
string
domyślne latest
Description
ID modelu do użycia. Dostępne wartości: meshy-5, meshy-6, latest (Meshy 6).
Name
should_texture
Type
boolean
domyślne true
Description
Określa, czy generowane są tekstury. Ustawienie tej wartości na false pomija fazę tekstury, 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 lub latest.
Name
hd_texture
Type
boolean
domyślne false
Description
Generuje teksturę koloru bazowego w rozdzielczości 4K (4096×4096), aby uzyskać więcej szczegółów.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6 lub latest. Mapy PBR są zawsze generowane w 2K.
Name
texture_prompt
Type
string
Description
Podaj tekstowy prompt, aby pokierować procesem teksturowania. Maksymalnie 600 znaków.
Name
texture_image_url
Type
string
Description
Podaj obraz 2D, aby pokierować procesem teksturowania. Obecnie obsługujemy formaty .jpg, .jpeg i .png.
Obraz można podać na dwa sposoby:
Publicznie dostępny URL: URL dostępny z 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 między oryginalnym assetem a przesłanym obrazem występują znaczne różnice geometrii. Do kierowania procesem teksturowania można użyć tylko jednego z texture_image_url lub texture_prompt. Jeśli podano oba parametry, domyślnie do teksturowania modelu zostanie użyty texture_prompt. Teksturowanie za pomocą tekstu lub obrazu będzie kosztować 10 kredytów za zadanie.
Name
should_remesh
Type
boolean
domyślne false (meshy-6), true (others)
Description
Kontroluje, czy włączyć fazę Remesh. Po ustawieniu na false API zwraca trójkątną siatkę o najwyższej precyzji.
Dotyczy tylko gdy should_remesh = true
Name
topology
Type
string
domyślne triangle
Description
Określ topology wygenerowanego modelu.
Dostępne wartości:
quad: Generuje siatkę z przewagą czworokątów.
triangle: Generuje zredukowaną siatkę trójkątną.
Name
target_polycount
Type
integer
domyślne 30,000
Description
Określ docelową liczbę wielokątów w wygenerowanym 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 wartości różni się w zależności od poziomu użytkownika:
Od 100 do 300 000 (włącznie)
Name
decimation_mode
Type
integer
Description
Włącz adaptacyjną decymację, ustawiając poziom liczby wielokątów. Po ustawieniu target_polycount jest ignorowane.
Dostępne wartości:
1: Adaptacyjnie — ultrawysoka liczba wielokątów.
2: Adaptacyjnie — wysoka liczba wielokątów.
3: Adaptacyjnie — średnia liczba wielokątów.
4: Adaptacyjnie — niska liczba wielokątów.
Name
save_pre_remeshed_model
Type
boolean
domyślne false
Description
Po ustawieniu na true Meshy zapisuje również dodatkowy plik GLB przed ukończeniem fazy 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 tryb pozy dla wygenerowanego modelu.
Dostępne wartości:
a-pose: Generuje model w pozie A.
t-pose: Generuje model w pozie T.
"" (pusty ciąg): Nie zastosowano żadnej 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 obraz wejściowy w celu uzyskania lepszych rezultatów. Ustaw na false, aby zachować dokładny wygląd obrazu wejściowego bez żadnego przetwarzania stylu.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6 lub latest.
Name
remove_lighting
Type
boolean
domyślne true
Description
Usuwa rozjaśnienia i cienie z tekstury koloru bazowego, dając czystszy rezultat, który lepiej działa przy niestandardowych ustawieniach oświetlenia.
Obsługiwane tylko wtedy, gdy ai_model to meshy-6 lub latest.
Name
moderation
Type
boolean
domyślne false
Description
Po ustawieniu na true treść wejściowa zostanie automatycznie sprawdzona pod kątem potencjalnie szkodliwych treści. Jeśli zostanie wykryta szkodliwa treść, zadanie nie przejdzie do generowania.
Sprawdzona zostanie treść z wejść image_url, texture_image_url i texture_prompt.
Name
target_formats
Type
string[]
Description
Określa, które formaty plików 3D uwzględnić w wyniku. Tylko żądane formaty zostaną wygenerowane i zwrócone, co może skrócić czas ukończenia zadania. W przypadku pominięcia uwzględniane są wszystkie obsługiwane formaty.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
W przypadku pominięcia generowane są wszystkie formaty oprócz 3mf. 3mf jest uwzględniane tylko wtedy, gdy zostanie wyraźnie określone.
Name
auto_size
Type
boolean
domyślne false
Description
Po ustawieniu na true usługa używa wizji AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiedniej zmiany rozmiaru modelu. Punkt początkowy będzie domyślnie ustawiony na bottom, chyba że origin_at zostanie jawnie ustawione.
Name
alpha_thumbnail
Type
boolean
domyślne false
Description
Po ustawieniu 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
Po ustawieniu na true zadanie dodatkowo renderuje cztery miniatury widoków kardynalnych (przód, prawa strona, tył, lewa strona) i zwraca je w thumbnail_urls w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian i nadal wskazuje widok z przodu, więc nie ma to wpływu na istniejących klientów.
Dodaje około 3 sekundy do opóźnienia zadania.
Dotyczy tylko gdy auto_size = true
Name
origin_at
Type
string
domyślne bottom
Description
Położenie punktu początkowego, gdy auto_size jest włączone.
Dostępne wartości: bottom, center.
Zwraca
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Obraz na 3D.
Tryby niepowodzenia
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Częste przyczyny:
Brakujący parametr: Należy podać image_url albo input_task_id.
Nieprawidłowe zadanie wejściowe: input_task_id musi odnosić się do zadania Tekst na obraz lub Obraz na obraz ze statusem SUCCEEDED, które generuje dokładnie jeden obraz.
Nieprawidłowy format obrazu: Podany image_url nie jest obsługiwanym formatem (.jpg, .jpeg, .png).
Nieosiągalny URL: Nie można było pobrać image_url (404 lub timeout).
Nieprawidłowy Data URI: Ciąg base64 jest nieprawidłowo sformatowany.
Nieprawidłowa kombinacja parametrów: enable_pbr jest obsługiwane tylko wtedy, gdy should_texture ma wartość true.
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/image-to-3d
# Simple request with required paramscurl https://api.meshy.ai/openapi/v1/image-to-3d \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'# With remesh, PBR, and A-posecurl https://api.meshy.ai/openapi/v1/image-to-3d \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<your publicly accessible image url or base64-encoded data URI>", "enable_pbr": true, "should_remesh": true, "target_polycount": 100000, "should_texture": true, "pose_mode": "a-pose", "target_formats": ["glb"] }'
Ten punkt końcowy pozwala pobrać zadanie Obraz na 3D przy użyciu prawidłowego id zadania.
Zobacz Obiekt zadania Obraz na 3D, aby sprawdzić, które
właściwości są zawarte w obiekcie zadania Obraz na 3D.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania Obraz na 3D do pobrania.
Obiekt zadania Obraz na 3D to jednostka pracy, którą Meshy śledzi w celu wygenerowania modelu 3D na podstawie wejściowego obrazu.
Obiekt ma następujące właściwości:
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Chociaż używamy k-sortowalnego UUID dla identyfikatorów zadań jako
szczegółu implementacyjnego, nie należy przyjmować żadnych założeń dotyczących formatu id.
Name
type
Type
string
Description
Typ zadania Obraz na 3D. Wartość to image-to-3d.
Name
model_urls
Type
object
Description
URL do pobrania pliku teksturowanego modelu 3D wygenerowanego przez Meshy. Właściwość dla formatu zostanie pominięta, jeśli format nie został wygenerowany, zamiast zwracania pustego ciągu znaków.
Name
glb
Type
string
Description
URL do pobrania pliku GLB.
Name
fbx
Type
string
Description
URL do pobrania pliku FBX.
Name
obj
Type
string
Description
URL do pobrania pliku OBJ.
Name
usdz
Type
string
Description
URL do pobrania pliku USDZ.
Name
mtl
Type
string
Description
URL do pobrania pliku MTL, zwracany wraz z eksportami OBJ, gdy obecne są tekstury.
Name
stl
Type
string
Description
URL do pobrania pliku STL.
Name
3mf
Type
string
Description
URL do pobrania pliku 3MF. Obecny tylko wtedy, gdy 3mf został zażądany przez target_formats.
Name
pre_remeshed_glb
Type
string
Description
URL do pobrania oryginalnego wyniku GLB przed remeshingiem.
Dostępny 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
URL do pobrania obrazu miniatury pliku modelu. Odpowiednik thumbnail_urls.front, gdy jest obecny, zachowany dla kompatybilności wstecznej.
Name
alpha_thumbnail_url
Type
string
Description
URL do pobrania 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
Adresy URL do pobrania czterech miniatur wygenerowanego modelu 3D z widoków kardynalnych. 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 wielu kątów w potokach wsadowych bez pobierania GLB.
Obecne tylko wtedy, gdy zadanie zostało utworzone z multi_view_thumbnails: true i osiągnęło SUCCEEDED. Starsze zadania oraz zadania utworzone bez zgody nie będą zawierać tego pola.
Name
front
Type
string
Description
Widok z przodu, obrót 0° wokół osi pionowej (odpowiada thumbnail_url).
Name
right
Type
string
Description
Widok z prawej, obrót 90°.
Name
back
Type
string
Description
Widok z tyłu, obrót 180°.
Name
left
Type
string
Description
Widok z lewej, obrót 270°.
Name
texture_prompt
Type
string
Description
Prompt tekstowy, który został użyty do prowadzenia procesu teksturowania.
Name
texture_image_url
Type
string
Description
URL do pobrania obrazu tekstury, który został użyty do prowadzenia procesu teksturowania.
Name
progress
Type
integer
Description
Progress zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie mieć wartość 0. Gdy zadanie zakończy się powodzeniem, stanie się 100.
Name
started_at
Type
timestamp
Description
Znacznik czasu momentu rozpoczęcia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie mieć 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 PM GMT jest reprezentowany jako 1693569600000. Dotyczy to
wszystkich znaczników czasu w Meshy API.
Name
created_at
Type
timestamp
Description
Znacznik czasu momentu utworzenia zadania, w milisekundach.
Name
expires_at
Type
timestamp
Description
Znacznik czasu momentu wygaśnięcia wyniku zadania, w milisekundach.
Name
finished_at
Type
timestamp
Description
Znacznik czasu momentu zakończenia zadania, w milisekundach. Jeśli zadanie nie jest jeszcze zakończone, ta właściwość będzie mieć wartość 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 URL tekstur wygenerowanych z 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
URL do pobrania obrazu mapy koloru bazowego.
Name
metallic
Type
string
Description
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
URL do pobrania obrazu mapa normalnych.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
roughness
Type
string
Description
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
URL do pobrania obrazu mapy emisji.
Jeśli zadanie zostało utworzone z enable_pbr: false lub ai_model to meshy-5, 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 zadań zakończonych niepowodzeniem. Zobacz Błędy, aby uzyskać pełną referencję obiektu task_error.
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).