API Wiele obrazów na 3D
Wygeneruj model 3D na podstawie od jednego do czterech obrazów tego samego obiektu, wykonanych pod różnymi kątami.
Utwórz zadanie Wiele obrazów na 3D
Tworzy zadanie Wiele obrazów na 3D. Zadanie jest wykonywane w tle. Informacje o tym, jak długo zwykle trwa zadanie, znajdziesz w sekcji Czasy przetwarzania. Informacje o polach, jakie posiada zadanie, znajdziesz w sekcji Obiekt zadania Wiele obrazów na 3D.
Request
# Simple request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-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>"
]
}'
# With Ultra 2K geometry, PBR texturing, and GLB format
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-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>"
],
"ai_model": "meshy-7.1",
"geometry_resolution": "2k",
"should_texture": true,
"enable_pbr": true,
"target_formats": ["glb"]
}'
# Textured with Meshy N1 from the input images, the first as the front view
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_urls": [
"<your front view image url or base64-encoded data URI>",
"<your back view image url or base64-encoded data URI>"
],
"ai_model": "meshy-7.1",
"texture_model": "meshy-n1"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Parametry
- Name
- input_task_id
- Type
- string
- Wymagane
- Description
Wymagane, chyba że wyślesz
image_urls. ID zadania Tekst na obraz lub Obraz na obraz, w tym zadania typu Wiele widoków. Meshy używa od jednego do czterech jego obrazów jako danych wejściowych. Zadanie musi być utworzone przez Ciebie za pomocą API i mieć statusSUCCEEDED.
- Name
- image_urls
- Type
- array
- Wymagane
- Description
Wymagane, chyba że wyślesz
input_task_id. Od jednego do czterech obrazów, każdy jako publiczny URL lub Data URI, na przykładdata:image/jpeg;base64,<dane obrazu zakodowane w base64>. Jeśli wyślesz oba, Meshy użyjeinput_task_id.Każdy obraz musi być plikiem
.jpg,.jpeg,.pnglub.webpo rozmiarze maksymalnie 20 MB, co najmniej 32 pikseli po każdej stronie i maksymalnie 178 956 970 pikseli (szerokość × wysokość). Przesłanie więcej niż czterech obrazów zwraca400.Dla najlepszych rezultatów obrazy powinny przedstawiać ten sam obiekt z różnych kątów. Przy
meshy-7.1lublatestMeshy używa pierwszego obrazu jako widoku z przodu, a kolejność pozostałych nie ma znaczenia.
- Name
- ai_model
- Type
- string
- domyślne latest
- Description
Model AI generujący model 3D.
Dostępne wartości:
latest: Meshy 7.1meshy-7.1meshy-6meshy-6-litemeshy-7: przestarzałe, wyślij zamiast tegomeshy-7.1
Zobacz Modele, aby dowiedzieć się, który model pasuje do Twojego projektu, na przykład rzeczywisty obiekt lub wydruk 3D.
- Name
- geometry_resolution
- Type
- string
- domyślne standard
- Description
Ile szczegółów geometrii wygenerować.
Dostępne wartości:
standard2k: uruchamia przebieg Ultra przy rozdzielczości 2048³. Wymagameshy-7.1,latestlub przestarzałegomeshy-7.
- Name
- ultra_mode
- Type
- boolean
- ⚠ przestarzałe
- domyślne false
- Description
Wyślij zamiast tego
geometry_resolution.ultra_mode: truejest równoważnegeometry_resolution: "2k".
- Name
- should_texture
- Type
- boolean
- domyślne true
- Description
Czy generować tekstury.
truezwraca model z teksturami, afalsepomija etap teksturowania i zwraca siatkę bez tekstur.
should_texture = true- Name
- texture_model
- Type
- string
- domyślne depends on ai_model
- Description
Model AI, który teksturuje model 3D z kilku widoków, w ramach tego samego zadania. Pomiń, aby użyć domyślnego modelu tekstur dla Twojego
ai_model. Nie zmienia to kosztu w kredytach.Dostępne wartości:
meshy-7: Meshy 7, z mapami PBR i teksturami do 8Kmeshy-n1: Meshy N1, tekstura koloru bazowego 2K tylko z obrazów referencyjnych
Każdy
ai_modelakceptuje oba. Żądanie teksturowania zmeshy-6lubmeshy-6-litezwraca400, podobnie jak opcja nieobsługiwana przez wybrany model tekstur. Przyshould_texture: falseMeshy ignorujetexture_model, ale nieznana wartość nadal zwraca400.Przy
meshy-n1Meshy teksturuje na podstawietexture_image_urlslubtexture_image_url, lub na podstawie obrazów wejściowych, jeśli nie wyślesz żadnego z nich. Pierwszy obraz to widok z przodu. Wygenerowany model przekraczający 7 999 999 trójkątów powoduje niepowodzenie zadania, a Meshy zwraca jego kredyty.Zobacz Modele, aby dowiedzieć się, co robi każdy model tekstur i który wybrać.
- Name
- enable_pbr
- Type
- boolean
- domyślne false
- Description
Czy generować również mapy metaliczności, chropowatości i normalnych, oprócz koloru bazowego. Model tekstur Meshy 6 generuje również mapę emisji, z wyjątkiem
texture_resolution: 8k. Przytexture_model: meshy-n1wartośćtruezwraca400.
- Name
- texture_resolution
- Type
- string
- domyślne 2k
- Description
Rozmiar tekstury koloru bazowego. Większy rozmiar pozwala uchwycić więcej szczegółów powierzchni.
Dostępne wartości:
2k: 2048×20484k: 4096×40968k: 8192×8192
4ki8kwymagają modelu tekstur Meshy 7 lub Meshy 6 i zwracają400z pozostałymi. Przy8kMeshy nie generuje mapy emisji.
- Name
- hd_texture
- Type
- boolean
- ⚠ przestarzałe
- domyślne false
- Description
Wyślij zamiast tego
texture_resolution.hd_texture: truejest równoważnetexture_resolution: "4k". Jeśli wyślesz oba, Meshy użyjetexture_resolution.
- Name
- texture_prompt
- Type
- string
- Description
Tekst, który kieruje teksturą, maksymalnie 800 znaków. Dłuższy tekst zwraca
400. Przytexture_model: meshy-n1wysłanie go zwraca400.
- Name
- texture_image_url
- Type
- string
- Description
Jeden obraz 2D, który kieruje teksturą, jako publiczny URL lub Data URI, na przykład
data:image/jpeg;base64,<dane obrazu zakodowane w base64>. Obraz musi być plikiem.jpg,.jpeg,.pnglub.webpo rozmiarze maksymalnie 20 MB, co najmniej 32 pikseli po każdej stronie i maksymalnie 178 956 970 pikseli (szerokość × wysokość).Jeśli wyślesz zarówno
texture_image_url, jak itexture_prompt, Meshy użyjetexture_prompt. Przytexture_model: meshy-n1Meshy teksturuje na podstawie tego obrazu jako widoku z przodu.Tekstura może nie wyjść dobrze, gdy kształt na obrazie znacznie różni się od modelu 3D.
- Name
- texture_image_urls
- Type
- string[]
- Description
Od jednego do czterech obrazów obiektu z różnych widoków, które kierują teksturą. Meshy używa pierwszego obrazu jako widoku z przodu. Kolejność pozostałych widoków (lewy, tylny, prawy) nie ma znaczenia.
Każdy obraz podlega tym samym zasadom co
texture_image_url. Jest to publiczny URL lub Data URI, w formacie.jpg,.jpeg,.pnglub.webp, o rozmiarze maksymalnie 20 MB, co najmniej 32 pikseli po każdej stronie i maksymalnie 178 956 970 pikseli (szerokość × wysokość).Te obrazy kierują wyłącznie teksturą i nie zależą od
image_urls. Obie listy mogą zawierać różne obrazy i różną ich liczbę.texture_image_urlswymaga modelu tekstur Meshy 7 lub Meshy N1. Wyślij go z jednym z poniższych:ai_modelrównymmeshy-7.1,latestlub przestarzałymmeshy-7texture_modelrównymmeshy-7lubmeshy-n1
Nie możesz wysłać go razem z
texture_image_urllubtexture_prompt.
- Name
- should_remesh
- Type
- boolean
- domyślne true (meshy-6-lite), false (other models)
- Description
Czy wykonać remesh modelu po generowaniu. Aby uzyskać model 3D o najwyższej jakości, ustaw na
false.
should_remesh = true- Name
- topology
- Type
- string
- domyślne triangle
- Description
Typ ścianek modelu po remeshu.
Dostępne wartości:
quad: siatka z przewagą czworokątówtriangle: zdecymowana siatka trójkątów
Przy
texture_model: meshy-n1wartośćquadzwraca400, gdy model podlega remeshowi, comeshy-6-literobi domyślnie.
- Name
- target_polycount
- Type
- integer
- domyślne 30000
- Description
Docelowa liczba ścianek, od
100do300000. Wynik może różnić się od wartości docelowej, w zależności od geometrii modelu. Wartość spoza zakresu zwraca400.
- Name
- decimation_mode
- Type
- integer
- Description
Adaptacyjna liczba ścianek, według poziomu. Gdy go ustawisz, Meshy ignoruje
target_polycount.Dostępne wartości:
1: ultra2: wysoki3: średni4: niski
- Name
- save_pre_remeshed_model
- Type
- boolean
- domyślne false
- Description
Czy zapisać również plik GLB sprzed remeshu, zwracany w
model_urls.pre_remeshed_glb.
- Name
- symmetry_mode
- Type
- string
- ⚠ przestarzałe
- domyślne auto
- Description
Pomiń. Nie wpływa na wynik.
Dostępne wartości:
off: brak symetriiauto: symetria na podstawie geometrii wejściowejon: wymuszona symetria
- Name
- pose_mode
- Type
- string
- domyślne ""
- Description
Pozycja wygenerowanego modelu.
Dostępne wartości:
a-pose: pozycja At-pose: pozycja T""(pusty ciąg znaków): brak konkretnej pozycji
- Name
- is_a_t_pose
- Type
- boolean
- ⚠ przestarzałe
- domyślne false
- Description
Wyślij zamiast tego
pose_mode. Czy wygenerować model w pozycji A lub T.
- Name
- image_enhancement
- Type
- boolean
- domyślne true
- Description
Czy zoptymalizować obrazy wejściowe przed generowaniem.
falsezachowuje dokładny wygląd obrazów wejściowych, bez przetwarzania stylu. Obsługiwane tylko zmeshy-6,meshy-7.1lublatest. Wysłanie tego zmeshy-6-litezwraca400.
- Name
- remove_lighting
- Type
- boolean
- domyślne true
- Description
Czy usunąć podświetlenia i cienie z tekstury koloru bazowego. Czystszy wynik lepiej sprawdza się we własnym oświetleniu. Używa tego tylko model tekstur Meshy 6, a przy
texture_resolution: 8kzawsze usuwa oświetlenie. Przytexture_model: meshy-n1wartośćtruezwraca400. Przyai_model: meshy-6-litei jego domyślnym modelu tekstur wysłanie tego zwraca400.
- Name
- moderation
- Type
- boolean
- domyślne false
- Description
Czy sprawdzać dane wejściowe pod kątem szkodliwych treści. Meshy sprawdza każdy obraz wejściowy,
texture_image_urllub każdy obraz wtexture_image_urls, oraz tekst wtexture_prompt. Jeśli Meshy znajdzie szkodliwe treści, żądanie zwraca400, a Meshy nie tworzy zadania.
- Name
- target_formats
- Type
- string[]
- Description
Formaty plików 3D do wygenerowania. Meshy generuje i zwraca tylko wymienione formaty, co może skrócić czas zadania.
Dostępne wartości:
glbobjfbxstlusdz3mf
Jeśli pominiesz ten parametr, Meshy wygeneruje wszystkie formaty oprócz
3mf. Meshy generuje3mftylko wtedy, gdy go wymienisz.
- Name
- auto_size
- Type
- boolean
- domyślne false
- Description
Czy oszacować rzeczywistą wysokość obiektu za pomocą wizji AI i zmienić rozmiar modelu do tej wartości. Meshy umieszcza punkt początkowy na dole, chyba że ustawisz
origin_at.
auto_size = true- Name
- origin_at
- Type
- string
- domyślne bottom
- Description
Gdzie umieścić punkt początkowy modelu:
bottomlubcenter.
- Name
- alpha_thumbnail
- Type
- boolean
- domyślne false
- Description
Czy wyrenderować również podgląd z przezroczystym tłem (RGBA), zwracany w
alpha_thumbnail_urlprzy pobieraniu zadania.thumbnail_urlsię nie zmienia.
- Name
- multi_view_thumbnails
- Type
- boolean
- domyślne false
- Description
Czy wyrenderować również podglądy z przodu, prawej, tyłu i lewej strony, zwracane w
thumbnail_urlsprzy pobieraniu zadania.thumbnail_urlsię nie zmienia i nadal pokazuje widok z przodu. Wydłuża to zadanie o około 5 sekund.
Zwracane wartości
Pole result odpowiedzi zawiera ID nowego zadania Wiele obrazów na 3D.
Tryby niepowodzenia
- Name
400 - Bad Request- Description
Żądanie nie może zostać wykonane. Komunikat błędu wskazuje znaleziony problem. Na przykład:
- Brakujący parametr: Nie wysłano ani
image_urls, aniinput_task_id. - Nieprawidłowe zadanie wejściowe:
input_task_idnie jest zadaniem Tekst na obraz lub Obraz na obraz ze statusemSUCCEEDED, ani zadaniem typu Wiele widoków. - Nieprawidłowa liczba obrazów:
image_urlslubtexture_image_urlsnie zawiera od 1 do 4 obrazów. - Nieprawidłowy format obrazu: Obraz w
image_urlsnie ma obsługiwanego formatu. - Sprzeczne dane wejściowe tekstury:
texture_image_urlswysłano razem ztexture_image_url,texture_promptlubshould_texture: false. - Nieobsługiwany model dla tekstury wielowidokowej:
texture_image_urlswysłano zai_modelrównymmeshy-6lubmeshy-6-lite, chyba żetexture_modeltomeshy-7lubmeshy-n1. - Nieosiągalny URL: Meshy nie może pobrać obrazu z
image_urlslubtexture_image_urls. - Zbyt duży obraz: Obraz w
image_urls,texture_image_urllubtexture_image_urlsprzekracza 20 MB. - Nieprawidłowy rozmiar obrazu: Obraz w
image_urls,texture_image_urllubtexture_image_urlsma bok krótszy niż 32 piksele lub więcej niż 178 956 970 pikseli (szerokość × wysokość). - Nieobsługiwana rozdzielczość dla danych wejściowych wielu obrazów:
geometry_resolutionma wartość"4k", której ten punkt końcowy nie obsługuje. Użyj2klubstandard. - Nieobsługiwany model dla opcji obrazu:
image_enhancementwysłano zai_model: "meshy-6-lite", lubremove_lightingwysłano zai_model: "meshy-6-lite"i jego domyślnym modelem tekstur. - Nieprawidłowy model tekstur:
texture_modelnie jest prawidłową nazwą modelu tekstur. - Model tekstur niedostępny: Żądanie z teksturowaniem wysłało
texture_modelrównymeshy-6lubmeshy-6-lite. Wiele obrazów na 3D przyjmuje tylko modele tekstur teksturujące z kilku widoków. Wyślijmeshy-7lubmeshy-n1, albo pomińtexture_model. - Nieobsługiwana opcja dla modelu tekstur: Żądanie żąda od modelu tekstur opcji, której on nie obsługuje, na przykład
enable_pbr: truezmeshy-n1lub tekstury4kzmeshy-6-lite. Zobacz Modele.
Popraw żądanie, a następnie wyślij je ponownie. Zobacz Błędy.
- Brakujący parametr: Nie wysłano ani
- Name
401 - Unauthorized- Description
Brak klucza API lub jest on nieprawidłowy. Sprawdź nagłówek
Authorization.
- Name
402 - Payment Required- Description
Na przykład:
- Niewystarczające kredyty: Konto nie ma wystarczającej liczby kredytów na to zadanie lub konto osiągnęło limit kredytów. Sprawdź saldo kredytów, a następnie spróbuj ponownie.
- Plan darmowy: Utworzenie zadania wymaga planu płatnego. Ulepsz swój plan w ustawieniach subskrypcji, a następnie spróbuj ponownie.
- Name
403 - Forbidden- Description
Moderacja treści zablokowała prompt lub obraz wejściowy. Zmień dane wejściowe, a następnie spróbuj ponownie.
- Name
404 - Not Found- Description
input_task_idnie pasuje do żadnego z Twoich zadań. Sprawdź ID zadania, a następnie wyślij żądanie ponownie.
- Name
429 - Too Many Requests- Description
Przekroczono limit szybkości. Poczekaj, a następnie spróbuj ponownie. Zobacz Limity szybkości.
Pobierz zadanie Wiele obrazów na 3D
Zwraca zadanie Wiele obrazów na 3D na podstawie jego ID.
Request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Parametry
- Name
- id
- Type
- path
- Description
ID zadania z odpowiedzi tworzenia.
Zwraca
Usuń zadanie Wiele obrazów na 3D
Trwale usuwa zadanie Wiele obrazów na 3D, w tym jego modele i dane. Nie można cofnąć usunięcia.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps 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."
}
Parametry ścieżki
- Name
- id
- Type
- path
- Description
ID zadania do usunięcia.
Status zadania
Usunięcie zadania o statusie PENDING zwraca kredyty wykorzystane podczas jego tworzenia.
Zadania o statusie IN_PROGRESS nie można usunąć. Żądanie zwraca 409 Conflict,
a zadanie nadal się wykonuje. Meshy nie zwraca kredytów za zadanie, które już się rozpoczęło,
więc usunięcie go kosztowałoby zarówno kredyty, jak i wynik. Poczekaj, aż osiągnie
status SUCCEEDED, FAILED lub CANCELED, a następnie je usuń.
Usunięcie zadania o statusie końcowym (SUCCEEDED, FAILED lub CANCELED)
nie powoduje zwrotu kredytów.
Zwraca
200 OK, gdy zadanie zostanie usunięte, lub 409 Conflict, gdy zadanie ma status
IN_PROGRESS.
Lista zadań Wiele obrazów na 3D
Zwraca listę Twoich zadań Wiele obrazów na 3D.
Request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
]
Parametry
- Name
- page_num
- Type
- integer
- domyślne 1
- Description
Numer strony do zwrócenia, maksymalnie
255. Większa wartość zwróci400.
- Name
- page_size
- Type
- integer
- domyślne 10
- Description
Liczba zadań na stronę, maksymalnie
100.
- Name
- sort_by
- Type
- string
- Description
Kolejność sortowania.
Dostępne wartości:
+created_at: od najstarszych-created_at: od najnowszych
Zwraca
Stronicowaną listę obiektów zadań Wiele obrazów na 3D.
Strumieniowanie zadania Wiele obrazów na 3D
Strumieniuje aktualizacje zadania Wiele obrazów na 3D jako zdarzenia Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Parametry
- Name
- id
- Type
- path
- Description
Identyfikator zadania z odpowiedzi tworzenia.
Zwraca
Strumień obiektów zadania Wiele obrazów na 3D jako zdarzenia Server-Sent Events.
Każde zdarzenie zawiera pełny obiekt zadania, w tej samej postaci, jaką zwraca punkt końcowy Get. Dopóki zadanie ma status PENDING lub IN_PROGRESS, jego pola wynikowe nie mają jeszcze wartości.
Obiekt zadania Wiele obrazów na 3D
Obiekt zadania Wiele obrazów na 3D opisuje jedno generowanie modelu 3D na podstawie od jednego do czterech obrazów obiektu. Zawiera status, progress oraz pliki modelu, gdy zadanie zakończy się powodzeniem.
Właściwości
Example Multi-Image to 3D Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
- Name
- id
- Type
- string
- Description
ID zadania. Traktuj je jako nieprzezroczysty ciąg znaków i nie polegaj na jego formacie.
- Name
- type
- Type
- string
- Description
Typ zadania, zawsze
multi-image-to-3d.
- Name
- model_urls
- Type
- object
- Description
Adresy URL do pobrania wygenerowanego modelu 3D, po jednym na format pliku. Format, którego zadanie nie wygenerowało, nie ma klucza, zamiast pustego ciągu znaków.
- Name
glb- Type
- string
- Description
Plik GLB.
- Name
fbx- Type
- string
- Description
Plik FBX.
- Name
obj- Type
- string
- Description
Plik OBJ.
- Name
usdz- Type
- string
- Description
Plik USDZ.
- Name
mtl- Type
- string
- Description
Plik MTL, zwracany razem z plikiem OBJ, gdy model ma tekstury.
- Name
stl- Type
- string
- Description
Plik STL.
- Name
3mf- Type
- string
- Description
Plik 3MF. Obecny tylko wtedy, gdy
target_formatszawiera3mf.
- Name
pre_remeshed_glb- Type
- string
- Description
Plik GLB sprzed operacji remesh. Obecny tylko wtedy, gdy zadanie zostało utworzone zarówno z
should_remesh: true, jak isave_pre_remeshed_model: true.
- Name
- thumbnail_url
- Type
- string
- Description
Adres URL do pobrania podglądowego obrazu modelu. Jest taki sam jak
thumbnail_urls.front, gdy to pole jest obecne.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
Adres URL do pobrania wersji
thumbnail_urlz przezroczystym tłem (RGBA). Obecny tylko wtedy, gdy zadanie zostało utworzone zalpha_thumbnail: true, a Meshy wyrenderowało przezroczysty podgląd.
- Name
- thumbnail_urls
- Type
- object
- Description
Adresy URL do pobrania podglądów modelu 3D z czterech stron. Każdy z nich to podpisany adres URL do obrazu PNG 512×512, wyrenderowanego z tymi samymi materiałami i oświetleniem co
thumbnail_url. Możesz ich użyć do podglądu modelu z kilku kątów bez pobierania pliku GLB.Obecne tylko wtedy, gdy zadanie zostało utworzone z
multi_view_thumbnails: true, a zadanie osiągnęło statusSUCCEEDED. Zadanie utworzone bezmulti_view_thumbnails: truenie zawiera tego pola.- Name
- front
- Type
- string
- Description
Widok z przodu, pod kątem 0° wokół osi pionowej. Odpowiada
thumbnail_url.
- Name
- right
- Type
- string
- Description
Widok z prawej strony, pod kątem 90°.
- Name
- back
- Type
- string
- Description
Widok z tyłu, pod kątem 180°.
- Name
- left
- Type
- string
- Description
Widok z lewej strony, pod kątem 270°.
- Name
- texture_prompt
- Type
- string
- Description
Prompt tekstowy, który kierował tworzeniem tekstury.
- Name
- texture_image_urls
- Type
- string[]
- Description
Adresy URL do pobrania obrazów referencyjnych tekstury, z którymi utworzono zadanie, w kolejności ich wysłania. Obecne tylko wtedy, gdy zadanie zostało utworzone z
texture_image_urls.
- Name
- ultra_mode
- Type
- boolean
- ⚠ przestarzałe
- Description
Zamiast tego odczytaj
geometry_resolution.
- Name
- geometry_resolution
- Type
- string
- Description
Poziom Ultra, w którym uruchomiono zadanie, czyli
2k. Zadaniestandardnie zawiera tego pola.
- Name
- progress
- Type
- integer
- Description
Ile zadania zostało ukończone, w procentach. Wynosi
0do momentu rozpoczęcia zadania i100, gdy zakończy się ono powodzeniem.
- Name
- started_at
- Type
- timestamp
- Description
Czas rozpoczęcia zadania, w milisekundach Unix. Wynosi
0do momentu rozpoczęcia zadania.
- Name
- created_at
- Type
- timestamp
- Description
Czas utworzenia zadania, w milisekundach Unix.
- Name
- expires_at
- Type
- timestamp
- Description
Czas wygaśnięcia wyników zadania, w milisekundach Unix.
- Name
- finished_at
- Type
- timestamp
- Description
Czas zakończenia zadania, w milisekundach Unix. Wynosi
0do momentu zakończenia zadania.
- Name
- status
- Type
- string
- Description
Status zadania, jeden z:
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDlubCANCELED.
- Name
- texture_urls
- Type
- array
- Description
Adresy URL do pobrania map tekstur wygenerowanych przez zadanie, jako tablica obiektów. Zwykle zawiera jeden obiekt. Każdy obiekt ma następujące pola:
- Name
base_color- Type
- string
- Description
Mapa koloru bazowego.
- Name
metallic- Type
- string
- Description
Mapa metaliczności. Nieuwzględniona, gdy zadanie zostało utworzone z
enable_pbr: false.
- Name
normal- Type
- string
- Description
Mapa normalnych. Nieuwzględniona, gdy zadanie zostało utworzone z
enable_pbr: false.
- Name
roughness- Type
- string
- Description
Mapa chropowatości. Nieuwzględniona, gdy zadanie zostało utworzone z
enable_pbr: false.
- Name
emission- Type
- string
- Description
Mapa emisji. Uwzględniona tylko wtedy, gdy zadanie zostało utworzone ze wszystkimi poniższymi warunkami:
ai_model: meshy-6, z jego domyślnym modelem teksturenable_pbr: truetexture_resolutionrównym2klub4k
- Name
- preceding_tasks
- Type
- integer
- Description
Liczba zadań znajdujących się przed tym zadaniem w kolejce. Wartość ma znaczenie tylko wtedy, gdy zadanie ma status
PENDING.
- Name
- task_error
- Type
- object
- Description
Szczegóły błędu, gdy zadanie zakończy się niepowodzeniem. Jest
null, chyba że status toFAILED. Zobacz Błędy.
- Name
- consumed_credits
- Type
- integer
- Description
Liczba kredytów wykorzystanych przez zadanie. Obecne, gdy status to
PENDING,IN_PROGRESSlubSUCCEEDED. Wynosi0dla zadaniaFAILED, ponieważ Meshy zwraca kredyty, gdy zadanie zakończy się niepowodzeniem.