lowpoly wird am 30.10.2026 abgeschaltet. Wechseln Sie vor diesen Terminen das Modell, um Fehler bei Anfragen zu vermeiden. Alle Abkündigungen ansehen

Creative Lab Lamp API

Verwandeln Sie ein Foto in zwei Phasen in einen 3D-druckbaren Lampenschirm. Ein Prototyp-Task erzeugt ein matt-weißes Konzeptbild und wandelt es in ein 3D-Modell um. Ein Build-Task, der die ID des Prototyp-Tasks als input_task_id verwendet, verwandelt dieses Modell in druckbare STL-Teile. Mit der Standard-Fixture-Voreinstellung sind die Teile ein Lampenschirm mit offenem Boden, eine Grundplatte für die Leuchtenfassung sowie die Fassungshalterung.

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

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

Erstellen einer Lampe-Prototyp-Aufgabe

Erzeugt aus einem Foto ein matt-weißes Konzeptbild und wandelt es in ein 3D-Lampenschirmmodell um. Die Aufgabe liefert das Konzeptbild in image_urls und das Modell in model_urls.glb mit einer Vorschau in thumbnail_url. Um die druckbaren Teile zu erstellen, übergeben Sie die ID dieser Aufgabe an den Build-Endpunkt als input_task_id. Zu den Feldern der Aufgabe siehe Das Lampe-Prototyp-Aufgabenobjekt.

Request

POST
/openapi/creative-lab/lamp/v1/prototype
# Stage 1: concept image + 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"
}
Prototyp-Beispiel
Beginnen Sie mit einem Quellfoto. Der Prototyp liefert das Konzeptbild und das 3D-Modell, das die Build-Stufe verarbeitet.
Quellfoto einer Katze als Eingabe für Creative Lab Lampe
Prototyp-Eingabe
Creative Lab Lampe Prototyp-Ausgabe, erzeugt aus dem Quellfoto
Prototyp-Ausgabe

Parameter

  • Name
    image_url
    Type
    string
    Erforderlich
    Description

    Das Foto, auf dem der Lampenschirm basieren soll, als öffentliche URL oder als Data URI (data:image/jpeg;base64,<Ihre base64-kodierten Bilddaten>).

    Das Bild muss eine JPG-, JPEG-, PNG- oder WebP-Datei mit höchstens 20 MB sein.

  • Name
    image_subject
    Type
    string
    Standard character
    Description

    Die Art des Motivs im Foto, die festlegt, wie Meshy es stilisiert.

    Verfügbare Werte:

    • character: eine einzelne Figur oder ein einzelnes Objekt, z. B. eine Figur, ein Tier oder ein Maskottchen
    • landscape: eine Außenszene oder ein Panorama, z. B. ein Berg, eine Stadtlandschaft oder ein Wald
  • Name
    name
    Type
    string
    Description

    Ein Name für die Aufgabe, mit bis zu 100 Zeichen. Er wird im name-Feld der Aufgabe zurückgegeben. Ein längerer Name führt zu 400.

  • Name
    remove_background
    Type
    boolean
    Standard false
    Description

    Ob der Hintergrund aus dem Prototypbild entfernt werden soll. true liefert ein transparentes RGBA-PNG, sodass Sie das Motiv vor einen beliebigen Hintergrund setzen können. Meshy erstellt das 3D-Modell außerdem aus dem Bild ohne dessen Hintergrund. Kann Meshy den Hintergrund nicht entfernen, verwendet es das Bild mit Hintergrund, und die Aufgabe ist trotzdem erfolgreich.

Rückgabewerte

Das Feld result enthält die ID der neuen Prototyp-Aufgabe. Rufen Sie die Aufgabe ab oder streamen Sie sie, bis status den Wert SUCCEEDED hat. Übergeben Sie dann die ID an den Build-Endpunkt als input_task_id.

Fehlermodi

  • Name
    400 - Bad Request
    Description

    Die Anfrage kann nicht ausgeführt werden. Zum Beispiel:

    • image_url fehlt.
    • Das Bild ist keine JPG-, JPEG-, PNG- oder WebP-Datei.
    • Das Bild ist zu klein, größer als 20 MB oder überschreitet die maximale Pixelanzahl.
    • Meshy kann das Bild nicht herunterladen, zum Beispiel weil die URL 404 zurückgibt oder ein Timeout auftritt.
    • Die Data URI ist kein gültiges Base64.
    • Das Bild wurde als NSFW gekennzeichnet.
    • image_subject ist weder character noch landscape.

    Die Fehlermeldung nennt das gefundene Problem. Beheben Sie die Anfrage und senden Sie sie erneut.

  • Name
    401 - Unauthorized
    Description

    Der API-Schlüssel fehlt oder ist ungültig. Überprüfen Sie den Authorization-Header.

  • Name
    402 - Payment Required
    Description

    Einer dieser Fälle trifft zu:

    • Das Konto hat nicht genügend Credits.
    • Der API-Schlüssel, der Arbeitsbereich oder das Mitglied hat sein Credit-Limit erreicht.
    • Das Konto befindet sich im kostenlosen Plan.

    Überprüfen Sie Ihre Credits und Ihren Plan und versuchen Sie es erneut.

  • Name
    403 - Forbidden
    Description

    Ihr Team hat IP Filtering aktiviert, und Meshy hat das Bild wegen geistigen Eigentums Dritter gekennzeichnet. Senden Sie ein Bild, zu dessen Nutzung Sie berechtigt sind.

  • Name
    429 - Too Many Requests
    Description

    Eines dieser Limits wurde erreicht:

    • Sie haben mehr Anfragen gesendet, als Ihre Ratenbegrenzung erlaubt. Warten Sie einige Sekunden und versuchen Sie es erneut. Siehe Ratenbegrenzungen.
    • Zu viele Ihrer Aufgaben sind in der Warteschlange oder laufen bereits. Warten Sie, bis einige abgeschlossen sind, und versuchen Sie es erneut.
    • Bei einem unbegrenzten Plan ohne verbleibende Credits haben Sie die Anzahl der Aufgaben erreicht, die ohne Credits laufen können. Warten Sie, bis eine Aufgabe abgeschlossen ist, oder fügen Sie Credits hinzu.
  • Name
    500 - Internal Server Error
    Description

    Bei Meshy ist ein Serverfehler aufgetreten, zum Beispiel weil die Prüfung auf geistiges Eigentum für das Bild nicht ausgeführt werden konnte. Meshy erstellt die Aufgabe nicht und erstattet alle bereits berechneten Credits. Versuchen Sie die Anfrage erneut.


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

Create a Lamp build task

Erzeugt die 3D-druckbaren Teile aus einer erfolgreich abgeschlossenen Prototyp-Aufgabe. Meshy skaliert das Modell des Prototyps auf diameter_mm, schneidet den Boden um cut_amount_percent flach ab und höhlt es auf thickness_mm aus. Mit einem Fixture-Preset öffnet es außerdem den Boden, fügt eine Grundplatte mit der Fixture-Bohrung hinzu und erstellt eine separate Halterung für das Licht. Die Felder der Aufgabe finden Sie unter Das Lamp-Build-Aufgabenobjekt.

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-Beispiel
Die Build-Aufgabe verwandelt das 3D-Modell des Prototyps in druckbare Lampenschirm-Teile.
Creative Lab Lamp Build-Modellvorschau
Build-Modellvorschau

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

    Die ID der zu bauenden Prototyp-Aufgabe. Sie muss eine Aufgabe sein, die Ihr Konto mit POST /openapi/creative-lab/lamp/v1/prototype erstellt hat, mit dem Status SUCCEEDED.

    Eine ID, die nicht zu einer Ihrer Lamp-Prototyp-Aufgaben aus der API gehört, liefert 404 zurück, auch wenn der Prototyp in der Web-App erstellt wurde.

  • Name
    name
    Type
    string
    Description

    Ein Name für die Aufgabe, bis zu 100 Zeichen. Er wird im name-Feld der Aufgabe zurückgegeben. Ein längerer Name liefert 400 zurück.

options

Optionale Einstellungen für die Form des Lampenschirms. Jedes Feld hat einen Standardwert, senden Sie also nur die Felder, die Sie ändern möchten.

  • Name
    diameter_mm
    Type
    number
    Standard 150
    Description

    Die größte Abmessung des Lampenschirms in Millimetern, von 50 bis 400. Meshy skaliert das Modell gleichmäßig, um es anzupassen. 0 verwendet den Standardwert, und jeder andere Wert außerhalb des Bereichs liefert 400 zurück.

  • Name
    thickness_mm
    Type
    number
    Standard 1
    Description

    Die Wandstärke des Lampenschirms in Millimetern, bis zu 10. 0 verwendet den Standardwert, und ein negativer Wert oder ein Wert über 10 liefert 400 zurück.

  • Name
    cut_amount_percent
    Type
    number
    Standard 1
    Description

    Der Prozentsatz der Modellhöhe, der am Boden flach abgeschnitten wird, von 1 bis 100. Der flache Boden ermöglicht es dem Lampenschirm, auf dem Druckbett zu stehen, und lässt Platz für die Fixture. Ein Wert außerhalb des Bereichs liefert 400 zurück.

  • Name
    light_source_preset
    Type
    string
    Standard bambu_mh001_60mm
    Description

    Das Leuchtmittel-Fixture-Preset, das festlegt, wie Meshy den Boden baut.

    Verfügbare Werte:

    • bambu_mh001_60mm: ein Lampenschirm mit offenem Boden und einer Grundplatte mit einer 60-mm-Fixture-Bohrung, beide in model_urls.lamp_stl, sowie die Fixture-Halterung in model_urls.base_stl
    • none: ein einzelner geschlossener Lampenschirm in model_urls.lamp_stl, ohne model_urls.base_stl
  • Name
    fixture_offset_x_mm
    Type
    number
    Standard 0
    Description

    Wie weit die Fixture-Bohrung entlang der X-Achse vom Zentrum des Lampenschirms verschoben wird, in Millimetern, von -80 bis 80. Gilt nur, wenn light_source_preset nicht none ist.

  • Name
    fixture_offset_z_mm
    Type
    number
    Standard 0
    Description

    Wie weit die Fixture-Bohrung entlang der Z-Achse (Tiefe) vom Zentrum des Lampenschirms verschoben wird, in Millimetern, von -80 bis 80. Gilt nur, wenn light_source_preset nicht none ist.

  • Name
    rotate_x_deg
    Type
    number
    Standard 0
    Description

    Die Drehung um die X-Achse, die auf das Modell angewendet wird, bevor Meshy es verarbeitet, in Grad, von -360 bis 360. Meshy wendet die drei Drehungen als XYZ-Euler-Winkel um das Zentrum des Modells an.

  • Name
    rotate_y_deg
    Type
    number
    Standard 0
    Description

    Die Drehung um die Y-Achse, die auf das Modell angewendet wird, bevor Meshy es verarbeitet, in Grad, von -360 bis 360.

  • Name
    rotate_z_deg
    Type
    number
    Standard 0
    Description

    Die Drehung um die Z-Achse, die auf das Modell angewendet wird, bevor Meshy es verarbeitet, in Grad, von -360 bis 360.

  • Name
    include_result_json
    Type
    boolean
    Standard false
    Description

    Ob eine result.json-Datei zum Zip-Bündel hinzugefügt werden soll, mit dem Namen der ausgeführten Pipeline, Warnungen und Dateipfaden. Erfordert, dass output.format auf zip gesetzt ist. true zusammen mit stl liefert 400 zurück.

output

Optional. Legt fest, welche Dateien der Build zurückgibt.

  • Name
    format
    Type
    string
    Standard stl
    Description

    Die Dateien, die der Build zurückgibt.

    Verfügbare Werte:

    • stl: model_urls.lamp_stl, der Lampenschirm mit seiner Grundplatte, wenn ein Fixture-Preset vorhanden ist, sowie model_urls.base_stl, wenn light_source_preset nicht none ist
    • zip: eine Zip-Datei in model_urls.bundle_zip, mit lamp.stl sowie base.stl und result.json, wenn diese zutreffen

Rückgabewerte

Das Feld result enthält die ID der neuen Build-Aufgabe. Rufen Sie die Aufgabe ab oder streamen Sie sie, bis status auf SUCCEEDED steht. Laden Sie anschließend die Dateien von model_urls herunter.

Fehlerfälle

  • Name
    400 - Bad Request
    Description

    Die Anfrage kann nicht ausgeführt werden. Zum Beispiel:

    • input_task_id fehlt oder ist keine gültige Aufgaben-ID.
    • Der Status der Prototyp-Aufgabe ist nicht SUCCEEDED. Wenn sie noch läuft, warten Sie und versuchen Sie es erneut. Wenn sie fehlgeschlagen oder abgebrochen wurde, erstellen Sie eine neue Prototyp-Aufgabe.
    • Die Prototyp-Aufgabe war erfolgreich, hat aber kein 3D-Modell. Erstellen Sie eine neue Prototyp-Aufgabe.
    • Ein options-Feld liegt außerhalb seines Bereichs oder ist kein verfügbarer Wert.
    • output.format ist nicht stl oder zip, oder include_result_json ist true ohne zip.

    Die Fehlermeldung gibt an, welches Problem gefunden wurde.

  • Name
    401 - Unauthorized
    Description

    Der API-Schlüssel fehlt oder ist ungültig. Überprüfen Sie den Authorization-Header.

  • Name
    402 - Payment Required
    Description

    Einer der folgenden Punkte trifft zu:

    • Das Konto verfügt nicht über ausreichend Credits.
    • Der API-Schlüssel, der Arbeitsbereich oder das Mitglied hat sein Credit-Limit erreicht.
    • Das Konto befindet sich im kostenlosen Plan.

    Überprüfen Sie Ihre Credits und Ihren Plan, und versuchen Sie es dann erneut.

  • Name
    404 - Not Found
    Description

    input_task_id stimmt mit keiner Lamp-Prototyp-Aufgabe überein, die Ihr Konto mit der API erstellt hat. Ein in der Web-App erstellter Prototyp liefert ebenfalls 404 zurück. Senden Sie die result-ID aus einer Antwort zur Prototyp-Erstellung.

  • Name
    429 - Too Many Requests
    Description

    Eines dieser Limits wurde erreicht:

    • Sie haben mehr Anfragen gesendet, als Ihre Ratenbegrenzung erlaubt. Warten Sie einige Sekunden und versuchen Sie es dann erneut. Siehe Ratenbegrenzungen.
    • Zu viele Ihrer Aufgaben sind in der Warteschlange oder werden ausgeführt. Warten Sie, bis einige abgeschlossen sind, und versuchen Sie es dann erneut.
    • Bei einem unbegrenzten Plan ohne verbleibende Credits haben Sie die Anzahl der Aufgaben erreicht, die ohne Credits ausgeführt werden können. Warten Sie, bis eine Aufgabe abgeschlossen ist, oder fügen Sie Credits hinzu.

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

Eine Lamp-Aufgabe abrufen

Gibt eine Prototype- oder Build-Aufgabe zurück. Der Pfad muss zur Stufe der Aufgabe passen. Eine Build-Aufgabe, die über /prototype/:id angefragt wird, gibt 404 zurück, ebenso eine Prototype-Aufgabe, die über /build/:id angefragt wird.

Die Felder finden Sie unter Das Lamp-Prototype-Aufgabenobjekt und Das Lamp-Build-Aufgabenobjekt.

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=***"
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    Die Aufgaben-ID aus der Erstellungsantwort.

Rückgabe

Das Prototype-Aufgabenobjekt oder das Build-Aufgabenobjekt, passend zur Stufe im Pfad.

Fehlerfälle

  • Name
    400 - Bad Request
    Description

    id ist keine gültige Aufgaben-ID. Senden Sie die result-ID aus der Erstellungsantwort.

  • Name
    403 - Forbidden
    Description

    Ihr Team hat IP Filtering aktiviert, und Meshy hat das Bild der Prototype-Aufgabe wegen geistigem Eigentum Dritter markiert. Build-Aufgaben und Teams im Enterprise-Plan erhalten diesen Fehler nicht. Erstellen Sie eine Prototype-Aufgabe aus einem Bild, an dem Sie die Nutzungsrechte besitzen.

  • Name
    404 - Not Found
    Description

    Es gehört keine Lamp-Aufgabe mit dieser ID zu Ihrem Konto, oder die Stufe der Aufgabe passt nicht zum Pfad. Überprüfen Sie die ID und verwenden Sie /prototype oder /build, passend zur Aufgabe.

  • Name
    500 - Internal Server Error
    Description

    Meshy konnte die Prüfung auf geistiges Eigentum nicht durchführen. Wiederholen Sie die Anfrage.


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

Delete a Lamp task

Bricht eine Lampe-Aufgabe ab. Das Abbrechen einer Aufgabe mit Status PENDING erstattet deren Credits zurück. Eine Aufgabe mit Status IN_PROGRESS wird ohne Erstattung abgebrochen, da bereits ein Worker mit der Bearbeitung begonnen hat. Eine Aufgabe mit einem endgültigen Status (SUCCEEDED, FAILED oder CANCELED) kann nicht abgebrochen werden.

Der Pfad muss zur Stufe der Aufgabe passen. Beispielsweise liefert DELETE auf /prototype/:id mit der ID einer Build-Aufgabe 404.

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

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID der abzubrechenden Aufgabe.

Rückgabe

204 No Content mit leerem Body.

Fehlerfälle

  • Name
    400 - Bad Request
    Description

    Einer der folgenden Fälle trifft zu:

    • id ist keine gültige Aufgaben-ID. Senden Sie die result-ID aus der Antwort der Erstellung.
    • Die Aufgabe hat bereits einen endgültigen Status (SUCCEEDED, FAILED oder CANCELED) und kann daher nicht abgebrochen werden.
  • Name
    404 - Not Found
    Description

    Es gehört keine Lampe-Aufgabe mit dieser ID zu Ihrem Konto, oder die Stufe der Aufgabe stimmt nicht mit dem Pfad überein. Überprüfen Sie die ID und verwenden Sie /prototype oder /build, um die passende Aufgabe anzusprechen.


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

Einen Lampe-Task streamen

Streamt die Aktualisierungen eines Lampe-Tasks als Server-Sent Events (SSE). Der Pfad muss zur Stufe des Tasks passen. Falls nicht, zum Beispiel wenn die ID eines Build-Tasks unter /prototype/:id/stream verwendet wird, sendet der Stream ein einzelnes error-Event mit status_code: 404 und schließt sich.

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 following PENDING frame is shortened 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=***"
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    Die Task-ID aus der Erstellungsantwort.

Rückgabe

Ein Stream von prototype- oder build-Task-Objekten. Jedes Event enthält das vollständige Task-Objekt, so wie es Einen Lampe-Task abrufen zurückgibt. Solange der Task PENDING oder IN_PROGRESS ist, sind seine Ausgabefelder noch leer (null, [] oder {}), und finished_at ist null.

Falls die IP-Filterung das Ergebnis des Tasks blockiert, sendet der Stream an dessen Stelle ein einzelnes error-Event mit dem status_code, den eine Get-Anfrage zurückgeben würde.


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

Lampe-Tasks auflisten

Gibt Ihre Lampe-Tasks einer Stufe zurück, jeweils eine Seite auf einmal. Der Pfad bestimmt die Stufe. /prototype gibt nur Prototyp-Tasks zurück, und /build gibt nur Build-Tasks zurück.

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=***"
    ]
  }
]

Pfadparameter

  • Name
    stage
    Type
    path
    Erforderlich
    Description

    Die aufzulistende Stufe, prototype oder build.

Abfrageparameter

  • Name
    page_num
    Type
    integer
    Standard 1
    Description

    Die zurückzugebende Seite, von 1 bis 255. 0 gibt die erste Seite zurück. Ein Wert außerhalb von 0 bis 255 gibt 400 zurück.

  • Name
    page_size
    Type
    integer
    Standard 10
    Description

    Anzahl der Tasks pro Seite, bis zu 100. Ein Wert von 101 bis 255 gibt 100 Tasks zurück, und 0 verwendet den Standardwert. Ein Wert außerhalb von 0 bis 255 gibt 400 zurück.

  • Name
    sort_by
    Type
    string
    Standard -created_at
    Description

    Die Sortierreihenfolge.

    Verfügbare Werte:

    • -created_at: neueste zuerst
    • +created_at: älteste zuerst

Rückgabe

Ein Array von Prototyp-Task-Objekten oder Build-Task-Objekten, entsprechend der Stufe im Pfad.


Das Lamp-Prototyp-Taskobjekt

Ein Prototyp-Task erzeugt aus einem Foto ein mattweißes Konzeptbild und wandelt es in ein 3D-Modell um. Um die druckbaren Teile zu erstellen, übergeben Sie die ID des Tasks als input_task_id an den Build-Endpunkt.

Eigenschaften

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=***"
  ]
}
  • Name
    id
    Type
    string
    Description

    Die Task-ID. Verlassen Sie sich nicht auf ihr Format.

  • Name
    type
    Type
    string
    Description

    Der Task-Typ, immer creative-lab-lamp-prototype.

  • Name
    name
    Type
    string
    Description

    Der name, den Sie beim Erstellen des Tasks gesendet haben, oder "", falls Sie keinen gesendet haben.

  • Name
    status
    Type
    string
    Description

    Der Status des Tasks.

    Verfügbare Werte:

    • PENDING: wartet in der Warteschlange
    • IN_PROGRESS: Ergebnis wird generiert
    • SUCCEEDED: final, mit Ergebnis
    • FAILED: final, mit dem Grund in task_error
    • CANCELED: final, ohne Ergebnis
  • Name
    progress
    Type
    integer
    Description

    Prozentsatz der erledigten Arbeit, von 0 bis 100. Er ist 0, bis der Task beginnt, und 100, wenn er erfolgreich ist.

  • Name
    created_at
    Type
    timestamp
    Description

    Zeitpunkt der Erstellung des Tasks, in Unix-Millisekunden.

  • Name
    started_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem ein Worker den Task gestartet hat, in Unix-Millisekunden. Bis dahin null.

  • Name
    finished_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem der Task einen finalen Status erreicht hat, in Unix-Millisekunden. Bis dahin null.

  • Name
    expires_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem das Ergebnis des Tasks abläuft, in Unix-Millisekunden. Das ist 3 Tage nach finished_at, oder 3 Tage nach created_at, solange der Task noch nicht abgeschlossen ist. Bei Enterprise-Konten, die API-Ergebnisse unbegrenzt aufbewahren, liegt er etwa 100 Jahre später. Siehe Aufbewahrung von Assets.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Position des Tasks in der Warteschlange, solange er PENDING ist. 1 bedeutet, dass er als Nächstes startet. 0, nachdem der Task die Warteschlange verlassen hat, und immer 0 in Listenergebnissen.

  • Name
    task_error
    Type
    object
    Description

    Warum der Task fehlgeschlagen ist. null, außer wenn status gleich FAILED ist. Siehe Fehler.

  • Name
    consumed_credits
    Type
    integer
    Description

    Anzahl der für den Task berechneten Credits, nach einer eventuellen Rückerstattung. Eine Anfrage, die einen Fehler zurückgibt, wird nicht berechnet. Ein fehlgeschlagener Task hat den Wert 0, da Meshy ihn zurückerstattet. Das Abbrechen erstattet einen Task nur, solange er PENDING ist. Wenn Meshy die Belastung nicht auslesen kann, lässt eine Get- oder Stream-Antwort das Feld weg, und eine Listenanfrage gibt 500 zurück. In diesem Fall wiederholen Sie die Anfrage.

  • Name
    model_urls
    Type
    object
    Description

    Download-URLs für das aus dem Konzeptbild generierte 3D-Modell. {}, bis der Task erfolgreich ist.

    • Name
      glb
      Type
      string
      Description

      Download-URL für das Lampenschirm-Modell als GLB-Datei. Die Build-Phase wandelt dieses Modell in die druckbaren Teile um.

  • Name
    thumbnail_url
    Type
    string
    Description

    Download-URL für ein Vorschaubild des 3D-Modells. "", bis der Task erfolgreich ist.

  • Name
    image_urls
    Type
    array of strings
    Description

    Download-URLs für das Konzeptbild. Das Array enthält eine URL, nachdem der Task erfolgreich war, und ist bis dahin leer.


Das Lamp-Build-Task-Objekt

Ein Build-Task wandelt das 3D-Modell eines erfolgreichen Prototype-Tasks in druckbare Lampenschirm-Teile um. Meshy höhlt das Modell aus und schneidet seine Unterseite flach. Mit einem Fixture-Preset öffnet es außerdem die Unterseite und fügt die Grundplatte sowie die Fassungshalterung hinzu.

Eigenschaften

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=***"
  }
}
  • Name
    id
    Type
    string
    Description

    Die Task-ID. Verlassen Sie sich nicht auf deren Format.

  • Name
    type
    Type
    string
    Description

    Der Task-Typ, immer creative-lab-lamp-build.

  • Name
    name
    Type
    string
    Description

    Der name, den Sie beim Erstellen des Tasks gesendet haben, oder "", falls Sie keinen gesendet haben.

  • Name
    status
    Type
    string
    Description

    Der Status des Tasks.

    Verfügbare Werte:

    • PENDING: wartet in der Warteschlange
    • IN_PROGRESS: generiert das Ergebnis
    • SUCCEEDED: final, mit dem Ergebnis
    • FAILED: final, mit dem Grund in task_error
    • CANCELED: final, ohne Ergebnis
  • Name
    progress
    Type
    integer
    Description

    Prozentsatz der erledigten Arbeit, von 0 bis 100. Er ist 0, bis der Task startet, und 100, wenn er erfolgreich ist.

  • Name
    created_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem der Task erstellt wurde, in Unix-Millisekunden.

  • Name
    started_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem ein Worker den Task gestartet hat, in Unix-Millisekunden. Bis dahin null.

  • Name
    finished_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem der Task einen finalen Status erreicht hat, in Unix-Millisekunden. Bis dahin null.

  • Name
    expires_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem das Ergebnis des Tasks abläuft, in Unix-Millisekunden. Das sind 3 Tage nach finished_at, oder, solange der Task noch nicht abgeschlossen ist, 3 Tage nach created_at. Bei Enterprise-Konten, die API-Ergebnisse unbegrenzt aufbewahren, liegt er etwa 100 Jahre später. Siehe Aufbewahrung von Assets.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Position des Tasks in der Warteschlange, während er sich im Status PENDING befindet. 1 bedeutet, dass er als Nächstes startet. 0, nachdem der Task die Warteschlange verlassen hat, und bei Listenergebnissen immer 0.

  • Name
    task_error
    Type
    object
    Description

    Warum der Task fehlgeschlagen ist. null, außer wenn status FAILED ist. Siehe Fehler.

  • Name
    consumed_credits
    Type
    integer
    Description

    Anzahl der für den Task berechneten Credits, nach einer eventuellen Rückerstattung. Eine Anfrage, die einen Fehler zurückgibt, wird nicht berechnet. Ein fehlgeschlagener Task hat den Wert 0, da Meshy ihn zurückerstattet. Ein Abbruch erstattet einen Task nur, solange er sich im Status PENDING befindet. Kann Meshy die Belastung nicht auslesen, lässt eine Get- oder Stream-Antwort das Feld weg, und eine Listenanfrage gibt 500 zurück. Wiederholen Sie in diesem Fall die Anfrage.

  • Name
    model_urls
    Type
    object
    Description

    Download-URLs für die druckbaren Dateien. Welche Schlüssel vorkommen, hängt von output.format und options.light_source_preset ab.

    • Name
      lamp_stl
      Type
      string
      Description

      Download-URL für lamp.stl. Mit einem Fixture-Preset handelt es sich um den unten offenen Lampenschirm mit der Grundplatte, die das Loch für die Fassung enthält. Wenn options.light_source_preset auf none gesetzt ist, handelt es sich um einen einzelnen, geschlossenen Lampenschirm. Vorhanden, wenn output.format stl ist.

    • Name
      base_stl
      Type
      string
      Description

      Download-URL für base.stl, die Halterung für die Leuchtmittelfassung. Vorhanden, wenn output.format stl ist und options.light_source_preset nicht none ist.

    • Name
      bundle_zip
      Type
      string
      Description

      Download-URL für eine Zip-Datei mit lamp.stl sowie, falls zutreffend, base.stl und result.json. Vorhanden, wenn output.format zip ist; in diesem Fall werden lamp_stl und base_stl weggelassen.