Obraz na 3D API to funkcja, która pozwala na integrację możliwości Obraz na 3D Meshy 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
Wymagane jest podanie tylko jednego z: input_task_id lub image_url. Jeśli podano oba, priorytet ma input_task_id.
Name
input_task_id
Type
string
Wymagane
Description
ID ukończonego zadania generowania obrazu, którego wynik ma zostać użyty jako obraz wejściowy. To zadanie musi być jednym z następujących: 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óry Meshy użyje do utworzenia modelu. Obecnie obsługujemy formaty .jpg, .jpeg i .png.
Istnieją dwa sposoby dostarczenia obrazu:
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: standardowe generowanie siatki 3D o wysokiej 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 zamiast tego użycie smart-topology.
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 do użycia. Dostępne wartości zależą od model_type.
meshy-t2 (domyślne): model Smart Topology — czystsza topologia, natywnie rozdzielone części, wynik trójkątny oraz liczba ścian, którą można ustawić za pomocą target_polycount.
Name
ultra_mode
Type
boolean
domyślne false
Description
Włącza generowanie Ultra dla geometrii o wyższej wierności i drobniejszych szczegółach 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ę 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-7 i latest nie generują mapy emisji.
Name
texture_resolution
Type
string
domyślne 2k
Description
Rozdzielczość tekstury koloru bazowego. Jedna z: 2k (2048×2048), 4k (4096×4096) lub 8k (8192×8192). Wyższe rozdzielczości uchwytują więcej szczegółów powierzchni.
4k i 8k nie są dostępne z ai_model: meshy-5. Przy 8k nie jest generowana mapa emisji.
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, texture_resolution ma pierwszeństwo.
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 obsługujemy formaty .jpg, .jpeg i .png.
Istnieją dwa sposoby dostarczenia obrazu:
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 obrazu może nie działać optymalnie, jeśli istnieją istotne różnice geometrii między oryginalnym zasobem a przesłanym obrazem. Do ukierunkowania procesu 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 kosztuje 10 kredytów za zadanie.
Name
should_remesh
Type
boolean
domyślne false (meshy-6, meshy-7), true (others)
Description
Kontroluje, czy włączyć fazę remesh. Aby uzyskać model 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ę wygenerowanego 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 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
Gdy ustawione na true, Meshy dodatkowo zapisuje dodatkowy 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 w przybliżeniu tej liczby. Zakres od 100 do 300 000, domyślnie 30 000. Jeśli ustawiono decimation_mode, ma on pierwszeństwo, a target_polycount jest ignorowane.
Smart Topology — z model_type: smart-topology i ai_model: meshy-t2. Model jest generowany bezpośrednio z tą liczbą ścian; remesh nie jest uruchamiany, a 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 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 dla wygenerowanego modelu.
Dostępne wartości:
a-pose: generuje model w pozycji A.
t-pose: generuje model w pozycji T.
"" (pusty ciąg znaków): nie zastosowano konkretnej pozy.
Name
is_a_t_pose
Type
boolean
⚠ przestarzałe
domyślne false
Description
Zamiast tego użyj pose_mode. Czy generować model w pozycji 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 jakiegokolwiek przetwarzania stylu.
Obsługiwane tylko 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 wynik, który lepiej sprawdza się przy niestandardowych konfiguracjach oświetlenia.
Obsługiwane tylko 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ą treść, zadanie nie przejdzie do generowania.
Sprawdzana będzie treść z danych wejściowych image_url, texture_image_url i 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 ukończenia zadania. Gdy pominięte, uwzględniane są wszystkie obsługiwane formaty.
Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf
Gdy pominięte, generowane są wszystkie formaty poza 3mf. 3mf jest dołączany tylko wtedy, gdy zostanie jawnie 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 zmienienia rozmiaru modelu. Punkt początkowy domyślnie ustawi się na 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 z widokami kierunkowymi (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 na widok z przodu, więc istniejący klienci nie są dotknięci.
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.
Zwracane wartości
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania Obraz na 3D.
Tryby awarii
Name
400 - Bad Request
Description
Żądanie było niedopuszczalne. Typowe przyczyny:
Brakujący parametr: należy podać 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 o statusie SUCCEEDED, które generuje dokładnie jeden obraz.
Nieprawidłowy format obrazu: podany image_url nie jest w obsługiwanym formacie (.jpg, .jpeg, .png).
Niedostępny URL: nie udało się 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 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 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>", "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łowy id zadania.
Odnieś się do Obiekt zadania Obraz na 3D, aby zobaczyć, które
właściwości są zawarte w obiekcie zadania Obraz na 3D.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator dla zadania Obraz na 3D do pobrania.
Obiekt zadania Obraz na 3D to jednostka pracy, którą Meshy śledzi, aby wygenerować model 3D z 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 UUID sortowalnego k dla identyfikatorów zadań jako szczegółu implementacji, nie powinieneś zakładać żadnego formatu identyfikatora.
Name
type
Type
string
Description
Typ zadania Obraz na 3D. Wartość to image-to-3d.
Name
model_urls
Type
object
Description
Pobieralny URL do pliku modelu 3D z teksturą wygenerowanego przez Meshy. Właściwość dla formatu zostanie pominięta, jeśli format nie zostanie wygenerowany, zamiast zwracać pusty ciąg.
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 przez target_formats.
Name
pre_remeshed_glb
Type
string
Description
Pobieralny 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
Pobieralny URL do miniatury obrazu pliku modelu. Odpowiada thumbnail_urls.front, gdy jest obecny, zachowany dla kompatybilnoś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 przezroczysta wersja została pomyślnie wyrenderowana; w przeciwnym razie to pole jest pomijane.
Name
thumbnail_urls
Type
object
Description
Pobieralne URL-e dla czterech miniatur widoków kardynalnych wygenerowanego modelu 3D. Każda wartość to podpisany URL do 512×512 PNG wyrenderowanego z tymi samymi materiałami i oświetleniem co thumbnail_url. Przydatne do podglądu modelu z różnych 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 i zadania utworzone bez opcji nie będą zawierały 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
Tekstowy prompt, który został użyty do kierowania procesem teksturowania.
Name
texture_image_url
Type
string
Description
Pobieralny URL do obrazu tekstury, który został użyty do kierowania procesem teksturowania.
Name
ultra_mode
Type
boolean
Description
Odzwierciedla wartość ultra_mode, z którą zadanie zostało utworzone. Obecne tylko dla zadań meshy-7 (lub latest), które wyraźnie ustawiły ultra_mode; w przeciwnym razie pomijane.
Name
progress
Type
integer
Description
Postęp zadania. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała 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, ta właściwość będzie miała 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 Meshy API.
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 wygasa, w milisekundach.
Name
finished_at
Type
timestamp
Description
Znacznik czasu, kiedy zadanie zostało zakończone, w milisekundach. Jeśli zadanie jeszcze się nie zakończyło, ta właściwość będzie miała 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 URL tekstur, które są generowane 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
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, ta właściwość zostanie pominięta.
Name
normal
Type
string
Description
Pobieralny URL do obrazu mapy normalnych.
Jeśli zadanie jest utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
Name
roughness
Type
string
Description
Pobieralny URL do obrazu mapy szorstkości.
Jeśli zadanie jest utworzone z enable_pbr: false, ta właściwość zostanie pominięta.
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, 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łę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).