Przekształć zdjęcie źródłowe w 3D figurkę kolekcjonerską z dużą głową
w dwóch etapach: prototyp generuje stylizowany obraz koncepcyjny z
Twojego zdjęcia wejściowego, następnie buduj przekształca ten obraz
koncepcyjny w trójwymiarowy model z teksturą. Oba etapy są połączone
przez input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Wygeneruj obraz koncepcyjny w stylu figurki winylowej z oryginalnego zdjęcia. Zwrócone ID zadania to to, co przekazujesz jako input_task_id do punktu końcowego build. Odwołaj się do
Obiekt zadania prototypu figurki winylowej
aby zobaczyć kształt odpowiedzi.
Parametry
Name
image_url
Type
string
Wymagane
Description
Źródłowe zdjęcie dla Meshy do stylizacji jako figurka winylowa z dużą głową. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp.
Istnieją dwa sposoby dostarczenia zdjęcia:
Publicznie dostępny URL: URL, który jest dostępny z publicznego internetu.
Data URI: Dane obrazu zakodowane w base64. Przykład Data URI: data:image/jpeg;base64,<twoje zakodowane dane obrazu w base64>.
Name
name
Type
string
Description
Opcjonalna nazwa zadania do celów wyświetlania. Maksymalnie 100 znaków.
Zwroty
Właściwość result odpowiedzi zawiera id nowo utworzonego zadania prototypu figurki winylowej. Śledź Pobierz zadanie punkt końcowy lub subskrybuj strumień aż zadanie osiągnie SUCCEEDED, a następnie przekaż to ID do punktu końcowego build jako input_task_id.
Tryby niepowodzenia
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Częste przyczyny:
Brakujący parametr: image_url jest wymagany.
Nieprawidłowy format obrazu: Dostarczony image_url nie jest obsługiwanym formatem (.jpg, .jpeg, .png, .webp).
Rozdzielczość obrazu poza zakresem: Obraz jest zbyt mały, przekracza maksymalny rozmiar pliku lub przekracza maksymalną liczbę pikseli.
Nieosiągalny URL: image_url nie mógł zostać pobrany (404 lub timeout).
Nieprawidłowy Data URI: Ciąg base64 jest źle sformułowany.
Zawartość oznaczona: Obraz wejściowy został oznaczony przez moderation 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ące kredyty do wykonania tego zadania.
Name
429 - Too Many Requests
Description
Przekroczyłeś swój limit szybkości.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/prototype
# Etap 1: wygeneruj obraz koncepcyjny w stylu figurki winylowejcurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype \ -X POST \ -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"}
Prototype example
Start with a source portrait, then generate the prototype image used by the build stage.
Wygeneruj finalną teksturowaną trójwymiarową winylową figurkę na podstawie udanego zadania prototypowego. Budowa wykorzystuje ten sam proces Obraz na 3D, co
Obraz na 3D, więc format obiektu odpowiedzi i
lista adresów URL wyników są dokładnie takie same. Zapoznaj się z
Obiekt zadania budowy winylowej figurki
aby poznać kształt odpowiedzi.
Parametry
Name
input_task_id
Type
string
Wymagane
Description
ID zadania prototypowego utworzonego za pośrednictwem tego samego punktu końcowego OpenAPI. Prototyp musi zostać utworzony z użyciem tego samego klucza API, musi osiągnąć SUCCEEDED, i musi wygenerować dokładnie jeden obraz kandydacki.
Zadania prototypowe utworzone za pośrednictwem aplikacji webowej nie są akceptowane — punkt końcowy budowy akceptuje tylko zadania prototypowe wygenerowane przez POST /openapi/creative-lab/vinyl-figure/v1/prototype i odrzuca każde inne źródło z 404.
Name
name
Type
string
Description
Opcjonalna nazwa zadania do celów wyświetlania. Maksymalnie 100 znaków.
Zwroty
Właściwość result odpowiedzi zawiera ID zadania nowo utworzonego zadania budowy winylowej figurki. Sprawdź punkt końcowy Pobierz zadanie lub subskrybuj stream do momentu gdy zadanie osiągnie 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 dalszy proces preferuje OBJ).
Tryby błędów
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Typowe przyczyny:
Brakujący parametr: input_task_id jest wymagany.
Nieprawidłowy UUID: input_task_id nie jest prawidłowym UUID.
Parent not succeeded: Wskazane zadanie prototypowe nie osiągnęło jeszcze SUCCEEDED.
Brak kandydata: Zadanie prototypowe zakończyło się pomyślnie, ale nie wygenerowało obrazu kandydata.
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Proszę sprawdzić klucz API.
Name
402 - Payment Required
Description
Niewystarczająca liczba kredytów do wykonania tego zadania.
Name
404 - Not Found
Description
Wskazane zadanie prototypowe nie istnieje, należy do innego użytkownika, lub zostało utworzone za pośrednictwem aplikacji webowej (tylko zadania prototypowe w trybie API zmieniają się w budowę).
Name
429 - Too Many Requests
Description
Przekroczono limit szybkości.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Etap 2: łańcuch budowy z udanego zadania prototypucurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Pobierz prototyp lub zadanie budowy, mając ważne id zadania. Ścieżka URL
musi odpowiadać etapowi zadania — zadanie budowy pobrane przez
/prototype/:id zwróci 404, i odwrotnie.
Anuluj zadanie dotyczące figurki winylowej. Jeśli zadanie jest jeszcze PENDING, kredyty zużyte w momencie tworzenia są zwracane. Zadania, które są już IN_PROGRESS, są anulowane bez zwrotu (pracownik może już być w trakcie zużywania zasobów). Zadania, które osiągnęły stan końcowy (SUCCEEDED, FAILED, CANCELED), nie mogą być anulowane.
Ścieżka URL musi odpowiadać etapowi zadania — DELETE na
/prototype/:buildId zwraca 404.
Parametry ścieżki
Name
id
Type
path
Description
Unikalny identyfikator zadania dotyczącego figurki winylowej do anulowania.
Zwracane wartości
Zwraca 204 No Content w przypadku sukcesu z pustym ciałem.
Tryby błędów
Name
400 - Bad Request
Description
Zadanie jest już w stanie końcowym i nie może być anulowane.
Name
404 - Not Found
Description
Zadanie nie istnieje, należy do innego użytkownika lub jego etap nie odpowiada ścieżce URL.
Przesyłaj aktualizacje w czasie rzeczywistym dla zadania figurki winylowej za pomocą Server-Sent Events
(SSE). Ścieżka URL musi pasować do etapu zadania — otwarcie strumienia na
/prototype/:buildId/stream emituje pojedynczy event: error z ładunkiem status_code: 404 i zamyka strumień.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania figurki winylowej do transmisji.
Zwraca
Zwraca strumień obiektów zadania Vinyl Figure Prototype
lub Vinyl Figure Build jako Server-Sent Events. Dla zadań PENDING lub IN_PROGRESS,
strumień odpowiedzi będzie zawierać tylko niezbędne pola progress i status.
Pobierz stronicowaną listę swoich zadań dla winylowych figurek na jednym etapie.
Ścieżka URL wybiera etap — /prototype zwraca zadania dotyczące prototypów;
/build zwraca zadania dotyczące budowy. Zadania z innego etapu nie są zawarte
w żadnej z odpowiedzi.
Parametry Ścieżki
Name
stage
Type
path
Wymagane
Description
Albo prototype albo build. Kolekcja zwraca tylko zadania,
których etap odpowiada URL — pobierając /prototype nigdy nie zwraca
zadań budowy i vice versa.
Parametry Zapytania
Name
page_num
Type
integer
domyślne 1
Description
Numer strony dla stronicowania.
Name
page_size
Type
integer
domyślne 10
Description
Limit rozmiaru strony. Dozwolone maksimum to 50 elementów.
Name
sort_by
Type
string
domyślne -created_at
Description
Pole do sortowania. Dostępne wartości:
+created_at: Sortuj według czasu utworzenia w porządku rosnącym.
-created_at: Sortuj według czasu utworzenia w porządku malejącym.
Obiekt zadania prototypu figurki winylowej jest jednostką pracy, którą Meshy śledzi,
aby wygenerować obraz koncepcji w stylu figurki winylowej z fotografii źródłowej.
Wynik tego etapu jest powiązany z
etapem budowy za pomocą input_task_id.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Używamy UUID k-sortowalnego dla identyfikatorów zadań jako szczegółu implementacyjnego, nie powinieneś jednak zakładać żadnego formatu tego identyfikatora.
Name
type
Type
string
Description
Typ zadania. Wartość wynosi creative-lab-vinyl-figure-prototype.
Name
name
Type
string
Description
Nazwa zadania podana przy jego tworzeniu. Pusty string, jeśli nie podano nazwy.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
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. Po zakończeniu zadania będzie to 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, godzina 12:00:00 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 jeszcze nie rozpoczęło się, 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 jeszcze się nie zakończyło, 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 zadań poprzedzających.
Wartość tego pola jest istotna tylko, jeśli status zadania to PENDING.
Name
task_error
Type
object
Description
Szczegóły błędu dla nieudanych zadań. Zobacz Błędy dla pełnej dokumentacji obiektu task_error.
Name
consumed_credits
Type
integer
Description
Liczba kredytów wykorzystanych przez to zadanie. Obecna, gdy status zadania to PENDING, IN_PROGRESS lub SUCCEEDED. Dla zadań FAILED zwraca 0 (kredyty są zwracane w przypadku niepowodzenia).
Name
image_urls
Type
array of strings
Description
Adresy URL do pobrania obrazów koncepcyjnych generowanych przez to prototypowe zadanie. Obecnie API zawsze zwraca dokładnie jednego kandydata; pole to jest tablicą, aby przyszłe wersje mogły prezentować wielu kandydatów bez zmiany kompatybilności.
Obiekt zadania tworzenia figurki winylowej to jednostka pracy, którą Meshy śledzi,
aby wygenerować teksturowaną winylową figurkę 3D z zakończonego sukcesem zadania prototypowego.
Wykorzystuje ten sam proces przekształcania obrazu na 3D używany przez Obraz na 3D,
więc pola wyjściowe odzwierciedlają obiekt zadania tego punktu końcowego task object.
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 tworzenia zadania. Pusty ciąg znaków, jeśli nazwa nie została podana.
Name
status
Type
string
Description
Status zadania. Możliwe wartości to PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Postęp zadania. Jeśli zadanie nie jest jeszcze rozpoczęte, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się pomyślnie, osiągnie 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 poprzedzających zadań. Istotne tylko, gdy status to PENDING.
Name
task_error
Type
object
Description
Szczegóły błędów dla niepowodzeń zadania. Zobacz Błędy dla pełnej referencji obiektu task_error.
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 winylowej figurki. Obecne dla kompatybilności między punktami końcowymi z udostępnionym kształtem V2ImageTo3DTaskResponse używanym przez Obraz na 3D.
Name
negative_prompt
Type
string
Description
Zawsze puste dla budowy winylowej figurki. Obecne dla kompatybilności między punktami końcowymi.
Name
texture_prompt
Type
string
Description
Zawsze puste dla budowy winylowej figurki. Obecne dla kompatybilności między punktami końcowymi.
Name
texture_image_url
Type
string
Description
Zawsze puste dla budowy winylowej figurki. Obecne dla kompatybilności między punktami końcowymi.
Name
model_urls
Type
object
Description
Pobieralne URL-e dla wygenerowanego modelu 3D. Budowanie winylowej figurki emituje teksturowany GLB plus parę OBJ + MTL dla pipeline'ów preferujących Wavefront OBJ. Kształt pola pasuje do obiektu Obraz na 3D model_urls, więc przyszłe formaty można dodać bez łamania zmian.
Name
glb
Type
string
Description
Pobieralny URL do teksturowanego pliku GLB.
Name
obj
Type
string
Description
Pobieralny URL do pliku Wavefront OBJ (geometria + UV).
Name
mtl
Type
string
Description
Pobieralny URL do pliku materiału MTL towarzyszącego OBJ. Sparuj z obj i wpisem z texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
Pobieralny URL do miniatury obrazu pliku modelu.
Name
texture_urls
Type
array
Description
Tablica obiektów URL tekstur wygenerowana przez to zadanie. Obecnie zawiera jeden obiekt z mapą kolorów podstawowych.
Name
base_color
Type
string
Description
Pobieralny URL do obrazu z mapą kolorów podstawowych.