Zamień zdjęcie źródłowe w kolekcjonerską figurkę winylową 3D z dużą głową w dwóch
etapach: prototyp generuje stylizowany obraz koncepcyjny na podstawie Twojego
zdjęcia wejściowego, a następnie budowa zamienia ten obraz koncepcyjny w teksturowany model 3D.
Oba etapy są połączone za pomocą input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Generuje pojedynczy obraz koncepcyjny w stylu figurki winylowej na podstawie zdjęcia źródłowego. Zwrócony identyfikator zadania to wartość, którą przekazujesz jako input_task_id do punktu końcowego kompilacji. Kształt odpowiedzi znajdziesz w sekcji
Obiekt zadania prototypu figurki winylowej.
Parametry
Name
image_url
Type
string
Wymagane
Description
Zdjęcie źródłowe, które Meshy ma przekształcić w stylizowaną figurkę winylową z dużą głową. Obecnie obsługujemy formaty .jpg, .jpeg, .png oraz .webp.
Obraz można podać na dwa sposoby:
Publicznie dostępny URL: adres URL dostępny z poziomu 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
name
Type
string
Description
Opcjonalna nazwa zadania używana do celów wyświetlania. Maksymalnie 100 znaków.
Name
remove_background
Type
boolean
domyślne false
Description
Gdy ustawione na true, obraz prototypu jest zwracany jako przezroczysty plik PNG RGBA z usuniętym tłem, dzięki czemu możesz umieścić postać na dowolnym tle.
Zwracane wartości
Właściwość result odpowiedzi zawiera id nowo utworzonego zadania prototypu figurki winylowej. Odpytuj punkt końcowy Pobierz zadanie lub subskrybuj strumień, aż zadanie osiągnie status SUCCEEDED, a następnie przekaż ten identyfikator do punktu końcowego kompilacji jako input_task_id.
Tryby awarii
Name
400 - Bad Request
Description
Żądanie było nieprawidłowe. Typowe przyczyny:
Brakujący parametr: image_url jest wymagane.
Nieprawidłowy format obrazu: podany image_url nie jest w obsługiwanym formacie (.jpg, .jpeg, .png, .webp).
Wymiary obrazu poza dozwolonym zakresem: obraz jest zbyt mały, przekracza maksymalny rozmiar pliku lub przekracza maksymalną liczbę pikseli.
Nieosiągalny URL: nie udało się pobrać image_url (błąd 404 lub timeout).
Nieprawidłowy Data URI: ciąg base64 jest źle sformatowany.
Treść oznaczona: obraz wejściowy został oznaczony przez moderation treści NSFW lub własności intelektualnej.
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/creative-lab/vinyl-figure/v1/prototype
# Stage 1: generate a vinyl-figure-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype \-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>" }'
Response
{"result":"019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"}
Przykład prototypu
Zacznij od zdjęcia źródłowego, a następnie wygeneruj obraz prototypu używany na etapie kompilacji.
Wygeneruj finalną, teksturowaną figurkę winylową 3D na podstawie zadania prototypu, które zakończyło się powodzeniem. Budowa działa w ramach tego samego procesu obraz-na-3D co
Obraz na 3D, więc format obiektu odpowiedzi oraz lista adresów URL wyników są identyczne. Zapoznaj się z
Obiektem zadania budowy figurki winylowej,
aby dowiedzieć się więcej o strukturze odpowiedzi.
Parametry
Name
input_task_id
Type
string
Wymagane
Description
Identyfikator zadania prototypu utworzonego za pomocą tego samego punktu końcowego OpenAPI. Prototyp musi zostać utworzony za pomocą tego samego klucza API, musi osiągnąć status SUCCEEDED i musi wygenerować dokładnie jeden obraz kandydujący.
Zadania prototypów utworzone za pomocą aplikacji webowej nie są akceptowane — punkt końcowy budowy akceptuje wyłącznie zadania prototypów utworzone przez POST /openapi/creative-lab/vinyl-figure/v1/prototype i odrzuca każde inne źródło z kodem 404.
Name
name
Type
string
Description
Opcjonalna nazwa zadania używana do wyświetlania. Maksymalnie 100 znaków.
Wartość zwracana
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania budowy figurki winylowej. Odpytuj punkt końcowy Pobierz zadanie lub zasubskrybuj strumień, aż zadanie osiągnie status SUCCEEDED, a następnie pobierz teksturowany GLB z model_urls.glb (lub parę OBJ + MTL z model_urls.obj i model_urls.mtl, jeśli Twój proces docelowy preferuje format OBJ).
Tryby niepowodzenia
Name
400 - Bad Request
Description
Żądanie było nieprawidłowe. Najczęstsze przyczyny:
Brakujący parametr: input_task_id jest wymagany.
Nieprawidłowy UUID: input_task_id nie jest prawidłowym UUID.
Zadanie nadrzędne nie zakończone powodzeniem: Wskazane zadanie prototypu jeszcze nie osiągnęło statusu SUCCEEDED.
Brak kandydata: Zadanie prototypu zakończyło się powodzeniem, ale nie wygenerowało żadnego obrazu kandydującego.
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
404 - Not Found
Description
Wskazane zadanie prototypu nie istnieje, należy do innego użytkownika lub zostało utworzone za pomocą aplikacji webowej (tylko zadania prototypów w trybie API mogą być połączone z budową).
Name
429 - Too Many Requests
Description
Przekroczono limit szybkości.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Pobiera zadanie prototypu lub kompilacji na podstawie prawidłowego id zadania. Ścieżka URL
musi odpowiadać etapowi zadania — zadanie kompilacji pobrane przez
/prototype/:id zwraca 404, i odwrotnie.
Anuluje zadanie figurki winylowej. Jeśli zadanie nadal ma status PENDING, kredyty
zużyte w momencie utworzenia zostają zwrócone. Zadania, które są już w stanie
IN_PROGRESS, są anulowane bez zwrotu środków (worker może już zużywać
zasoby). Zadań, które osiągnęły już stan końcowy
(SUCCEEDED, FAILED, CANCELED), nie można anulować.
Ścieżka URL musi odpowiadać etapowi zadania — DELETE na
/prototype/:buildId zwraca 404.
Parametry ścieżki
Name
id
Type
path
Description
Unikalny identyfikator zadania figurki winylowej do anulowania.
Zwraca
Zwraca 204 No Content w przypadku sukcesu, z pustym ciałem odpowiedzi.
Tryby błędów
Name
400 - Bad Request
Description
Zadanie znajduje się już w stanie końcowym i nie można go anulować.
Name
404 - Not Found
Description
Zadanie nie istnieje, należy do innego użytkownika lub jego etap nie odpowiada ścieżce URL.
Strumieniuj aktualizacje w czasie rzeczywistym dla zadania figurki winylowej za pomocą Server-Sent Events
(SSE). Ścieżka URL musi odpowiadać etapowi zadania — otwarcie strumienia pod adresem
/prototype/:buildId/stream emituje pojedynczy ładunek event: error z
status_code: 404 i zamyka strumień.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania figurki winylowej do strumieniowania.
Zwraca
Zwraca strumień obiektów zadań Vinyl Figure Prototype
lub Vinyl Figure Build jako Server-Sent Events.
Każda ramka zawiera pełny obiekt zadania dla danego etapu — dokładnie taki sam kształt, jaki zwraca
punkt końcowy Get — więc gdy zadanie ma status PENDING lub IN_PROGRESS, pola wyjściowe
po prostu nie są jeszcze wypełnione (null, [] lub {}), a
finished_at ma wartość null.
Pobierz stronicowaną listę zadań figurek winylowych dla pojedynczego etapu.
Ścieżka URL określa etap — /prototype zwraca zadania prototypów;
/build zwraca zadania kompilacji. Zadania z drugiego etapu nie są uwzględniane
w żadnej z odpowiedzi.
Parametry ścieżki
Name
stage
Type
path
Wymagane
Description
prototype lub build. Kolekcja zwraca tylko zadania,
których etap odpowiada adresowi URL — pobranie /prototype nigdy nie zwróci
zadań kompilacji i odwrotnie.
Parametry zapytania
Name
page_num
Type
integer
domyślne 1
Description
Numer strony na potrzeby stronicowania.
Name
page_size
Type
integer
domyślne 10
Description
Limit rozmiaru strony. Maksymalna dozwolona wartość to 100 elementów.
Name
sort_by
Type
string
domyślne -created_at
Description
Pole, według którego ma nastąpić sortowanie. Dostępne wartości:
+created_at: Sortuj według czasu utworzenia rosnąco.
-created_at: Sortuj według czasu utworzenia malejąco.
Obiekt zadania prototypu figurki winylowej to jednostka pracy, którą Meshy śledzi
w celu wygenerowania obrazu koncepcyjnego w stylu figurki winylowej na podstawie zdjęcia źródłowego.
Wynik tego etapu jest łączony z etapem budowy za pomocą input_task_id.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Chociaż jako szczegół implementacyjny używamy identyfikatora UUID z możliwością sortowania k-sortable dla identyfikatorów zadań, nie należy przyjmować żadnych założeń co do formatu identyfikatora.
Name
type
Type
string
Description
Typ zadania. Wartość to creative-lab-vinyl-figure-prototype.
Name
name
Type
string
Description
Nazwa zadania podana podczas jego tworzenia. Puste ciąg znaków, jeśli nazwa nie została podana.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to jedna z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Postęp zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się powodzeniem, wartość ta zmieni się na 100.
Name
created_at
Type
timestamp
Description
Znacznik czasu utworzenia zadania, w milisekundach.
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 czasu GMT jest reprezentowany jako 1693569600000. Dotyczy to
wszystkich znaczników czasu w Meshy API.
Name
started_at
Type
timestamp
Description
Znacznik czasu rozpoczęcia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie miała wartość 0.
Name
finished_at
Type
timestamp
Description
Znacznik czasu zakończenia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze zakończone, ta właściwość będzie miała wartość 0.
Name
expires_at
Type
timestamp
Description
Znacznik czasu wygaśnięcia wyniku zadania, w milisekundach.
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, 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).
Name
image_urls
Type
array of strings
Description
Adresy URL do pobrania dla kandydatów na obraz koncepcyjny wygenerowanych przez to zadanie prototypowe. Obecnie API zawsze zwraca dokładnie jednego kandydata; pole jest tablicą, aby przyszłe wersje mogły udostępniać wielu kandydatów bez wprowadzania zmian łamiących kompatybilność.
Obiekt zadania budowy figurki winylowej to jednostka pracy, którą Meshy śledzi,
aby wygenerować teksturowaną figurkę winylową 3D na podstawie zakończonego powodzeniem zadania prototypu.
Wykorzystuje ten sam potok obraz-na-3D, którego używa Obraz na 3D,
dlatego pola wyjściowe odzwierciedlają obiekt zadania tego punktu końcowego.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania.
Name
type
Type
string
Description
Typ zadania. Wartość to creative-lab-vinyl-figure-build.
Name
name
Type
string
Description
Nazwa zadania podana podczas jego tworzenia. Pusty ciąg znaków, jeśli nie podano nazwy.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to jedna z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Postęp zadania (progress). Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się powodzeniem, przyjmie wartość 100.
Name
created_at
Type
timestamp
Description
Znacznik czasu utworzenia zadania, w milisekundach.
Name
started_at
Type
timestamp
Description
Znacznik czasu rozpoczęcia zadania, w milisekundach.
Name
finished_at
Type
timestamp
Description
Znacznik czasu zakończenia zadania, w milisekundach.
Name
expires_at
Type
timestamp
Description
Znacznik czasu wygaśnięcia wyniku zadania, w milisekundach.
Name
preceding_tasks
Type
integer
Description
Liczba zadań poprzedzających. Ma znaczenie tylko wtedy, gdy status to PENDING.
Name
task_error
Type
object
Description
Szczegóły błędu dla nieudanych zadań. Pełny opis obiektu task_error znajdziesz w sekcji Błędy.
Name
consumed_credits
Type
integer
Description
Liczba kredytów zużytych przez to zadanie. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).
Name
prompt
Type
string
Description
Zawsze puste dla budowy figurki winylowej. Obecne dla zapewnienia zgodności między punktami końcowymi ze wspólną strukturą V2ImageTo3DTaskResponse używaną przez Obraz na 3D.
Name
negative_prompt
Type
string
Description
Zawsze puste dla budowy figurki winylowej. Obecne dla zapewnienia zgodności między punktami końcowymi.
Name
texture_prompt
Type
string
Description
Zawsze puste dla budowy figurki winylowej. Obecne dla zapewnienia zgodności między punktami końcowymi.
Name
texture_image_url
Type
string
Description
Zawsze puste dla budowy figurki winylowej. Obecne dla zapewnienia zgodności między punktami końcowymi.
Name
model_urls
Type
object
Description
Adresy URL do pobrania wygenerowanego modelu 3D. Budowa figurki winylowej generuje teksturowany plik GLB oraz parę OBJ + MTL dla potoków preferujących format Wavefront OBJ. Kształt pola odpowiada obiektowi model_urls z Obraz na 3D, dzięki czemu przyszłe dodatki formatów wpasowują się bez zmian powodujących niekompatybilność.
Name
glb
Type
string
Description
Adres URL do pobrania teksturowanego pliku GLB.
Name
obj
Type
string
Description
Adres URL do pobrania pliku Wavefront OBJ (geometria + UV).
Name
mtl
Type
string
Description
Adres URL do pobrania towarzyszącego plikowi OBJ pliku materiału MTL. Należy łączyć z obj oraz wpisem z texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
Adres URL do pobrania miniatury pliku modelu.
Name
texture_urls
Type
array
Description
Tablica obiektów adresów URL tekstur wygenerowanych przez to zadanie. Obecnie zawiera pojedynczy obiekt z mapą koloru bazowego.
Name
base_color
Type
string
Description
Adres URL do pobrania obrazu mapy koloru bazowego.