Obraz na 3D API to funkcja, która umożliwia zintegrowanie możliwości Meshy w zakresie konwersji obrazu na 3D z Twoją 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 Obraz na 3D. Zapoznaj się z
Obiektem zadania Obraz na 3D, aby zobaczyć, jakie
właściwości są zawarte w obiekcie zadania Obraz na 3D.
Parametry
Wymagany jest tylko jeden z parametrów input_task_id lub image_url. Jeśli oba zostaną podane, input_task_id ma priorytet.
Name
input_task_id
Type
string
Wymagane
Description
ID zakończonego zadania generowania obrazu, którego wynik powinien zostać użyty jako obraz wejściowy. To zadanie musi być jednym z następujących: Tekst na obraz lub Obraz na obraz. Ponadto musiało zostać uruchomione za pomocą API, mieć status SUCCEEDED i wygenerować dokładnie jeden obraz.
Name
image_url
Type
string
Wymagane
Description
Podaj obraz, który Meshy ma wykorzystać do utworzenia modelu. Obecnie wspieramy formaty .jpg, .jpeg i .png.
Istnieją dwa sposoby podania obrazu:
Publicznie dostępny URL: Adres 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: Standardowe generowanie siatki 3D o wysokim poziomie szczegółowości.
smart-topology: Wybierz model Smart Topology za pomocą ai_model (meshy-t2).
lowpoly (przestarzałe): Generuje siatkę low-poly zoptymalizowaną pod kątem czystszych wielokątów. Zalecamy używanie smart-topology zamiast tego.
Gdy wybrano smart-topology, parametry topology, should_remesh i save_pre_remeshed_model są ignorowane.
Gdy wybrano lowpoly, parametry 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, który ma zostać użyty. Dostępne wartości zależą od model_type.
meshy-t2 (domyślny): model Smart Topology — czystsza topology, natywnie rozdzielone części, wynik trójkątny oraz liczba ścian, którą można ustawić za pomocą target_polycount.
Name
geometry_resolution
Type
string
domyślne standard
Description
Przebieg generowania geometrii. 2k uruchamia przebieg Ultra przy rozdzielczości 2048³; 4k uruchamia go przy 4096³, zapewniając
najwyższy poziom szczegółowości powierzchni.
Dostępne wartości: standard, 2k, 4k
Wymaga meshy-7.1 lub latest.
Name
ultra_mode
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj geometry_resolution zamiast tego. 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 powoduje pominięcie fazy tekstury, 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ść, normalna) oprócz koloru podstawowego. Mapa emisji jest również dołączana, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k. Modele meshy-6-lite, meshy-7.1 i latest nie generują mapy emisji.
Name
texture_resolution
Type
string
domyślne 2k
Description
Rozdzielczość tekstury koloru podstawowego. Jedna z wartości 2k (2048×2048), 4k (4096×4096) lub 8k (8192×8192). Wyższe rozdzielczości przechwytują więcej szczegółów powierzchni.
4k i 8k nie są dostępne z ai_modelmeshy-6-lite. Przy 8k mapa emisji nie jest generowana.
Name
hd_texture
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj texture_resolution zamiast tego — jest to równoważne texture_resolution: "4k". Gdy oba są ustawione, texture_resolution ma priorytet.
Name
texture_prompt
Type
string
Description
Podaj prompt tekstowy, aby ukierunkować proces teksturowania. Maksymalnie 800 znaków.
Name
texture_image_url
Type
string
Description
Podaj obraz 2D, aby ukierunkować proces teksturowania. Obecnie wspieramy formaty .jpg, .jpeg i .png.
Istnieją dwa sposoby podania obrazu:
Publicznie dostępny URL: Adres 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 istnieją znaczne różnice geometrii między oryginalnym assetem a przesłanym obrazem. Do ukierunkowania procesu teksturowania można użyć tylko jednego z parametrów texture_image_url lub texture_prompt. Jeśli podane zostaną oba parametry, domyślnie do teksturowania modelu zostanie użyty texture_prompt. Teksturowanie za pomocą tekstu lub obrazu kosztuje 10 kredytów za zadanie.
Name
should_remesh
Type
boolean
domyślne false (Meshy 6 and Meshy 7 models), true (others)
Description
Kontroluje, czy włączyć fazę remesh. Aby uzyskać model 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ę z przewagą czworokątów.
triangle: Generuje zdecymowaną siatkę trójkątną.
Name
decimation_mode
Type
integer
Description
Włącz adaptacyjną decymację, ustawiając poziom liczby wielokątów. Gdy jest ustawiony, target_polycount jest ignorowany.
Dostępne wartości:
1: Adaptacyjny — ultra liczba wielokątów.
2: Adaptacyjny — wysoka liczba wielokątów.
3: Adaptacyjny — średnia liczba wielokątów.
4: Adaptacyjny — niska liczba wielokątów.
Name
save_pre_remeshed_model
Type
boolean
domyślne false
Description
Gdy ustawione na true, Meshy dodatkowo zapisuje osobny plik GLB przed zakończeniem fazy remesh.
Name
target_polycount
Type
integer
Description
Docelowa liczba wielokątów (ścian) w wyniku. Rzeczywista liczba może odbiegać od wartości docelowej w zależności od geometrii.
target_polycount ma zastosowanie w dwóch niezależnych przypadkach:
Remesh — z should_remesh: true na modelu standard. Siatka jest poddawana remeshowi (decymacji) do wartości zbliżonej do tej liczby. Zakres od 100 do 300 000, wartość domyślna 30 000. Jeśli ustawiono decimation_mode, ma on priorytet, a target_polycount jest ignorowany.
Smart Topology — z model_type: smart-topology i ai_model: meshy-t2. Model jest generowany bezpośrednio z tą liczbą ścian; remesh nie jest wykonywany i should_remesh nie jest wymagany. Zakres od 100 do 15 000, wartość domyślna 4 000.
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.
Poprawne wartości:
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 dla generowanego modelu.
Dostępne wartości:
a-pose: Generuje model w pozie A.
t-pose: Generuje model w pozie T.
"" (pusty ciąg): Nie zastosowano konkretnej pozy.
Name
is_a_t_pose
Type
boolean
⚠ przestarzałe
domyślne false
Description
Użyj pose_mode zamiast tego. Określa, czy generować model w pozie A/T.
Name
image_enhancement
Type
boolean
domyślne true
Description
Optymalizuje obraz wejściowy w celu uzyskania lepszych wyników. Ustaw na false, aby zachować dokładny wygląd obrazu wejściowego bez żadnego przetwarzania stylu.
Wspierane tylko wtedy, gdy ai_model to meshy-6, meshy-7.1 lub latest.
Name
remove_lighting
Type
boolean
domyślne true
Description
Usuwa refleksy świetlne i cienie z tekstury koloru podstawowego, dając czystszy wynik, który działa lepiej w niestandardowych układach oświetlenia.
Wspierane tylko wtedy, gdy ai_model to meshy-6.
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 wykryto szkodliwą zawartość, zadanie nie przejdzie do etapu generowania.
Sprawdzana będzie treść z pól wejściowych image_url, texture_image_url i texture_prompt.
Name
target_formats
Type
string[]
Description
Określa, jakie formaty plików 3D mają zostać uwzględnione w wyniku. Zostaną wygenerowane i zwrócone tylko żądane formaty, co może skrócić czas zakończenia zadania. Gdy parametr zostanie pominięty, uwzględnione zostaną wszystkie wspierane formaty.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Gdy parametr zostanie pominięty, generowane są wszystkie formaty oprócz 3mf. Format 3mf jest uwzględniany tylko wtedy, gdy zostanie wyraźnie podany.
Name
auto_size
Type
boolean
domyślne false
Description
Gdy ustawione na true, usługa wykorzystuje wizję AI, aby automatycznie oszacować rzeczywistą wysokość obiektu i odpowiednio zmienić rozmiar modelu. Punkt początkowy będzie domyślnie ustawiony na bottom, o ile origin_at nie zostanie wyraźnie 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 niezmienione.
Name
multi_view_thumbnails
Type
boolean
domyślne false
Description
Gdy ustawione na true, zadanie dodatkowo renderuje cztery miniatury z widoków kardynalnych (przód, prawo, tył, lewo) i zwraca je w polu thumbnail_urls w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje niezmienione i wciąż wskazuje na widok z przodu, więc dotychczasowi klienci nie są narażeni na żadne zmiany.
Wydłuża czas realizacji zadania o około 3 sekundy.
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.
Wartość zwracana
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Obraz na 3D.
Tryby błędów
Name
400 - Bad Request
Description
Żądanie było niepoprawne. Częste przyczyny:
Brak parametru: Musi zostać podany image_url lub 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 we wspieranym formacie (.jpg, .jpeg, .png).
Niedostępny URL: Nie można 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 wspierane tylko wtedy, gdy should_texture ma wartość true.
Nieobsługiwany model dla low poly: ai_model: "meshy-6-lite" nie wspiera model_type: "lowpoly".
Nieobsługiwany model dla Ultra: geometry_resolution wymaga meshy-7.1 lub latest.
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 paramscurlhttps://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>" }'# With Ultra 4K geometry, remesh, PBR, and A-posecurlhttps://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>", "ai_model": "meshy-7.1", "geometry_resolution": "4k", "enable_pbr": true, "should_remesh": true, "target_polycount": 100000, "should_texture": true, "pose_mode": "a-pose", "target_formats": ["glb"] }'
Ten punkt końcowy umożliwia pobranie zadania Obraz na 3D na podstawie prawidłowego id zadania.
Zapoznaj się z sekcją Obiekt zadania Obraz na 3D, aby zobaczyć, jakie
właściwości są zawarte w obiekcie zadania Obraz na 3D.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania Obraz na 3D, które ma zostać pobrane.
Ten punkt końcowy trwale usuwa zadanie Obraz na 3D, w tym wszystkie powiązane modele i dane. Ta operacja jest nieodwracalna.
Parametry ścieżki
Name
id
Type
path
Description
ID zadania Obraz na 3D do usunięcia.
Status zadania
Zadanie, które nadal ma status PENDING, jest usuwane, a kredyty zużyte
w momencie utworzenia są zwracane.
Zadania, które jest już IN_PROGRESS, nie można usunąć: żądanie zostaje
odrzucone z kodem 409 Conflict, a zadanie nadal się wykonuje. Kredyty za
zadanie, które worker już rozpoczął, nie podlegają zwrotowi, więc usunięcie
go w trakcie wykonywania kosztowałoby Cię zarówno kredyty, jak i wynik.
Poczekaj, aż osiągnie status SUCCEEDED, FAILED lub CANCELED, a
następnie je usuń.
Zadanie w stanie końcowym (SUCCEEDED, FAILED lub CANCELED) jest
usuwane bez zwrotu kredytów.
Zwracane wartości
Zwraca 200 OK w przypadku sukcesu 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 Obraz na 3D to jednostka pracy, którą Meshy śledzi w celu wygenerowania modelu 3D na podstawie danych wejściowych w postaci obrazu.
Obiekt ma następujące właściwości:
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Choć jako szczegół implementacyjny używamy k-sortowalnego UUID dla identyfikatorów zadań, nie powinieneś 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
Adres URL do pobrania pliku modelu 3D z teksturą 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 wraz z eksportem 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 za pomocą target_formats.
Name
pre_remeshed_glb
Type
string
Description
Adres URL do pobrania oryginalnego wyniku GLB przed remeshingiem.
Dostępne tylko wtedy, gdy zadanie zostało utworzone z jednoczesnym ustawieniem should_remesh: true i save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
Adres URL do pobrania miniatury pliku modelu. Odpowiednik thumbnail_urls.front, gdy jest obecny, zachowany dla zapewnienia zgodności z poprzednimi wersjami.
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 i przezroczysty podgląd został poprawnie wyrenderowany; w przeciwnym razie to pole jest pomijane.
Name
thumbnail_urls
Type
object
Description
Adresy URL do pobrania czterech miniatur widoku modelu 3D z głównych stron świata. Każda wartość to podpisany adres URL do obrazu PNG 512×512 wyrenderowanego z tymi samymi materiałami i oświetleniem jak thumbnail_url. Przydatne do podglądu modelu z wielu kątów w potokach przetwarzania wsadowego bez pobierania 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 0° wokół osi wertykalnej (odpowiada 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
texture_image_url
Type
string
Description
Adres URL do pobrania obrazu tekstury, który został użyty do kierowania procesem teksturowania.
Name
ultra_mode
Type
boolean
⚠ przestarzałe
Description
Przestarzałe; odczytaj geometry_resolution zamiast tego.
Name
geometry_resolution
Type
string
Description
Poziom Ultra, na którym uruchomiono zadanie (2k lub 4k); pomijane dla standard.
Name
progress
Type
integer
Description
Progress zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie równa 0. Gdy zadanie zakończy się sukcesem, wartość ta zmieni się na 100.
Name
started_at
Type
timestamp
Description
Znacznik czasu wskazujący, kiedy zadanie zostało rozpoczęte, w milisekundach. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie równa 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 Meshy API.
Name
created_at
Type
timestamp
Description
Znacznik czasu wskazujący, kiedy zadanie zostało utworzone, w milisekundach.
Name
expires_at
Type
timestamp
Description
Znacznik czasu wskazujący, kiedy wynik zadania wygaśnie, w milisekundach.
Name
finished_at
Type
timestamp
Description
Znacznik czasu wskazujący, kiedy zadanie zostało zakończone, w milisekundach. Jeśli zadanie nie zostało jeszcze zakończone, ta właściwość będzie równa 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 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 kolorów podstawowych.
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 to meshy-6-lite, meshy-7.1 lub latest, ta właściwość zostanie pominięta.
Name
preceding_tasks
Type
integer
Description
Liczba zadań poprzedzających.
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, aby zapoznać się z pełnym opisem 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).