Creative Lab — API lampy

Zmień tekstowy prompt lub zdjęcie źródłowe w klosz lampy nadający się do druku 3D w dwóch etapach: prototyp generuje stylizowany, matowobiały obraz koncepcyjny, a następnie budowanie przekształca ten obraz koncepcyjny w pusty w środku klosz lampy STL (opcjonalnie połączony z dyskiem podstawy do mocowania źródła światła). Te dwa etapy są powiązane 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 matowobiały obraz koncepcyjny abażuru — albo z tekstowego promptu (text-to-3D), albo ze zdjęcia referencyjnego (image-to-3D). Zwrócony identyfikator zadania jest tym, co przekazujesz jako input_task_id do punktu końcowego budowania. Zobacz Obiekt zadania prototypu lampy, aby poznać strukturę odpowiedzi.

Parametry

  • Name
    text
    Type
    string
    Wymagane
    Description

    Tekstowy prompt opisujący pożądany motyw abażuru. Wymagany, gdy pominięto image_url. Maksymalnie 800 znaków.

  • Name
    image_url
    Type
    string
    Wymagane
    Description

    Zdjęcie źródłowe, którego Meshy używa jako wizualnego odniesienia dla abażuru. Wymagane, gdy pominięto text. 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
    image_subject
    Type
    string
    domyślne character
    Description

    Wskazówka kategorii tematu dla ścieżki image-to-3D. Dostępne wartości:

    • character (domyślne) — pojedyncza postać / obiekt (figurina, zwierzę, maskotka itp.).
    • landscape — plenerowa scena / panorama (góra, panorama miasta, las itp.).

    Ignorowane na ścieżce text-to-3D.

  • 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 lampy. Odpytuj punkt końcowy Pobierz zadanie albo zasubskrybuj strumień, aż zadanie osiągnie SUCCEEDED, a następnie przekaż ten identyfikator do punktu końcowego budowania jako input_task_id.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie było nieakceptowalne. Typowe przyczyny:

    • Brakujący parametr: Wymagane jest dokładnie jedno z text lub image_url.
    • Podano oba: Przekazanie zarówno text, jak i image_url jest odrzucane — wzajemnie się wykluczają.
    • 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 albo 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 zniekształcony.
    • Treść oznaczona: Obraz wejściowy został oznaczony przez NSFW lub moderation własności intelektualnej.
    • Tekst zbyt długi: text przekracza 800 znaków.
    • Nieprawidłowy image_subject: Nie jest jednym z 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 Twój limit szybkości.

Request

POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1 (image-to-3D): generate a matte-white lampshade concept image
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"
  }'

# Stage 1 (text-to-3D): generate from a text prompt
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 '{
    "text": "a stylized owl perched on a tree branch under moonlight"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
Start with a source photo, then generate the prototype image used by the lamp build stage.
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 budowania lampy

Wygeneruj końcowy, nadający się do druku 3D klosz lampy z zakończonego powodzeniem zadania prototypu. Budowanie uruchamia potok image-to-3D na obrazie koncepcyjnym prototypu, a następnie przetwarza siatkę przez procesor lampy, aby ją wydrążyć, spłaszczyć górę, opcjonalnie wyciąć podstawę oraz (gdy wybrano preset mocowania) wygenerować oddzielny dysk podstawy dla źródła światła. Zobacz Obiekt zadania budowania lampy, aby poznać kształt odpowiedzi.

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    ID zadania prototypu utworzonego za pomocą tego samego punktu końcowego OpenAPI. Prototyp musi być utworzony przy użyciu tego samego klucza API, musi osiągnąć SUCCEEDED i musi wygenerować dokładnie jeden obraz kandydujący.

    Zadania prototypu utworzone przez aplikację webową nie są akceptowane — punkt końcowy budowania akceptuje tylko zadania prototypu utworzone przez POST /openapi/creative-lab/lamp/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 geometrii klosza lampy. Każde pole ma rozsądną wartość domyślną — wyślij tylko te, które chcesz nadpisać.

  • Name
    diameter_mm
    Type
    number
    domyślne 80
    Description

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

  • Name
    thickness_mm
    Type
    number
    domyślne 1.5
    Description

    Grubość ścianki pustego klosza lampy, w milimetrach. Zakres: (0, 10].

  • Name
    cut_amount_percent
    Type
    number
    domyślne 35
    Description

    Procent wysokości klosza lampy do spłaszczenia u góry, aby wydruk mógł leżeć na stole. Zakres: [1, 100].

  • Name
    light_source_preset
    Type
    string
    domyślne bambu_mh001_60mm
    Description

    Preset mocowania źródła światła, który określa, czy (i jaki) dysk podstawy wygenerować wraz z kloszem lampy. Dostępne wartości:

    • bambu_mh001_60mm (domyślnie) — generuje dysk podstawy 60 mm o rozmiarze dla kompatybilnego mocowania źródła światła. Wynik zawiera model_urls.base_stl.
    • none — brak mocowania, brak dysku podstawy. model_urls.base_stl jest pomijane.
  • Name
    fixture_offset_x_mm
    Type
    number
    domyślne 0
    Description

    Poziome przesunięcie osi X wycięcia mocowania względem środka klosza lampy, w milimetrach. Ma znaczenie tylko wtedy, gdy light_source_presetnone. Zakres: [-80, 80].

  • Name
    fixture_offset_z_mm
    Type
    number
    domyślne 0
    Description

    Pionowe przesunięcie osi Z wycięcia mocowania względem dołu klosza lampy, w milimetrach. Zakres: [-80, 80].

  • Name
    rotate_x_deg
    Type
    number
    domyślne 0
    Description

    Obrót wokół osi X zastosowany do zaimportowanej siatki przed przetwarzaniem, w stopniach. 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 true i output.format to zip, dołącza result.json procesora lampy (zawierający zmierzone metryki siatki + rozwiązany zestaw opcji) do pakietu. Ignorowane, gdy output.format to stl.

output

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

  • Name
    format
    Type
    string
    domyślne stl
    Description

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

    • stl (domyślnie) — zwraca klosz lampy jako model_urls.lamp_stl, plus model_urls.base_stl, gdy light_source_presetnone.
    • zip — pakuje każdy artefakt generowany przez procesor (lamp.stl, opcjonalny base.stl, opcjonalny result.json) do jednego pliku zip i zwraca go w model_urls.bundle_zip.

Zwraca

Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania budowania lampy. Odpytuj punkt końcowy Pobierz zadanie lub subskrybuj strumień, aż zadanie osiągnie SUCCEEDED, a następnie pobierz artefakty z model_urls.

Tryby niepowodzeń

  • Name
    400 - Bad Request
    Description

    Żądanie było nieakceptowalne. 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ńczyło się powodzeniem: Odwołane zadanie prototypu nie osiągnęło jeszcze 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 zestawem 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

    Odwołane zadanie prototypu nie istnieje, należy do innego użytkownika lub zostało utworzone przez aplikację webową (tylko zadania prototypu w mode API można łączyć z budowaniem).

  • 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"
}
Build example
The build task turns the selected prototype image into a printable lampshade model.
Creative Lab Lamp build model preview
Build model preview

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

Pobierz zadanie lampy

Pobierz zadanie prototypu lub budowy, podając prawidłowe id zadania. Ścieżka URL musi odpowiadać etapowi zadania — zadanie budowy pobrane przez /prototype/:id zwraca 404 i odwrotnie.

Zobacz Obiekt zadania prototypu lampy oraz Obiekt zadania budowy lampy, aby poznać struktury odpowiedzi.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator zadania lampy do pobrania.

Zwraca

Odpowiedź zawiera obiekt zadania lampy. 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": 6,
  "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": 30,
  "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 w momencie utworzenia są zwracane. Zadania, które są już IN_PROGRESS, są anulowane bez zwrotu (worker może już zużywać zasoby). Zadania, które osiągnęły już stan końcowy (SUCCEEDED, FAILED, CANCELED), nie mogą zostać 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 powodzenia z pustą treścią odpowiedzi.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Zadanie jest 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 albo jego etap nie pasuje do ścieżki 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

Strumieniuj zadanie lampy

Strumieniuj aktualizacje w czasie rzeczywistym dla zadania lampy za pośrednictwem 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ń prototypu lampy lub kompilacji lampy jako Server-Sent Events. W przypadku zadań PENDING lub IN_PROGRESS strumień odpowiedzi będzie zawierał tylko 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": 30,
  "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świetl zadania lampy

Pobierz stronicowaną listę swoich zadań lampy dla pojedynczego etapu. Ścieżka URL wybiera etap — /prototype zwraca zadania prototypu; /build zwraca zadania budowania. 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 adresowi URL — pobranie /prototype nigdy nie zwraca zadań budowania 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. Maksymalna dozwolona liczba to 50 elementów.

  • Name
    sort_by
    Type
    string
    domyślne -created_at
    Description

    Pole, według którego należy 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.

Zwraca

Zwraca stronicowaną listę obiektów zadań dla danego etapu — albo obiekt zadania prototypu lampy podczas wyświetlania /prototype, albo obiekt zadania budowania lampy podczas wyświetlania /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": 6,
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

Obiekt zadania prototypu lampy

Obiekt zadania prototypu lampy to jednostka pracy, którą Meshy śledzi, aby wygenerować stylizowany, matowobiały obraz koncepcyjny na podstawie promptu tekstowego lub zdjęcia źródłowego. 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 identyfikatora UUID sortowalnego typu k 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-lamp-prototype.

  • Name
    name
    Type
    string
    Description

    Nazwa zadania podana podczas jego tworzenia. 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ść ta stanie się 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 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ń.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu dla zadań zakończonych niepowodzeniem. Zobacz Błędy, aby uzyskać pełną referencję 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 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": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Obiekt zadania budowy lampy

Obiekt zadania budowy lampy to jednostka pracy, którą Meshy śledzi, aby wygenerować finalny, nadający się do druku 3D abażur z zakończonego powodzeniem zadania prototypu. Budowa uruchamia potok szkicu image-to-3D + tekstury na obrazie koncepcyjnym prototypu, a następnie przetwarza siatkę przez procesor lampy, aby wydrążyć, spłaszczyć i (opcjonalnie) wyciąć podstawę 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 tworzenia zadania. 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. Po pomyślnym ukończeniu zadania wartość ta stanie się 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 zadań zakończonych niepowodzeniem. Zobacz Błędy, aby uzyskać pełną referencję 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 artefaktów, indeksowane według nazwy artefaktu. Zestaw kluczy zależy od output.format i options.light_source_preset:

    • Name
      lamp_stl
      Type
      string
      Description

      Adres URL do pobrania klosza lampy lamp.stl. Obecny, gdy output.format było stl (wartość domyślna).

    • Name
      base_stl
      Type
      string
      Description

      Adres URL do pobrania podstawy mocowania base.stl. Obecny, gdy output.format było stl i options.light_source_preset nie było none. Pomijany, gdy preset mocowania był none.

    • Name
      bundle_zip
      Type
      string
      Description

      Adres URL do pobrania pakietu zip każdego artefaktu emitowanego przez procesor (lamp.stl, opcjonalnie base.stl oraz — gdy options.include_result_json ma wartość trueresult.json). Obecny, gdy output.format było zip. Gdy bundle_zip jest obecny, 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": 30,
  "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=***"
  }
}