Obraz na 3D API to funkcja, która pozwala zintegrować możliwości Obraz na 3D Meshy z Twoją własną aplikacją. W tej sekcji znajdziesz wszelkie informacje
potrzebne do rozpoczęcia pracy z tym API.
Ten punkt końcowy pozwala na utworzenie nowego zadania Obraz na 3D. Odniesienie do
Obiektu zadania Obraz na 3D pokaże, które
właściwości są zawarte w obiekcie zadania Obraz na 3D.
Parametry
Wymagane jest podanie jednego z dwóch: input_task_id lub image_url. Jeśli oba są podane, priorytet ma input_task_id.
Name
input_task_id
Type
string
Wymagane
Description
ID zakończonego zadania generowania obrazu, którego wynik powinien być użyty jako obraz wejściowy. Zadanie to musi być jednym z następujących: Tekst na obraz lub Obraz na obraz. Dodatkowo, musiało być uruchomione przez API, mieć status SUCCEEDED i wygenerować dokładnie jeden obraz.
Name
image_url
Type
string
Wymagane
Description
Podaj obraz dla Meshy do użycia w tworzeniu modelu. Aktualnie obsługujemy formaty .jpg, .jpeg, i .png.
Istnieją dwa sposoby podania obrazu:
Publicznie dostępny URL: URL dostępny z publicznego internetu.
Data URI: Zaszyfrowany w base64 Data URI obrazu. Przykład Data URI: data:image/jpeg;base64,<twoje obrazowe dane zakodowane w base64>.
Name
model_type
Type
string
domyślne standard
Description
Określ typ generowania siatki 3D.
Dostępne wartości:
standard: Regularne generowanie siatki 3D z wysoką szczegółowością.
smart-topology: Wybierz model z Smart Topology używając ai_model (meshy-t1 lub meshy-t2).
lowpoly (przestarzałe): Generuje siatkę low-poly zoptymalizowaną dla czystszych wielokątów. Zalecamy użycie smart-topology zamiast tego.
Gdy wybrano smart-topology, topology, should_remesh i save_pre_remeshed_model są ignorowane.
Gdy wybrano lowpoly, ai_model, topology, target_polycount, should_remesh i save_pre_remeshed_model są ignorowane.
Name
ai_model
Type
string
domyślne latest
Description
ID modelu do użycia. Dostępne wartości zależą od model_type.
Standardowa generacja (model_type: standard):
meshy-5, meshy-6, meshy-7, latest (Meshy 7)
Generacja z Smart Topology (model_type: smart-topology):
meshy-t2 (domyślnie, zalecane): model Smart Topology — czystsza topologia, natywnie oddzielone części, wynik w trójkątach, oraz liczba twarzy którą można ustawić za pomocą target_polycount.
meshy-t1: stary model low-poly; nie obsługuje ustawiania liczby twarzy za pomocą target_polycount.
Name
ultra_mode
Type
boolean
domyślne false
Description
Włącza generację Ultra dla geometrii o wyższej wierności z drobniejszymi detalami powierzchni.
Obsługiwane tylko, gdy ai_model to meshy-7 (lub latest).
Name
should_texture
Type
boolean
domyślne true
Description
Określa, czy generowane są tekstury. 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 (metallic, roughness, normal) oprócz koloru podstawowego. Mapa emisji jest również dołączona, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k. meshy-7 i latest nie produkują mapy emisji.
Name
texture_resolution
Type
string
domyślne 2k
Description
Rozdzielczość tekstury koloru podstawowego. Jeden z 2k (2048×2048), 4k (4096×4096), lub 8k (8192×8192). Wyższe rozdzielczości chwytają więcej detali powierzchni.
4k i 8k nie są dostępne z ai_model: meshy-5. W 8k nie jest produkowana mapa emisji.
Name
hd_texture
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj texture_resolution zamiast — równoważne texture_resolution: "4k". Gdy obie wartości są ustawione, texture_resolution ma pierwszeństwo.
Name
texture_prompt
Type
string
Description
Podaj tekst instrukcji do kierowania procesem teksturowania. Maksymalnie 600 znaków.
Name
texture_image_url
Type
string
Description
Podaj obraz 2D do kierowania procesem teksturowania. Aktualnie obsługujemy formaty .jpg, .jpeg i .png.
Istnieją dwa sposoby podania obrazu:
Publicznie dostępny URL: URL dostępny z publicznego internetu
Data URI: Zaszyfrowany w base64 Data URI obrazu. Przykład z Data URI: data:image/jpeg;base64,<twoje obrazowe dane zakodowane w base64>
Teksturowanie obrazu może nie działać optymalnie, jeśli występują znaczące różnice geometryczne pomiędzy oryginalnym zasobem a załadowanym obrazem. Może być użyty tylko jeden z texture_image_url lub texture_prompt do kierowania procesem teksturowania. Jeśli oba parametry zostaną dostarczone, texture_prompt zostanie użyte do teksturowania modelu domyślnie. Teksturowanie za pomocą tekstu lub obrazu będzie kosztować 10 kredytów na zadanie.
Name
should_remesh
Type
boolean
domyślne false (meshy-6, meshy-7), true (inne)
Description
Kontroluje, czy włączyć fazę remesh. Dla najlepszego jakościowo modelu rekomendujemy ustawić 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: Generuj siatkę dominującą w kwadraty.
triangle: Generuj zredukowaną siatkę trójkątów.
Name
decimation_mode
Type
integer
Description
Włącz adaptacyjną dekompresję przez ustawienie poziomu liczby wielokątów. Gdy jest ustawione, target_polycount jest ignorowane.
Dostępne wartości:
1: Adaptive — ultra liczba wielokątów.
2: Adaptive — wysoka liczba wielokątów.
3: Adaptive — średnia liczba wielokątów.
4: Adaptive — niska liczba wielokątów.
Name
save_pre_remeshed_model
Type
boolean
domyślne false
Description
Gdy ustawione na true, Meshy także zapisuje dodatkowy plik GLB przed zakończeniem fazy remesh.
Name
target_polycount
Type
integer
Description
Docelowa liczba wielokątów (twarzy) w wyniku. Rzeczywista liczba może odbiegać od celu w zależności od geometr...
target_polycount działa w dwóch niezależnych przypadkach:
Remesh — z should_remesh: true na modelu standard. Siatka jest remeshed (decydująca) do około tej liczby. Zakres od 100 do 300,000, domyślnie 30,000. Jeśli decimation_mode jest ustawiony, ma pierwszeństwo i target_polycount jest ignorowane.
Smart Topology — z model_type: smart-topology i ai_model: meshy-t2. Model jest generowany bezpośrednio w tej liczbie twarzy; nie wykonywany jest remesh i should_remesh nie jest wymagane. Zakres od 100 do 15,000, domyślnie 4,000.
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 generacji 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 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 zastosowano żadnej konkretnej pozy.
Name
is_a_t_pose
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj pose_mode zamiast. Czy generować model w pozycji A/T.
Name
image_enhancement
Type
boolean
domyślne true
Description
Optymalizuje obraz wejściowy dla lepszych wyników. Ustaw na false, aby zachować dokładny wygląd obrazu wejściowego bez jakiejkolwiek obróbki stylu.
Obsługiwane tylko, gdy ai_model to meshy-6, meshy-7, lub latest.
Name
remove_lighting
Type
boolean
domyślne true
Description
Usuwa refleksy i cienie z podstawowej tekstury koloru, skutkując czystszym wynikiem, który działa lepiej w niestandardowych ustawieniach oświetlenia.
Obsługiwane tylko, gdy ai_model to meshy-6.
Name
moderation
Type
boolean
domyślne false
Description
Gdy ustawione na true, zawartość wejściowa będzie automatycznie sprawdzana pod kątem potencjalnie szkodliwej zawartości. Jeśli wykryta zostanie szk...
Zawartość z image_url, texture_image_url i texture_prompt zostanie przetestowane.
Name
target_formats
Type
string[]
Description
Określa, które formaty plików 3D mają być zawarte w wyniku. Tylko żądane formaty będą generowane i zwracane, co może zredukować czas zakończenia zadania...
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Gdy pominięte, wszystkie formaty oprócz 3mf są generowane. 3mf jest dołączony tylko, gdy jest wyraźnie określone.
Name
auto_size
Type
boolean
domyślne false
Description
Gdy ustawione na true, usługa używa wizji AI do automatycznego określenia rzeczywistej wysokości obiektu i odpowiednio zmienia jego rozmiar. Punkt początku...
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...
Name
multi_view_thumbnails
Type
boolean
domyślne false
Description
Gdy ustawione na true, zadanie dodatkowo renderuje cztery miniaturki widoku kardynalnego (przód, prawo, tył, lewo) i zwraca je jako thumbnail_urls w...
Dodaje około 3 sekund do opóźnienia w zadaniach.
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 nowo utworzonego zadania Obraz na 3D.
Tryby niepowodzenia
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Powszechne przyczyny:
Missing parameter: Either image_url or input_task_id must be provided.
Invalid input task: input_task_id musi odnosić się do SUCCEEDED Tekst na Obraz lub Obraz na Obraz, zadanie które produkuje dokładnie jeden obraz.
Invalid image format: Podany image_url nie jest obsługiwanym formatem (.jpg, .jpeg, .png).
Unreachable URL: image_url nie można było pobrać (404 lub timeout).
Invalid Data URI: Ciąg base64 jest uszkodzony.
Invalid kombinacja parametrów: enable_pbr jest obsługiwane tylko, gdy should_texture jest prawdziwe.
Name
401 - Unauthorized
Description
Autoryzacja nie powiodła się. Proszę sprawdzić swój klucz API.
Name
402 - Payment Required
Description
Niewystarczająca ilość kredytów do wykonania tego zadania.
Name
429 - Too Many Requests
Description
Przekroczyli Państwo limit szybkości.
Request
POST
/openapi/v1/image-to-3d
# Proste żądanie z wymaganymi parametramicurlhttps://api.meshy.ai/openapi/v1/image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'# Z remesh, PBR i pozycją Acurlhttps://api.meshy.ai/openapi/v1/image-to-3d \-XPOST \-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 na pobranie zadania Obraz na 3D podając prawidłowe id zadania.
Odniesienie do Obiektu zadania Obraz na 3D pokaże, 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 robocza, którą Meshy śledzi, aby wygenerować model 3D z wejściem obrazowym.
Obiekt posiada następujące właściwości:
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Podczas gdy używamy k-sortowalnych UUID do identyfikatorów zadań jako
szczegółu implementacji, nie należy robić żadnych założeń co do formatu identyfikatora.
Name
type
Type
string
Description
Typ zadania Obraz na 3D. Wartość to image-to-3d.
Name
model_urls
Type
object
Description
Możliwe do pobrania URL do pliku z teksturowanym modelem 3D wygenerowanym przez Meshy. Właściwość dla formatu zostanie pominięta, jeśli format nie jest generowany zamiast zwracania pustego ciągu.
Name
glb
Type
string
Description
Możliwe do pobrania URL do pliku GLB.
Name
fbx
Type
string
Description
Możliwe do pobrania URL do pliku FBX.
Name
obj
Type
string
Description
Możliwe do pobrania URL do pliku OBJ.
Name
usdz
Type
string
Description
Możliwe do pobrania URL do pliku USDZ.
Name
mtl
Type
string
Description
Możliwe do pobrania URL do pliku MTL, zwracany wraz z eksportami OBJ, gdy obecne są tekstury.
Name
stl
Type
string
Description
Możliwe do pobrania URL do pliku STL.
Name
3mf
Type
string
Description
Możliwe do pobrania URL do pliku 3MF. Występuje tylko po wyraźnym żądaniu formatu 3mf.
Name
pre_remeshed_glb
Type
string
Description
Możliwe do pobrania URL do oryginalnego wyjścia GLB przed remeshingiem.
Dostępne tylko wtedy, gdy zadanie zostało utworzone z should_remesh: true i save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
Możliwe do pobrania URL do obrazu miniaturki pliku modelu. Odpowiada thumbnail_urls.front po obecności, zachowane dla zgodności wstecznej.
Name
alpha_thumbnail_url
Type
string
Description
Możliwe do pobrania URL do wersji miniaturki z przezroczystym tłem (RGBA). Obecne tylko, 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
Możliwe do pobrania URL do czterech miniatur w widoku kardynalnym wygenerowanego modelu 3D. Każda wartość to podpisane URL do 512×512 PNG renderowane z tymi samymi materiałami i oświetleniem jak thumbnail_url. Przydatne do podglądu modelu z wielu kątów w zautomatyzowanych procesach bez pobierania GLB.
Obecne tylko, gdy zadanie zostało utworzone z multi_view_thumbnails: true i osiągnęło SUCCEEDED. Starsze zadania i zadania utworzone bez zgody nie będą zawierać tego pola.
Name
front
Type
string
Description
Widok przedni, obrót 0° wokół osi pionowej (pasuje do thumbnail_url).
Name
right
Type
string
Description
Widok prawy, obrót 90°.
Name
back
Type
string
Description
Widok tylny, obrót 180°.
Name
left
Type
string
Description
Widok lewy, obrót 270°.
Name
texture_prompt
Type
string
Description
Tekstowy prompt użyty do kierowania procesem teksturowania.
Name
texture_image_url
Type
string
Description
Możliwe do pobrania URL do obrazu tekstury użytego do kierowania procesem teksturowania.
Name
ultra_mode
Type
boolean
Description
Odzwierciedla wartość ultra_mode, z jaką zadanie zostało utworzone. Obecne tylko dla zadań meshy-7 (lub latest), które wyraźnie ustawiły ultra_mode; w przeciwnym razie pominięte.
Name
progress
Type
integer
Description
Postęp zadania. Jeśli zadanie jeszcze się nie rozpoczęło, właściwość ta wynosi 0. Gdy zadanie zakończy się sukcesem, wartość wyniesie 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ść wynosi 0.
Znacznik czasu reprezentuje liczbę milisekund, które upłynęły od 1 stycznia 1970 roku UTC, zgodnie ze
standardem RFC 3339.
Na przykład, piątek, 1 września 2023 roku 12:00:00 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, w którym nastąpi wygaśnięcie 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, właściwość ta wynosi 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 URL-ów teksturlów, które zostały wygenerowane w ramach zadania. Zazwyczaj zawiera jeden obiekt URL tekstury. Każdy URL tekstury posiada następujące właściwości:
Name
base_color
Type
string
Description
Możliwe do pobrania URL do obrazu mapy koloru podstawowego.
Name
metallic
Type
string
Description
Możliwe do pobrania URL do 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
Możliwe do pobrania URL do 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
Możliwe do pobrania URL do obrazu mapy szorstkości.
Jeśli zadanie zostało utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
emission
Type
string
Description
Możliwe do pobrania URL do obrazu mapy emisji.
Jeśli zadanie zostało utworzone z enable_pbr: false, lub ai_model to meshy-5, meshy-7, 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łędów dla zadań zakończonych niepowodzeniem. Zobacz Błędy dla pełnej referencji obiektów 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).