Zamień swoje zdjęcia w niestandardowe magnesy na lodówkę — kolorowaną
płaskorzeźbę głębi o kształcie prostokąta z zaokrąglonymi rogami
z płaskim magnetycznym tyłem, w rozmiarze na lodówkę — w dwóch
etapach: prototyp generuje kolorowaną grafikę koncepcyjną z wejściowego
zdjęcia, a następnie budowa zamienia tę grafikę koncepcyjną w reliefowy model 3D. Te
dwa etapy są połączone przez input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Wygeneruj pojedynczy kolorowany obraz koncepcyjny ze zdjęcia źródłowego. Zwrócony
identyfikator zadania jest tym, co przekazujesz jako input_task_id do punktu końcowego
build. Zobacz
Obiekt zadania prototypu magnesu na lodówkę,
aby poznać kształt odpowiedzi.
Parametry
Name
image_url
Type
string
Wymagane
Description
Zdjęcie źródłowe, które Meshy ma pokolorować do obrazu koncepcyjnego gotowego na magnes na lodówkę. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp.
Obraz można podać na dwa sposoby:
Publicznie dostępny URL: URL 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.
Zwraca
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania prototypu magnesu na lodówkę. Odpytuj punkt końcowy Pobierz zadanie lub zasubskrybuj strumień, aż zadanie osiągnie SUCCEEDED, a następnie przekaż ten identyfikator do punktu końcowego build jako input_task_id.
Tryby niepowodzeń
Name
400 - Bad Request
Description
Żądanie było niedopuszczalne. 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: Nie udało się pobrać image_url (404 lub timeout).
Nieprawidłowy Data URI: Ciąg base64 jest niepoprawnie sformatowany.
Oflagowana treść: Obraz wejściowy został oflagowany 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ąca liczba kredytów do wykonania tego zadania.
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 imagecurl https://api.meshy.ai/openapi/creative-lab/fridge-magnet/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":"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, gotowy do druku 3D magnes na lodówkę z zakończonego powodzeniem
zadania prototypu. Budowanie uruchamia potok reliefu z mapy głębi na
pokolorowanym obrazie koncepcyjnym prototypu i dostarcza pojedynczy artefakt siatki w
formacie, o który poprosisz. Zobacz
Obiekt zadania budowania magnesu na lodówkę, aby poznać
strukturę odpowiedzi.
Parametry
Name
input_task_id
Type
string
Wymagane
Description
ID zadania prototypu utworzonego za pomocą tego samego punktu końcowego OpenAPI. Prototyp musi zostać utworzony z tym samym kluczem API, musi osiągnąć stan SUCCEEDED i musi wygenerować dokładnie jeden obraz kandydujący.
Zadania prototypów utworzone przez aplikację webową nie są akceptowane — punkt końcowy budowania akceptuje tylko 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 dostrajania 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
Konturowa sylwetka 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
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 bazowej za reliefem, w milimetrach. Domyślna wartość dla magnesu na lodówkę to masywniejsza podstawa 2 mm — daje magnesowi wystarczającą objętość, aby 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 uszczelniony jako zamknięta powierzchnia (strona, do której przyklejasz magnes). Ustaw na false, aby uzyskać otwartą skorupę.
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ślnie)
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 to gamma). Zakres: (0, 10].
Name
invert_depth
Type
boolean
domyślne false
Description
Odwróć interpretację mapy głębi, 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łębi przed wyodrębnieniem reliefu. Zakres: [0, 10].
Name
relief_scale
Type
number
domyślne 1.0
Description
Mnożnik skali pionowej zastosowany dodatkowo do 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 ograniczane do zera. Zakres: [0, 1].
Name
remove_background
Type
boolean
domyślne true
Description
Automatycznie usuń tło obrazu koncepcyjnego prototypu przed tworzeniem reliefu.
Name
export_resolution
Type
integer
domyślne 512
Description
Rozdzielczość siatki używana do eksportu. Zakres: [64, 2048].
Pakiet artefaktów zwracany przez budowanie. Dostępne wartości:
glb (domyślnie) — zwraca pojedynczy model.glb w model_urls.glb.
obj — kompresuje model.obj + model.mtl + texture.png do pliku zip i zwraca pakiet w model_urls.obj.
zip — kompresuje do pliku zip każdy artefakt emitowany przez generator i zwraca pakiet w model_urls.bundle_zip.
Zwraca
Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania budowania magnesu na lodówkę. Odpytuj punkt końcowy Pobierz zadanie lub zasubskrybuj strumień, aż zadanie osiągnie stan SUCCEEDED, a następnie pobierz artefakt z pojedynczego wpisu w model_urls.
Tryby niepowodzenia
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.
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 options znalazło się poza dozwolonym zakresem lub zbiorem 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 albo zostało utworzone przez aplikację webową (tylko zadania prototypów w mode API można łączyć z budowaniem).
Pobierz zadanie prototypu lub budowania, podając prawidłowe id zadania. Ścieżka URL
musi odpowiadać etapowi zadania — zadanie budowania pobrane przez
/prototype/:id zwraca 404 i odwrotnie.
Anuluj zadanie magnesu na lodówkę. Jeśli zadanie nadal ma status PENDING, kredyty
zużyte podczas tworzenia zostaną zwrócone. Zadania, które są już
IN_PROGRESS, są anulowane bez zwrotu (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 pasować do etapu 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 pasuje do ścieżki 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 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 magnesu na lodówkę do strumieniowania.
Zwraca
Zwraca strumień obiektów zadań prototypu magnesu na lodówkę
lub budowania magnesu na lodówkę jako
Server-Sent Events. W przypadku 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ń magnesu na lodówkę dla pojedynczego etapu. Ścieżka
URL wybiera etap — /prototype zwraca zadania prototypu; /build
zwraca zadania budowy. Zadania z innego etapu nie są uwzględniane w żadnej
odpowiedzi.
Parametry ścieżki
Name
stage
Type
path
Wymagane
Description
Albo prototype, albo build. Kolekcja zwraca tylko zadania,
których etap odpowiada URL — pobieranie /prototype nigdy nie zwraca
zadań budowy i odwrotnie.
Parametry zapytania
Name
page_num
Type
integer
domyślne 1
Description
Numer strony dla stronicowanie.
Name
page_size
Type
integer
domyślne 10
Description
Limit rozmiaru strony. Maksymalna dozwolona liczba to 50 elementów.
Name
sort_by
Type
string
domyślne -created_at
Description
Pole, według którego sortować. Dostępne wartości:
+created_at: Sortuj według czasu utworzenia w kolejności rosnącej.
-created_at: Sortuj według czasu utworzenia w kolejności malejącej.
Obiekt zadania prototypu magnesu na lodówkę to jednostka pracy, którą Meshy śledzi, aby
wygenerować pokolorowany obraz koncepcyjny ze zdjęcia źródłowego. Wynik
tego etapu jest przekazywany do etapu tworzenia
za pośrednictwem input_task_id.
Właściwości
Name
id
Type
string
Description
Unikalny identyfikator zadania. Chociaż jako szczegół implementacyjny używamy k-sortowalnego UUID dla identyfikatorów zadań, nie należy przyjmować żadnych założeń dotyczących formatu id.
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 jedna z: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
progress zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie mieć wartość 0. Gdy zadanie zakończy się powodzeniem, wartość ta stanie się 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 r. UTC, zgodnie ze
standardem RFC 3339.
Na przykład piątek, 1 września 2023 r., 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 mieć 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 mieć 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 zadań zakończonych niepowodzeniem. Zobacz Błędy, aby uzyskać pełną dokumentację 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
Adresy URL do pobrania dla kandydatów obrazów koncepcyjnych wygenerowanych przez to zadanie prototypu. Obecnie API zawsze zwraca dokładnie jednego kandydata; pole jest tablicą, aby przyszłe wersje mogły udostępniać wielu kandydatów bez wprowadzania zmiany niezgodnej wstecz.
Obiekt zadania budowania magnesu na lodówkę to jednostka pracy, którą Meshy śledzi, aby
wygenerować finalną siatkę 3D magnesu na lodówkę na podstawie zadania prototypu o statusie SUCCEEDED. Proces
budowania 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 tworzenia zadania. Pusty ciąg, 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
progress zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie mieć 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ń. Zobacz Błędy, aby uzyskać pełną dokumentację 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
Adresy URL do pobrania wygenerowanego artefaktu, indeksowane według nazwy artefaktu. Zawsze zawiera dokładnie jeden wpis — format żądany przez output.format w żądaniu budowania. Klucz odpowiada żądanemu formatowi:
Name
glb
Type
string
Description
Adres URL do pobrania pliku GLB. Obecny, gdy output.format miało wartość glb (domyślnie).
Name
obj
Type
string
Description
Adres URL do pobrania pakietu zip zawierającego model.obj, model.mtl i texture.png. Obecny, gdy output.format miało wartość obj.
Name
bundle_zip
Type
string
Description
Adres URL do pobrania pakietu zip ze wszystkimi artefaktami emitowanymi przez generator. Obecny, gdy output.format miało wartość zip.