Zamień swoje zdjęcia w niestandardowe magnesy na lodówkę — zaokrąglony prostokąt z kolorowym reliefem głębokości i płaskim magnetycznym tyłem, w rozmiarze odpowiednim na lodówkę — w dwóch etapach: prototyp generuje kolorowy obraz koncepcyjny z twojego zdjęcia wejściowego, a następnie budowa przekształca ten obraz koncepcyjny w model 3D reliefu. Oba etapy są połączone za pomocą input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Wygeneruj pojedynczy obraz koncepcyjny w kolorze z oryginalnego zdjęcia. Zwrócone ID zadania to to, co przekazujesz jako input_task_id do punktu końcowego budowy. Odnieś się do
Obiekt zadania prototypu magnesu na lodówkę
dla kształtu odpowiedzi.
Parametry
Name
image_url
Type
string
Wymagane
Description
Oryginalne zdjęcie dla Meshy do pokolorowania na obraz koncepcyjny gotowy do magnesu na lodówkę. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp.
Istnieją dwa sposoby dostarczenia obrazu:
Publicznie dostępny URL: URL, który jest dostępny z publicznego internetu.
Data URI: Zakodowany w base64 Data URI obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Opcjonalna nazwa zadania do celów wyświetlania. Maksymalnie 100 znaków.
Name
remove_background
Type
boolean
domyślne false
Description
Gdy ustawione na true, prototypowy obraz jest zwracany jako przezroczysty RGBA PNG z usuniętym tłem, dzięki czemu można umieścić temat na dowolnym tle.
To kontroluje tylko obraz zwracany przez ten punkt końcowy. Jest to oddzielne od opcji budowy o tej samej nazwie (domyślnie true), która kontroluje usuwanie tła przed reliefem.
Zwraca
Właściwość result odpowiedzi zawiera id nowo utworzonego zadania prototypu magnesu na lodówkę. Odpytywanie Pobierz zadanie punkt końcowy lub subskrybuj strumień aż zadanie osiągnie SUCCEEDED, a następnie przekaż to ID do punktu końcowego budowy jako input_task_id.
Tryby awarii
Name
400 - Bad Request
Description
Żądanie było nieakceptowalne. Typowe przyczyny:
Brakujący parametr: image_url jest wymagany.
Nieprawidłowy format obrazu: Podany image_url nie jest obsługiwanym formatem (.jpg, .jpeg, .png, .webp).
Wymiary 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 uszkodzony.
Treść oznaczona: Obraz wejściowy został oznaczony przez moderation NSFW lub własności intelektualnej.
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Proszę sprawdzić 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/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"}
Przykład prototypu
Zacznij od oryginalnego zdjęcia, a następnie wygeneruj obraz prototypowy używany przez etap budowy magnesu na lodówkę.
Wygeneruj ostateczny magnes na lodówkę do druku 3D z zakończonego sukcesem zadania prototypowego. Budowa uruchamia pipeline reliefu mapy głębokości na pokolorowanym obrazie koncepcyjnym prototypu i dostarcza pojedynczy artefakt siatki w formacie, o który prosisz. Odnieś się do Obiektu zadania budowy magnesu na lodówkę dla kształtu odpowiedzi.
Parametry
Name
input_task_id
Type
string
Wymagane
Description
Identyfikator zadania prototypowego utworzonego za pośrednictwem tego samego punktu końcowego OpenAPI. Prototyp musi zostać utworzony z tym samym kluczem API, musi osiągnąć SUCCEEDED i musi wygenerować dokładnie jeden obraz kandydata.
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/fridge-magnet/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.
options
Opcjonalne parametry dostrajania dla geometrii reliefu. Każde pole ma rozsądną wartość domyślną — wyślij 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ślnie)
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 nad podstawą, w milimetrach. Zakres: [0, 20].
Name
relief_offset_mm
Type
number
domyślne 0
Description
Pionowe przesunięcie zastosowane do reliefu przed ekstrudowaniem, w milimetrach. Zakres: [0, 20].
Name
base_thickness_mm
Type
number
domyślne 2.0
Description
Grubość płaskiej płyty bazowej za reliefem, w milimetrach. Domyślnie magnes na lodówkę ma grubsze 2 mm podstawy — daje to magnesowi wystarczającą masę, aby przyczepić się do lodówki, bez uczucia kruchości reliefu. Zakres: [0, 20].
Name
has_closed_back
Type
boolean
domyślne true
Description
Czy tył magnesu na lodówkę jest zamknięty jako zamknięta powierzchnia (strona, do której przyklejasz magnes). Ustaw na false dla otwartej skorupy.
Name
relief_curve
Type
string
domyślne linear
Description
Krzywa transferu mapująca wartości mapy głębokości na wysokość reliefu. Dostępne wartości:
linear (domyślnie)
gamma
s-curve
Name
curve_param
Type
number
domyślne 1.0
Description
Parametr kształtu dla krzywej transferu (znaczący tylko, gdy relief_curve to gamma). Zakres: (0, 10].
Name
invert_depth
Type
boolean
domyślne false
Description
Odwróć interpretację mapy głębokości, tak aby ciemniejsze obszary stały się wyższym reliefem.
Name
smoothing
Type
number
domyślne 0.24
Description
Siła wygładzania zastosowana do mapy głębokości przed ekstrakcją reliefu. Zakres: [0, 10].
Name
relief_scale
Type
number
domyślne 1.0
Description
Mnożnik skali pionowej zastosowany na relief_height_mm. Zakres: (0, 10].
Name
depth_threshold
Type
number
domyślne 0.1
Description
Próg dolnoprzepustowy dla wartości mapy głębokości; wszystko poniżej tego jest ograniczone do zera. Zakres: [0, 1].
Name
remove_background
Type
boolean
domyślne true
Description
Automatycznie usuń tło obrazu koncepcyjnego prototypu przed reliefem.
Oddzielone 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 do eksportu. Zakres: [64, 2048].
Pakiet artefaktów zwracany przez budowę. Dostępne wartości:
glb (domyślnie) — zwraca pojedynczy 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 generowany przez generator i zwraca pakiet pod model_urls.bundle_zip.
Zwraca
Właściwość result odpowiedzi zawiera identyfikator zadania id nowo utworzonego zadania budowy magnesu na lodówkę. Sprawdź punkt końcowy Pobierz zadanie lub subskrybuj strumień aż zadanie osiągnie SUCCEEDED, a następnie pobierz artefakt z pojedynczego wpisu w model_urls.
Tryby awarii
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.
Rodzic nie zakończony sukcesem: Odwołane zadanie prototypowe nie osiągnęło jeszcze SUCCEEDED.
Brak kandydata: Zadanie prototypowe zakończyło się sukcesem, ale nie wygenerowało obrazu kandydata.
Opcje poza zakresem: Jedno z pól options wykraczało poza dozwolony zakres lub zestaw enumeracji.
Name
401 - Unauthorized
Description
Uwierzytelnianie nie powiodło się. Proszę sprawdzić swój klucz API.
Name
402 - Payment Required
Description
Niewystarczające kredyty do wykonania tego zadania.
Name
404 - Not Found
Description
Odwołane 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 łączą się w budowę).
Pobierz zadanie prototypu lub budowy, podając prawidłowy id zadania. Ścieżka URL
musi odpowiadać etapowi zadania — zadanie budowy pobrane przez
/prototype/:id zwraca 404 i odwrotnie.
Anuluj zadanie magnesu na lodówkę. Jeśli zadanie jest nadal PENDING, kredyty
zużyte podczas tworzenia są zwracane. Zadania, które są już
IN_PROGRESS, są anulowane bez zwrotu (pracownik może już zużywać zasoby). Zadania, które już 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 magnesu na lodówkę do anulowania.
Zwraca
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.
Strumieniuj aktualizacje w czasie rzeczywistym dla zadania magnesu na lodówkę za pośrednictwem 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ń Prototyp Magnesu na Lodówkę
lub Budowa Magnesu na Lodówkę jako
Server-Sent Events. Dla zadań PENDING lub IN_PROGRESS, strumień odpowiedzi
będzie zawierał tylko niezbędne pola progress i status.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.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ę swoich zadań magnes na lodówkę dla pojedynczego etapu. Ścieżka URL
wybiera etap — /prototype zwraca zadania prototypowe; /build
zwraca zadania budowlane. Zadania z innego etapu nie są uwzględnione w żadnej
odpowiedzi.
Parametry ścieżki
Name
stage
Type
path
Wymagane
Description
Albo prototype, albo build. Kolekcja zwraca tylko zadania,
których etap pasuje do URL — pobieranie /prototype nigdy nie zwraca
zadań budowlanych i odwrotnie.
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. Maksymalnie dozwolone to 50 pozycji.
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 Magnesu na Lodówkę jest jednostką pracy, którą Meshy śledzi, aby wygenerować pokolorowany obraz koncepcyjny z zdjęcia źródłowego. Wynik tego etapu jest połączony z etapem budowy za pomocą input_task_id.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Chociaż używamy UUID sortowalnego według klucza dla identyfikatorów zadań jako szczegółu implementacji, nie powinieneś zakładać żadnego 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 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. Gdy zadanie zakończy się sukcesem, wartość ta wyniesie 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 roku 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 się nie rozpoczęło, 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 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).
Name
image_urls
Type
array of strings
Description
Pobieralne URL-e dla kandydatów na obrazy koncepcyjne wygenerowane przez to zadanie prototypowe. Obecnie API zawsze zwraca dokładnie jednego kandydata; pole jest tablicą, aby przyszłe wersje mogły uwzględniać wielu kandydatów bez wprowadzania zmian łamiących kompatybilność.
Przykład Obiektu Zadania Prototypu Magnesu na Lodówkę
Obiekt zadania budowy magnesu na lodówkę to jednostka pracy, którą Meshy śledzi, aby wygenerować końcową siatkę 3D magnesu na lodówkę z zakończonego sukcesem zadania prototypowego. Budowa uruchamia pipeline reliefu mapy głębokości na koncepcyjnym obrazie prototypu i publikuje pojedynczy artefakt siatki w formacie, który zażądał wywołujący.
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 tworzenia zadania. Pusty ciąg, 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 nie zostało jeszcze rozpoczęte, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się sukcesem, wartość ta wyniesie 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ń. Znaczące tylko wtedy, gdy status 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. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).
Name
model_urls
Type
object
Description
Pobieralne URL-e dla wygenerowanego artefaktu, kluczowane nazwą artefaktu. Zawsze zawiera dokładnie jeden wpis — format zażądany przez output.format w żądaniu budowy. Klucz odpowiada zażądanym formatem:
Name
glb
Type
string
Description
Pobieralny URL do pliku GLB. Obecny, gdy output.format było glb (domyślnie).
Name
obj
Type
string
Description
Pobieralny URL do paczki zip zawierającej model.obj, model.mtl i texture.png. Obecny, gdy output.format było obj.
Name
bundle_zip
Type
string
Description
Pobieralny URL do paczki zip zawierającej każdy artefakt wygenerowany przez generator. Obecny, gdy output.format było zip.
Przykład obiektu zadania budowy magnesu na lodówkę