Zmień swoje zdjęcia w niestandardowe magnesy na lodówkę — kolorowy relief
głębi w formie zaokrąglonego prostokąta z płaskim magnetycznym tyłem,
dopasowany do lodówki — w dwóch etapach: prototyp generuje kolorowy
obraz koncepcyjny na podstawie zdjęcia wejściowego, a następnie budowa
przekształca ten obraz koncepcyjny w reliefowy model 3D. Oba etapy są
połączone za pomocą input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Wygeneruj pojedynczy skolorowany obraz koncepcyjny na podstawie zdjęcia źródłowego. Zwrócony identyfikator zadania to wartość, którą przekazujesz jako input_task_id do punktu końcowego budowania. Zobacz
Obiekt zadania prototypu magnesu na lodówkę,
aby poznać strukturę odpowiedzi.
Parametry
Name
image_url
Type
string
Wymagane
Description
Zdjęcie źródłowe, które Meshy ma skolorować w gotowy do wykorzystania obraz koncepcyjny magnesu na lodówkę. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp.
Istnieją dwa sposoby dostarczenia obrazu:
Publicznie dostępny adres 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
name
Type
string
Description
Opcjonalna nazwa zadania służąca celom 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 w formacie RGBA z usuniętym tłem, dzięki czemu można nałożyć obiekt na dowolne tło.
Ta opcja kontroluje wyłącznie obraz zwracany przez ten punkt końcowy. Jest niezależna od opcji budowania o tej samej nazwie (domyślnie true), która kontroluje usuwanie tła przed procesem reliefowania.
Zwraca
Właściwość result odpowiedzi zawiera id nowo utworzonego zadania prototypu magnesu na lodówkę. Odpytuj punkt końcowy Pobierz zadanie lub subskrybuj strumień, dopóki zadanie nie osiągnie statusu SUCCEEDED, a następnie przekaż ten identyfikator do punktu końcowego budowania jako input_task_id.
Tryby awarii
Name
400 - Bad Request
Description
Żądanie było niepoprawne. Typowe przyczyny:
Brakujący parametr: image_url jest wymagany.
Nieprawidłowy format obrazu: podany image_url nie ma obsługiwanego formatu (.jpg, .jpeg, .png, .webp).
Wymiary obrazu poza dopuszczalnym zakresem: obraz jest zbyt mały, przekracza maksymalny rozmiar pliku lub przekracza maksymalną liczbę pikseli.
Nieosiągalny adres URL: nie udało się pobrać image_url (404 lub timeout).
Nieprawidłowy Data URI: ciąg base64 jest nieprawidłowo sformatowany.
Treść oznaczona: obraz wejściowy został oznaczony przez moderation NSFW lub moderation praw 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, aby wykonać to zadanie.
Name
429 - Too Many Requests
Description
Przekroczono limit szybkości.
Request
POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/fridge-magnet/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":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Prototype example
Start with a source photo, then generate the prototype image used by the fridge magnet build stage.
Wygeneruj finalny magnes na lodówkę gotowy do druku 3D na podstawie zakończonego powodzeniem zadania prototypu. Proces budowy uruchamia potok reliefu opartego na mapie głębi na kolorowanym obrazie koncepcyjnym prototypu i dostarcza pojedynczy artefakt siatki w żądanym formacie. Zapoznaj się z sekcją
Obiekt zadania budowy magnesu na lodówkę, aby poznać strukturę 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 przy użyciu tego samego klucza API, musi osiągnąć stan SUCCEEDED i musi wygenerować dokładnie jeden obraz kandydujący.
Zadania prototypów utworzone za pośrednictwem aplikacji webowej nie są akceptowane — punkt końcowy budowy akceptuje wyłącznie zadania prototypów wygenerowane przez POST /openapi/creative-lab/fridge-magnet/v1/prototype i odrzuca każde inne źródło z kodem 404.
Name
name
Type
string
Description
Opcjonalna nazwa zadania do celów wyświetlania. Maksymalnie 100 znaków.
options
Opcjonalne parametry dostrajające geometrię reliefu. Każde pole ma sensowną wartość domyślną — wysyłaj tylko te, które chcesz nadpisać.
Name
badge_shape
Type
string
domyślne rounded-rect
Description
Sylwetka konturu magnesu na lodówkę. Dostępne wartości:
circle
rounded-rect (domyślna)
hexagon
shield
star
Name
size_mm
Type
number
domyślne 60
Description
Długość krawędzi kwadratu ograniczającego magnes na lodówkę, w milimetrach. Zakres: (0, 400].
Name
relief_height_mm
Type
number
domyślne 3.3
Description
Maksymalna wysokość reliefu ponad podstawą, w milimetrach. Zakres: [0, 20].
Name
relief_offset_mm
Type
number
domyślne 0
Description
Przesunięcie pionowe zastosowane do reliefu przed wytłoczeniem, w milimetrach. Zakres: [0, 20].
Name
base_thickness_mm
Type
number
domyślne 2.0
Description
Grubość płaskiej płyty podstawy za reliefem, w milimetrach. Domyślna wartość dla magnesu na lodówkę to bardziej masywna podstawa 2 mm — zapewnia magnesowi wystarczającą wytrzymałość, by trzymał się lodówki, bez wrażenia kruchości reliefu. Zakres: [0, 20].
Name
has_closed_back
Type
boolean
domyślne true
Description
Określa, czy tył magnesu na lodówkę jest zamknięty jako zamknięta powierzchnia (strona, do której przykleja się magnes). Ustaw na false, aby uzyskać otwartą powłokę.
Name
relief_curve
Type
string
domyślne linear
Description
Krzywa transferu mapująca wartości mapy głębi na wysokość reliefu. Dostępne wartości:
linear (domyślna)
gamma
s-curve
Name
curve_param
Type
number
domyślne 1.0
Description
Parametr kształtu krzywej transferu (ma znaczenie tylko wtedy, gdy relief_curve ma wartość gamma). Zakres: (0, 10].
Name
invert_depth
Type
boolean
domyślne false
Description
Odwróć interpretację mapy głębi, tak aby ciemniejsze obszary stawały się wyższym reliefem.
Name
smoothing
Type
number
domyślne 0.24
Description
Siła wygładzania zastosowana do mapy głębi przed ekstrakcją reliefu. Zakres: [0, 10].
Name
relief_scale
Type
number
domyślne 1.0
Description
Mnożnik skali pionowej stosowany na bazie relief_height_mm. Zakres: (0, 10].
Name
depth_threshold
Type
number
domyślne 0.1
Description
Próg dolnoprzepustowy dla wartości mapy głębi; wszystko poniżej tej wartości jest przycinane do zera. Zakres: [0, 1].
Name
remove_background
Type
boolean
domyślne true
Description
Automatycznie usuń tło z obrazu koncepcyjnego prototypu przed nałożeniem reliefu.
Jest to odrębny parametr od parametru prototypu o tej samej nazwie (domyślnie false), który kontroluje, czy sam obraz prototypu jest zwracany z przezroczystością.
Name
export_resolution
Type
integer
domyślne 512
Description
Rozdzielczość siatki używana przy eksporcie. Zakres: [64, 2048].
Pakiet artefaktów zwracany przez proces budowy. Dostępne wartości:
glb (domyślna) — zwraca pojedynczy plik model.glb pod model_urls.glb.
obj — pakuje model.obj + model.mtl + texture.png i zwraca pakiet pod model_urls.obj.
zip — pakuje każdy artefakt wygenerowany przez generator i zwraca pakiet pod model_urls.bundle_zip.
Zwracane wartości
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania budowy magnesu na lodówkę. Odpytuj punkt końcowy Pobierz zadanie lub subskrybuj strumień, aż zadanie osiągnie stan SUCCEEDED, a następnie pobierz artefakt z jedynego wpisu w model_urls.
Tryby niepowodzenia
Name
400 - Bad Request
Description
Żądanie było nieprawidłowe. Typowe przyczyny:
Brakujący parametr: input_task_id jest wymagany.
Nieprawidłowy UUID: input_task_id nie jest poprawnym identyfikatorem UUID.
Zadanie nadrzędne nie zakończyło się powodzeniem: Wskazane zadanie prototypu nie osiągnęło jeszcze stanu SUCCEEDED.
Brak kandydata: Zadanie prototypu zakończyło się powodzeniem, ale nie wygenerowało obrazu kandydującego.
Opcje poza zakresem: Jedno z pól w options znalazło się poza dozwolonym zakresem lub zestawem wartości enum.
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 pośrednictwem aplikacji webowej (tylko zadania prototypów w trybie API mogą być łączone w łańcuch z budową).
Pobiera zadanie prototypu lub budowy na podstawie prawidłowego id zadania. Ścieżka URL
musi odpowiadać etapowi zadania — zadanie budowy pobrane przez
/prototype/:id zwraca 404, i odwrotnie.
Anuluje zadanie magnesu na lodówkę. Jeśli zadanie ma jeszcze status PENDING, kredyty
zużyte podczas tworzenia zadania są zwracane. Zadania, które są już
w stanie IN_PROGRESS, są anulowane bez zwrotu kredytów (proces roboczy 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 magnesu na lodówkę do anulowania.
Zwraca
Zwraca 204 No Content w przypadku powodzenia, z pustą treścią.
Tryby niepowodzenia
Name
400 - Bad Request
Description
Zadanie jest 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 magnesu na lodówkę za pomocą Server-Sent Events (SSE).
Ścieżka URL musi odpowiadać etapowi zadania — otwarcie strumienia na
/prototype/:buildId/stream emituje pojedynczy ładunek event: error z
status_code: 404 i zamyka strumień.
Parametry
Name
id
Type
path
Description
Unikalny identyfikator zadania magnesu na lodówkę do strumieniowania.
Zwraca
Zwraca strumień obiektów zadań Fridge Magnet Prototype
lub Fridge Magnet Build jako
Server-Sent Events. Każda ramka zawiera pełny obiekt zadania dla danego etapu — w tym samym formacie, który
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.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// Every frame is the full task object; fields not yet populated are null / empty.// The PENDING frame below is abbreviated to the fields that change.event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","progress": 0,"status": "PENDING"}event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","type": "creative-lab-fridge-magnet-build","status": "SUCCEEDED","progress": 100,"created_at": 1729543250000,"started_at": 1729543258000,"finished_at": 1729543285000,"expires_at": 1729802485000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***" }}
Pobierz stronicowaną listę zadań magnesu na lodówkę dla jednego etapu. Ścieżka URL
określa etap — /prototype zwraca zadania prototypowe; /build
zwraca zadania budowy. Zadania z drugiego etapu nie są zawarte w żadnej z
odpowiedzi.
Parametry ścieżki
Name
stage
Type
path
Wymagane
Description
prototype lub build. Kolekcja zwraca tylko zadania,
których etap odpowiada ścieżce URL — pobranie /prototype nigdy nie zwraca
zadań budowy i odwrotnie.
Parametry zapytania
Name
page_num
Type
integer
domyślne 1
Description
Numer strony do stronicowania.
Name
page_size
Type
integer
domyślne 10
Description
Limit liczby elementów na stronie. Maksymalna dopuszczalna 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: Sortowanie według czasu utworzenia w porządku rosnącym.
-created_at: Sortowanie według czasu utworzenia w porządku malejącym.
Obiekt zadania prototypu magnesu na lodówkę to jednostka pracy śledzona przez Meshy w celu
wygenerowania kolorowego obrazu koncepcyjnego ze 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. Choć jako szczegół implementacyjny używamy identyfikatorów zadań w formacie k-sortowalnego UUID, nie należy przyjmować żadnych założeń co do formatu identyfikatora.
Name
type
Type
string
Description
Typ zadania. Wartość to creative-lab-fridge-magnet-prototype.
Name
name
Type
string
Description
Nazwa zadania podana podczas jego tworzenia. Pusty 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 (progress). 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óra upłynęła od 1 stycznia 1970 UTC, zgodnie
ze standardem RFC 3339.
Na przykład piątek, 1 września 2023 12:00:00 PM 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 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ń. 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. Obecne, 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 umożliwiające pobranie 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 zgodność.
Obiekt zadania budowy magnesu na lodówkę to jednostka pracy, którą Meshy śledzi,
aby wygenerować finalną siatkę 3D magnesu na lodówkę na podstawie zakończonego
powodzeniem zadania prototypu. Budowa uruchamia potok reliefu z mapy głębi na
obrazie koncepcyjnym prototypu i publikuje pojedynczy artefakt siatki w
formacie żądanym przez wywołującego.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania.
Name
type
Type
string
Description
Typ zadania. Wartość to creative-lab-fridge-magnet-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. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się powodzeniem, wartość zmieni się na 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ń. 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 (w przypadku niepowodzenia kredyty są zwracane).
Name
model_urls
Type
object
Description
Adresy URL do pobrania wygenerowanego artefaktu, indeksowane nazwą artefaktu. Zawsze zawiera dokładnie jeden wpis — format żądany za pomocą parametru output.format w żądaniu budowy. Klucz odpowiada żądanemu formatowi:
Name
glb
Type
string
Description
Adres URL do pobrania pliku GLB. Obecny, gdy output.format miał wartość glb (domyślną).
Name
obj
Type
string
Description
Adres URL do pobrania paczki zip zawierającej model.obj, model.mtl oraz texture.png. Obecny, gdy output.format miał wartość obj.
Name
bundle_zip
Type
string
Description
Adres URL do pobrania paczki zip zawierającej wszystkie artefakty wygenerowane przez generator. Obecny, gdy output.format miał wartość zip.