Creative Lab — Lamp API

Zamień zdjęcie źródłowe w abażur nadający się do wydruku 3D w dwóch etapach: prototyp generuje stylizowany, matowo-biały obraz koncepcyjny i przekształca go w pusty model 3D (GLB), a następnie budowa uruchamia procesor lampy na tym modelu, aby wygenerować drukowalne części STL — abażur z otwartym dnem wraz z podstawą dla mocowania źródła światła, a także samo mocowanie oprawy. Oba etapy są połączone za pomocą input_task_id.

  • POST /openapi/creative-lab/lamp/v1/prototype
  • POST /openapi/creative-lab/lamp/v1/build

POST/openapi/creative-lab/lamp/v1/prototype

Utwórz zadanie prototypu lampy

Wygeneruj pojedynczy matowo-biały obraz koncepcyjny na podstawie zdjęcia referencyjnego i przekonwertuj go na wydrążony model 3D klosza lampy. Odpowiedź zawiera zarówno obraz koncepcyjny (image_urls), jak i model 3D (model_urls.glb z thumbnail_url). Zwrócony identyfikator zadania jest tym, co przekazujesz jako input_task_id do punktu końcowego budowania. Zapoznaj się z obiektem zadania prototypu lampy aby poznać kształt odpowiedzi.

Parametry

  • Name
    image_url
    Type
    string
    Wymagane
    Description

    Zdjęcie źródłowe, którego Meshy używa jako wizualnego odniesienia dla klosza lampy. 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 identyfikator URI danych obrazu. Przykład Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    image_subject
    Type
    string
    domyślne character
    Description

    Wskazówka kategorii podmiotu, która wybiera prompt stylizacji. Dostępne wartości:

    • character (domyślnie) — pojedyncza postać / podmiot będący obiektem (figurka, zwierzę, maskotka itp.).
    • landscape — scena plenerowa / panorama (góra, panorama miasta, las itp.).
  • 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, obraz prototypu jest zwracany jako przezroczysty plik PNG RGBA z usuniętym tłem, dzięki czemu możesz skomponować podmiot z dowolnym tłem.

Zwracane wartości

Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania prototypu lampy. 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 budowania jako input_task_id.

Tryby awarii

  • Name
    400 - Bad Request
    Description

    Żądanie było nieakceptowalne. 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 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 nieprawidłowo sformatowany.
    • Oznaczona treść: Obraz wejściowy został oznaczony przez moderation NSFW lub własności intelektualnej.
    • Nieprawidłowe image_subject: Nie jest jedną z wartości character / landscape.
  • 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/lamp/v1/prototype
# Stage 1: concept image + hollow 3D lampshade model from a source photo
curl https://api.meshy.ai/openapi/creative-lab/lamp/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>",
    "image_subject": "character"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
Zacznij od zdjęcia źródłowego; prototyp zwraca obraz koncepcyjny oraz wydrążony model 3D, który przetwarzany jest w etapie budowania.
Source cat photo used as the Creative Lab Lamp input
Prototype input
Creative Lab Lamp prototype output generated from the source photo
Prototype output

POST/openapi/creative-lab/lamp/v1/build

Utwórz zadanie budowy lampy

Generuje finalne, gotowe do druku 3D części na podstawie pomyślnie ukończonego zadania prototypu. Budowa uruchamia procesor lampy na modelu 3D prototypu: skaluje model do wartości diameter_mm, spłaszcza dolną część o cut_amount_percent, drąży ją do grubości thickness_mm, otwiera dolną część i — gdy wybrano ustawienie wstępne mocowania — dodaje płytę podstawy z otworem mocującym oraz osobny uchwyt na źródło światła. Zapoznaj się z sekcją Obiekt zadania budowy lampy, aby poznać kształt 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ąć status SUCCEEDED i musi wygenerować model 3D.

    Zadania prototypów utworzone przez aplikację webową nie są akceptowane — punkt końcowy budowy akceptuje wyłącznie zadania prototypów wygenerowane przez POST /openapi/creative-lab/lamp/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 klosza lampy. Każde pole ma sensowną wartość domyślną — wysyłaj tylko te, które chcesz nadpisać.

  • Name
    diameter_mm
    Type
    number
    domyślne 150
    Description

    Docelowy maksymalny wymiar prostopadłościanu ograniczającego klosza lampy, w milimetrach. Siatka jest skalowana jednorodnie, aby się zmieściła. Zakres: [50, 400].

  • Name
    thickness_mm
    Type
    number
    domyślne 1
    Description

    Grubość ścianki wydrążonego klosza lampy, w milimetrach. Zakres: (0, 10].

  • Name
    cut_amount_percent
    Type
    number
    domyślne 1
    Description

    Procent wysokości modelu odcinany płasko od dołu, dzięki czemu klosz lampy stoi na stole drukarki i ma otwór na mocowanie. Zakres: [1, 100].

  • Name
    light_source_preset
    Type
    string
    domyślne bambu_mh001_60mm
    Description

    Ustawienie wstępne mocowania źródła światła, które określa sposób budowy dolnej części. Dostępne wartości:

    • bambu_mh001_60mm (domyślnie) — klosz lampy z otwartym dołem wraz z płytą podstawy zawierającą 60 mm otwór mocujący, oba dostępne w model_urls.lamp_stl, oraz uchwyt mocowania jako model_urls.base_stl.
    • none — pojedynczy, zamknięty klosz lampy w model_urls.lamp_stl; pole model_urls.base_stl jest pomijane.
  • Name
    fixture_offset_x_mm
    Type
    number
    domyślne 0
    Description

    Przesunięcie w osi X otworu mocującego na płycie podstawy, względem środka klosza lampy, w milimetrach. Ma znaczenie tylko wtedy, gdy light_source_preset ≠ none. Zakres: [-80, 80].

  • Name
    fixture_offset_z_mm
    Type
    number
    domyślne 0
    Description

    Przesunięcie w osi Z (głębokość) otworu mocującego na płycie podstawy, względem środka klosza lampy, w milimetrach. Ma znaczenie tylko wtedy, gdy light_source_preset ≠ none. Zakres: [-80, 80].

  • Name
    rotate_x_deg
    Type
    number
    domyślne 0
    Description

    Obrót wokół osi X zastosowany do modelu przed przetwarzaniem, w stopniach. Trzy obroty są stosowane jako kąty Eulera XYZ wokół środka modelu. Zakres: [-360, 360].

  • Name
    rotate_y_deg
    Type
    number
    domyślne 0
    Description

    Obrót wokół osi Y zastosowany do zaimportowanej siatki przed przetwarzaniem, w stopniach. Zakres: [-360, 360].

  • Name
    rotate_z_deg
    Type
    number
    domyślne 0
    Description

    Obrót wokół osi Z zastosowany do zaimportowanej siatki przed przetwarzaniem, w stopniach. Zakres: [-360, 360].

  • Name
    include_result_json
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, a output.format ma wartość zip, dołącza plik result.json procesora lampy (nazwa potoku, ostrzeżenia i ścieżki artefaktów) do pakietu. Ignorowane, gdy output.format ma wartość stl.

output

Opcjonalny selektor formatu przesyłania danych. Domyślnie stl.

  • Name
    format
    Type
    string
    domyślne stl
    Description

    Pakiet artefaktów zwracany przez budowę. Dostępne wartości:

    • stl (domyślnie) — zwraca model_urls.lamp_stl (klosz lampy, wraz z płytą podstawy, gdy ustawiono ustawienie wstępne mocowania), a także model_urls.base_stl, gdy light_source_preset ≠ none.
    • zip — pakuje każdy artefakt generowany przez procesor (lamp.stl, opcjonalnie base.stl, opcjonalnie result.json) w jeden plik zip i zwraca go pod model_urls.bundle_zip.

Zwracane wartości

Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania budowy lampy. Odpytuj punkt końcowy Pobierz zadanie lub subskrybuj strumień do momentu, gdy zadanie osiągnie status SUCCEEDED, a następnie pobierz artefakty z 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 prawidłowym UUID.
    • Zadanie nadrzędne nie zakończone powodzeniem: Wskazane zadanie prototypu nie osiągnęło jeszcze statusu SUCCEEDED.
    • Brak modelu: Zadanie prototypu zakończyło się powodzeniem, ale nie wygenerowało modelu 3D.
    • Opcje poza zakresem: Jedno z pól options znalazło się poza dozwolonym zakresem lub zbiorem 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 przez aplikację webową (tylko zadania prototypów w trybie API mogą być łączone w łańcuch z budową).

  • Name
    429 - Too Many Requests
    Description

    Przekroczono limit szybkości.

Request

POST
/openapi/creative-lab/lamp/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "options": {
      "diameter_mm": 120,
      "thickness_mm": 2,
      "light_source_preset": "bambu_mh001_60mm",
      "cut_amount_percent": 30
    },
    "output": {
      "format": "stl"
    }
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Przykład budowy
Zadanie budowy przekształca model 3D prototypu w drukowalne części klosza lampy.
Podgląd modelu budowy lampy Creative Lab
Podgląd modelu budowy

GET/openapi/creative-lab/lamp/v1/(prototype|build)/:id

Pobierz zadanie Lampa

Pobiera zadanie prototypu lub budowy na podstawie prawidłowego identyfikatora id zadania. Ścieżka URL musi odpowiadać etapowi zadania — zadanie budowy pobrane przez /prototype/:id zwraca 404, i analogicznie w drugą stronę.

Zapoznaj się z Obiektem zadania prototypu Lampa oraz Obiektem zadania budowy Lampa, aby dowiedzieć się więcej o strukturach odpowiedzi.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania Lampa, które chcesz pobrać.

Zwraca

Odpowiedź zawiera obiekt zadania Lampa. Struktura zależy od tego, który etap został zażądany.

Request

GET
/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# Build
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

DELETE/openapi/creative-lab/lamp/v1/(prototype|build)/:id

Usuń zadanie lampy

Anuluj zadanie lampy. Jeśli zadanie nadal ma status PENDING, kredyty zużyte podczas tworzenia zostają zwrócone. Zadania, które są już IN_PROGRESS, są anulowane bez zwrotu środkó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 — wywołanie DELETE na /prototype/:buildId zwraca 404.

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania lampy do anulowania.

Zwraca

Zwraca 204 No Content w przypadku powodzenia z pustą treścią.

Tryby błędów

  • Name
    400 - Bad Request
    Description

    Zadanie znajduje się już w stanie końcowym i nie może zostać anulowane.

  • Name
    404 - Not Found
    Description

    Zadanie nie istnieje, należy do innego użytkownika lub jego etap nie odpowiada ścieżce URL.

Request

DELETE
/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 204 No Content on success (empty body).

GET/openapi/creative-lab/lamp/v1/(prototype|build)/:id/stream

Strumieniowanie zadania Lamp

Strumieniuj aktualizacje w czasie rzeczywistym dla zadania lampy za pomocą Server-Sent Events (SSE). Ścieżka URL musi odpowiadać etapowi zadania — otwarcie strumienia na /prototype/:buildId/stream emituje pojedynczy ładunek event: error ze status_code: 404 i zamyka strumień.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania lampy do strumieniowania.

Zwraca

Zwraca strumień obiektów zadań Lamp Prototype lub Lamp Build jako Server-Sent Events. Każda ramka zawiera pełny obiekt zadania dla danego etapu — w takim samym formacie, 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.

Request

GET
/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/lamp/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (wrong stage or task not found)
event: error
data: {
  "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: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}

GET/openapi/creative-lab/lamp/v1/(prototype|build)

Wyświetlanie listy zadań lampy

Pobierz stronicowaną listę zadań lampy dla pojedynczego etapu. Ścieżka URL określa etap — /prototype zwraca zadania prototypu; /build zwraca zadania budowania. Zadania z drugiego etapu nie są uwzględniane w żadnej z odpowiedzi.

Parametry ścieżki

  • Name
    stage
    Type
    path
    Wymagane
    Description

    Wartość prototype lub build. Kolekcja zwraca wyłącznie zadania, których etap odpowiada adresowi URL — pobranie /prototype nigdy nie zwraca zadań budowania 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 rozmiaru strony. Maksymalna dozwolona wartość to 100 elementów.

  • Name
    sort_by
    Type
    string
    domyślne -created_at
    Description

    Pole do sortowania. Dostępne wartości:

    • +created_at: Sortowanie według czasu utworzenia rosnąco.
    • -created_at: Sortowanie według czasu utworzenia malejąco.

Zwraca

Zwraca stronicowaną listę obiektów zadania dla danego etapu — albo obiekt zadania prototypu lampy w przypadku wyświetlania listy /prototype, albo obiekt zadania budowania lampy w przypadku wyświetlania listy /build.

Request

GET
/openapi/creative-lab/lamp/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/lamp/v1/build?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-lamp-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123486000,
    "expires_at": 1729382686000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 30,
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

Obiekt zadania prototypu lampy (Lamp Prototype Task)

Obiekt Lamp Prototype Task to jednostka pracy, którą Meshy śledzi, aby wygenerować stylizowany, matowo-biały obraz koncepcyjny ze zdjęcia źródłowego i przekonwertować go na wydrążony model 3D. 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 możliwego do sortowania k-sortable dla identyfikatorów zadań, nie należy przyjmować żadnych założeń co do formatu tego identyfikatora.

  • Name
    type
    Type
    string
    Description

    Typ zadania. Wartość to creative-lab-lamp-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

    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.

  • 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ń.

  • 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. Obecna, gdy status zadania to PENDING, IN_PROGRESS lub SUCCEEDED. Zwraca 0 dla zadań FAILED (w przypadku niepowodzenia kredyty są zwracane).

  • Name
    model_urls
    Type
    object
    Description

    Adresy URL umożliwiające pobranie modelu 3D wygenerowanego z obrazu koncepcyjnego. Obecne, gdy zadanie zakończy się powodzeniem; przed tym {}.

    • Name
      glb
      Type
      string
      Description

      Adres URL do pobrania wydrążonego, matowo-białego modelu abażuru lampy w formacie GLB. To ten model jest przetwarzany na etapie budowy.

  • Name
    thumbnail_url
    Type
    string
    Description

    Adres URL umożliwiający pobranie renderowanego podglądu modelu 3D. Pusty ciąg znaków, dopóki zadanie nie zakończy się powodzeniem.

  • 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 to jest tablicą, aby przyszłe wersje mogły udostępniać wielu kandydatów bez wprowadzania zmian niekompatybilnych wstecz.

Example Lamp Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-lamp-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 30,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Obiekt zadania budowy lampy (Lamp Build Task)

Obiekt zadania budowy lampy (Lamp Build Task) to jednostka pracy, którą Meshy śledzi w celu wygenerowania finalnego, gotowego do druku 3D klosza lampy na podstawie zakończonego powodzeniem zadania prototypu. Budowa uruchamia procesor lampy na modelu 3D prototypu, aby go wydrążyć, spłaszczyć i otworzyć spód, oraz (przy zastosowaniu ustawień wstępnych oprawy) dodać płytę podstawy i mocowanie oprawy.

Właściwości

  • Name
    id
    Type
    string
    Description

    Unikalny identyfikator zadania.

  • Name
    type
    Type
    string
    Description

    Typ zadania. Wartość to creative-lab-lamp-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, 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, kiedy wynik zadania wygasa, 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łny opis 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 wygenerowanych plików wynikowych, indeksowane nazwą pliku. Zestaw kluczy zależy od output.format i options.light_source_preset:

    • Name
      lamp_stl
      Type
      string
      Description

      Adres URL do pobrania pliku lamp.stl: klosz lampy z otwartym spodem wraz z płytą podstawy zawierającą otwór na oprawę, lub pojedynczy, szczelnie zamknięty klosz lampy, gdy options.light_source_preset miało wartość none. Obecne, gdy output.format miało wartość stl (wartość domyślna).

    • Name
      base_stl
      Type
      string
      Description

      Adres URL do pobrania pliku base.stl, mocowania oprawy źródła światła. Obecne, gdy output.format miało wartość stl oraz options.light_source_preset nie miało wartości none. Pomijane, gdy ustawienie wstępne oprawy miało wartość none.

    • Name
      bundle_zip
      Type
      string
      Description

      Adres URL do pobrania paczki zip zawierającej wszystkie pliki wynikowe generowane przez procesor (lamp.stl, opcjonalnie base.stl, oraz — gdy options.include_result_json ma wartość true — result.json). Obecne, gdy output.format miało wartość zip. Gdy obecne jest bundle_zip, lamp_stl / base_stl są pomijane.

Example Lamp Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-lamp-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "model_urls": {
    "lamp_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/lamp.stl?Expires=***",
    "base_stl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/base.stl?Expires=***"
  }
}