Creative Lab — API lampy

Przekształć zdjęcie źródłowe w klosz lampy gotowy do druku 3D w dwóch etapach: prototype generuje stylizowany, matowo-biały obraz koncepcyjny i przekształca go w pusty w środku model 3D (GLB), a następnie build uruchamia procesor lampy na tym modelu, aby wygenerować gotowe do druku części STL — otwarty od spodu klosz lampy z płytą podstawy 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 ze 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 wraz z thumbnail_url). Zwrócony identyfikator zadania to wartość, którą przekazujesz jako input_task_id do punktu końcowego budowania. Zobacz Obiekt 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 referencji wizualnej dla klosza lampy. Obecnie obsługujemy formaty .jpg, .jpeg, .png i .webp.

    Istnieją dwa sposoby dostarczenia obrazu:

    • Publicznie dostępny 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
    image_subject
    Type
    string
    domyślne character
    Description

    Podpowiedź kategorii tematu, która wybiera prompt stylizacji. Dostępne wartości:

    • character (domyślnie) — pojedyncza postać / obiekt jako temat (figurka, zwierzę, maskotka itp.).
    • landscape — scena plenerowa / panorama jako temat (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 PNG RGBA z usuniętym tłem, dzięki czemu możesz nałożyć temat na dowolne tło.

Zwracane wartości

Właściwość result odpowiedzi zawiera id zadania nowo utworzonego 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 niepoprawne. 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: wartość inna niż character / landscape.
  • 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

    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"
}
Przykład prototypu
Zacznij od zdjęcia źródłowego; prototyp zwraca obraz koncepcyjny oraz wydrążony model 3D, który jest przetwarzany na etapie budowania.
Źródłowe zdjęcie kota użyte jako dane wejściowe Creative Lab Lamp
Dane wejściowe prototypu
Wynik prototypu Creative Lab Lamp wygenerowany ze zdjęcia źródłowego
Wynik prototypu

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

Create a Lamp Build Task

Wygeneruj finalne, gotowe do druku 3D części na podstawie zakończonego powodzeniem zadania prototypu. Zadanie budowy uruchamia procesor lampy na modelu 3D prototypu: skaluje model do diameter_mm, spłaszcza spód o cut_amount_percent, wydrąża go do thickness_mm, otwiera spód i — gdy wybrano preset osprzętu — dodaje płytę podstawy z otworem na osprzęt oraz osobny uchwyt na źródło światła. Kształt odpowiedzi opisano w The Lamp Build Task Object.

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    Identyfikator zadania prototypu utworzonego za pomocą tego samego punktu końcowego OpenAPI. Prototyp musiał zostać utworzony przy użyciu tego samego klucza API, musi mieć status SUCCEEDED i musi wygenerować model 3D.

    Zadania prototypów utworzone za pomocą aplikacji webowej nie są akceptowane — punkt końcowy build akceptuje wyłącznie zadania prototypów utworzone 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 abażuru. Każde pole ma rozsądną wartość domyślną — wyślij tylko te, które chcesz nadpisać.

  • Name
    diameter_mm
    Type
    number
    domyślne 150
    Description

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

  • Name
    thickness_mm
    Type
    number
    domyślne 1
    Description

    Grubość ścianki pustego w środku abażuru, w milimetrach. Zakres: (0, 10].

  • Name
    cut_amount_percent
    Type
    number
    domyślne 1
    Description

    Procent wysokości modelu ścięty płasko od dołu, tak aby abażur mógł stać na stole druku i miał otwór na osprzęt. Zakres: [1, 100].

  • Name
    light_source_preset
    Type
    string
    domyślne bambu_mh001_60mm
    Description

    Preset osprzętu źródła światła, który określa sposób budowy spodu. Dostępne wartości:

    • bambu_mh001_60mm (domyślny) — abażur z otwartym spodem plus płyta podstawy z 60-milimetrowym otworem na osprzęt, oba w model_urls.lamp_stl, oraz uchwyt osprzętu jako model_urls.base_stl.
    • none — pojedynczy, w pełni zamknięty abażur w model_urls.lamp_stl; model_urls.base_stl jest pomijane.
  • Name
    fixture_offset_x_mm
    Type
    number
    domyślne 0
    Description

    Przesunięcie na osi X otworu na osprzęt na płycie podstawy, względem środka abażuru, w milimetrach. Ma znaczenie tylko wtedy, gdy light_source_presetnone. Zakres: [-80, 80].

  • Name
    fixture_offset_z_mm
    Type
    number
    domyślne 0
    Description

    Przesunięcie na osi Z (głębokość) otworu na osprzęt na płycie podstawy, względem środka abażuru, w milimetrach. Ma znaczenie tylko wtedy, gdy light_source_presetnone. Zakres: [-80, 80].

  • Name
    rotate_x_deg
    Type
    number
    domyślne 0
    Description

    Obrót wokół osi X stosowany do modelu przed przetworzeniem, 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 stosowany do zaimportowanej siatki przed przetworzeniem, w stopniach. Zakres: [-360, 360].

  • Name
    rotate_z_deg
    Type
    number
    domyślne 0
    Description

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

  • Name
    include_result_json
    Type
    boolean
    domyślne false
    Description

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

output

Opcjonalny selektor formatu przesyłu. Domyślnie stl.

  • Name
    format
    Type
    string
    domyślne stl
    Description

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

    • stl (domyślny) — zwraca model_urls.lamp_stl (abażur, wraz z płytą podstawy, gdy ustawiono preset osprzętu), plus model_urls.base_stl, gdy light_source_presetnone.
    • zip — pakuje każdy artefakt generowany przez procesor (lamp.stl, opcjonalnie base.stl, opcjonalnie result.json) do jednego pliku 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 Get a Task lub subskrybuj stream, dopóki zadanie nie osiągnie statusu SUCCEEDED, a następnie pobierz artefakty z model_urls.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie było niepoprawne. Częste przyczyny:

    • Brakujący parametr: input_task_id jest wymagane.
    • 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 znajdował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ące kredyty 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 pomocą aplikacji webowej (tylko zadania prototypów utworzone w trybie API mogą być łączone w łańcuch z zadaniem budowy).

  • 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 abażuru.
Podgląd modelu budowy lampy Creative Lab
Podgląd modelu budowy

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

Pobierz zadanie lampy

Pobierz 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.

Zapoznaj się z Obiektem zadania prototypu lampy i Obiektem zadania budowy lampy, aby poznać kształty odpowiedzi.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania lampy do pobrania.

Zwraca

Odpowiedź zawiera obiekt zadania lampy. Kształt 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 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 osiągnęły już 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 lampy 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.

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 lampy

Strumieniuj aktualizacje w czasie rzeczywistym dla zadania lampy 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 lampy do strumieniowania.

Zwraca

Zwraca strumień obiektów zadań Lamp Prototype lub Lamp Build jako Server-Sent Events. Dla zadań w stanie PENDING lub IN_PROGRESS strumień odpowiedzi będzie zawierał wyłącznie niezbędne pola progress i status.

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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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)

Lista zadań Lamp

Pobierz listę zadań typu lampa (z podziałem na strony) dla pojedynczego etapu. Ścieżka URL określa etap — /prototype zwraca zadania prototypowe, a /build zwraca zadania budowy. Zadania z drugiego etapu nie są uwzględniane w żadnej z odpowiedzi.

Parametry ścieżki

  • Name
    stage
    Type
    path
    Wymagane
    Description

    prototype albo build. Kolekcja zwraca tylko zadania, których etap odpowiada URL — pobranie /prototype nigdy nie zwróci 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 rozmiaru strony. Maksymalna dozwolona wartość to 50 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: Sortuj według czasu utworzenia rosnąco.
    • -created_at: Sortuj według czasu utworzenia malejąco.

Zwraca

Zwraca listę obiektów zadań dla danego etapu (z podziałem na strony) — albo obiekt zadania prototypu lampy przy pobieraniu /prototype, albo obiekt zadania budowy lampy przy pobieraniu /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 Lamp Prototype

Obiekt Lamp Prototype Task to jednostka pracy śledzona przez Meshy w celu wygenerowania stylizowanego, matowobiałego obrazu koncepcyjnego ze zdjęcia źródłowego oraz przekształcenia go w pusty w środku model 3D. Wynik tego etapu jest łączony z etapem budowania za pomocą input_task_id.

Właściwości

  • Name
    id
    Type
    string
    Description

    Unikalny identyfikator zadania. Chociaż jako szczegół implementacyjny używamy identyfikatorów zadań w formacie k-sortable UUID, nie należy przyjmować żadnych założeń co do formatu id.

  • 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 jeszcze się nie rozpoczęło, ta właściwość ma 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 jeszcze się nie rozpoczęło, ta właściwość ma 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ść ma 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 znajduje się 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 (w przypadku niepowodzenia kredyty są zwracane).

  • Name
    model_urls
    Type
    object
    Description

    Adresy URL do pobrania modelu 3D wygenerowanego z obrazu koncepcyjnego. Obecne po pomyślnym zakończeniu zadania; wcześniej {}.

    • Name
      glb
      Type
      string
      Description

      Adres URL do pobrania pustego w środku, matowobiałego modelu klosza lampy w formacie GLB. To jest model przetwarzany przez etap budowania.

  • Name
    thumbnail_url
    Type
    string
    Description

    Adres URL do pobrania renderowanego podglądu modelu 3D. Pusty ciąg znaków do czasu pomyślnego zakończenia zadania.

  • Name
    image_urls
    Type
    array of strings
    Description

    Adresy URL do pobrania kandydatów obrazów koncepcyjnych 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 zmiany łamiącej kompatybilność.

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, aby wygenerować finalny, gotowy do druku 3D klosz 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, a także (przy zastosowaniu ustawień wstępnych mocowania) dodać płytę podstawy oraz 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 (progress) 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ść 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.

  • 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 zadań poprzedzających. Ma znaczenie tylko wtedy, gdy status to PENDING.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu dla zadań zakończonych niepowodzeniem. Zobacz Błędy, aby poznać pełny opis obiektu task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Liczba kredytów zużytych przez to zadanie. Zwraca 0 dla zadań ze statusem FAILED (kredyty są zwracane w przypadku niepowodzenia).

  • Name
    model_urls
    Type
    object
    Description

    Adresy URL do pobrania wygenerowanych artefaktów, indeksowane według nazwy artefaktu. Zestaw kluczy zależy od output.format oraz options.light_source_preset:

    • Name
      lamp_stl
      Type
      string
      Description

      Adres URL do pobrania pliku lamp.stl: klosza lampy z otwartym spodem wraz z płytą podstawy zawierającą otwór na oprawę, lub pojedynczego, szczelnego klosza lampy, gdy options.light_source_preset miało wartość none. Obecny, 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. Obecny, gdy output.format miało wartość stl oraz options.light_source_preset nie miało wartości none. Pomijany, gdy ustawienie wstępne mocowania miało wartość none.

    • Name
      bundle_zip
      Type
      string
      Description

      Adres URL do pobrania paczki zip zawierającej wszystkie artefakty wygenerowane przez procesor (lamp.stl, opcjonalnie base.stl, a gdy options.include_result_json ma wartość true — również result.json). Obecny, gdy output.format miało wartość zip. Gdy obecne jest bundle_zip, pola 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=***"
  }
}