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 Schlüsselanhänger API

Verwandeln Sie ein Foto in zwei Schritten in einen 3D-druckbaren Schlüsselanhänger mit einem farbigen Relief. Ein Prototyp-Task erzeugt aus dem Foto ein koloriertes Konzeptbild. Ein Build-Task verwandelt dieses Bild in ein Relief-3D-Modell und verwendet die ID des Prototyp-Tasks als input_task_id.

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

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

Erstellen einer Keychain-Prototyp-Aufgabe

Erzeugt ein koloriertes Konzeptbild aus einem Foto. Um das 3D-Modell zu erstellen, übergeben Sie die ID dieser Aufgabe als input_task_id an den Build-Endpunkt. Die Felder der Aufgabe finden Sie unter Das Keychain-Prototyp-Aufgabenobjekt.

Request

POST
/openapi/creative-lab/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept image
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json; charset=utf-8' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>",
    "name_text": "Luna"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototypbeispiel
Beginnen Sie mit einem Ausgangsfoto und erzeugen Sie dann das Prototypbild, das von der Keychain-Build-Phase verwendet wird.
Ausgangsfoto, das als Eingabe für Creative Lab Keychain verwendet wird
Prototyp-Eingabe
Aus dem Ausgangsfoto erzeugte Creative Lab Keychain-Prototyp-Ausgabe
Prototyp-Ausgabe

Parameter

  • Name
    image_url
    Type
    string
    Erforderlich
    Description

    Das Foto, das in ein Keychain-Konzeptbild umgewandelt werden soll, als öffentliche URL oder Data URI (data:image/jpeg;base64,<Ihre base64-kodierten Bilddaten>).

    Das Bild muss eine JPG-, JPEG-, PNG- oder WebP-Datei von maximal 20 MB sein.

  • 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 führt zu 400.

    Er kennzeichnet die Aufgabe in Ihrem Dashboard und in Aufgabenlisten und erscheint nicht auf dem Keychain. Um einen Namen auf dem Keychain anzubringen, verwenden Sie name_text.

  • Name
    name_text
    Type
    string
    Description

    Ein Name, der dem Keychain hinzugefügt werden soll, zum Beispiel der Name eines Haustiers oder einer Person, bis zu 10 Zeichen. Meshy zählt Zeichen, nicht Bytes, sodass ein 10-stelliger chinesischer, japanischer oder koreanischer Name hineinpasst. Ein längerer Name führt zu 400. Lassen Sie das Feld weg, um einen Keychain ohne Namen zu erhalten.

    Der Name erscheint auf der Vorderseite des Keychains als flaches, farbiges Detail, nicht als erhabener oder eingeschnittener Text.

    Meshy entfernt umgebende Leerzeichen und unsichtbare Formatierungszeichen. Das Prototyp-Aufgabenobjekt gibt das Ergebnis als name_text zurück, sodass Sie den Text überprüfen können, bevor Sie für den Build bezahlen.

    Meshy fügt den Namen in der Prototyp-Phase hinzu. Der Build behält ihn bei und ignoriert einen an den Build-Endpunkt gesendeten name_text.

  • Name
    remove_background
    Type
    boolean
    Standard false
    Description

    Ob der Hintergrund aus dem Prototypbild entfernt werden soll. true liefert ein transparentes RGBA-PNG, das das gesamte Medaillon beibehält, sodass Sie es auf jeden beliebigen Hintergrund setzen können. Auch der Build startet dann mit dem Bild ohne Hintergrund. Wenn Meshy den Hintergrund nicht entfernen kann, gibt es das Bild mit Hintergrund zurück, und die Aufgabe ist dennoch erfolgreich.

    Die remove_background-Option des Builds ist davon unabhängig.

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 als input_task_id an den Build-Endpunkt.

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.
    • name_text ist länger als 10 Zeichen. Meshy lehnt es ab, statt es zu kürzen, und berechnet keine Credits für die Anfrage.
    • Das Bild oder name_text wurde als NSFW eingestuft.

    Die Fehlermeldung gibt an, welches Problem gefunden wurde. 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 der folgenden Fälle trifft zu:

    • Das Konto verfügt nicht über genügend Credits.
    • Der API-Schlüssel, Arbeitsbereich oder das Mitglied hat sein Credit-Limit erreicht.
    • Das Konto nutzt den 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 markiert. Senden Sie ein Bild, zu dessen Nutzung Sie berechtigt sind. Meshy prüft nur das Bild auf geistiges Eigentum, nicht name_text.

  • Name
    429 - Too Many Requests
    Description

    Eines dieser Limits wurde erreicht:

    • Sie haben mehr Anfragen gesendet, als Ihre Ratenbegrenzung zulässt. 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 ausgeführt werden 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 durchgeführt werden konnte. Meshy erstellt die Aufgabe nicht und erstattet alle berechneten Credits zurück. Versuchen Sie die Anfrage erneut.


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

Erstellen einer Keychain-Build-Aufgabe

Erzeugt den 3D-druckbaren Schlüsselanhänger aus einer erfolgreich abgeschlossenen Prototyp-Aufgabe. Meshy verwandelt das Konzeptbild des Prototyps in ein Tiefenkarten-Relief und gibt eine Modelldatei im von Ihnen gewählten Format zurück. Die Felder der Aufgabe finden Sie unter Das Keychain-Build-Aufgabenobjekt.

Request

POST
/openapi/creative-lab/keychain/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/keychain/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": {
      "badge_shape": "circle",
      "size_mm": 40,
      "relief_height_mm": 2.5
    },
    "output": {
      "format": "glb"
    }
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Build-Beispiel
Die Build-Aufgabe wandelt das ausgewählte Prototypbild in ein 3D-druckbares Schlüsselanhänger-Modell um.
Creative Lab Keychain build model preview
Build-Modellvorschau

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

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

    Eine ID, die keiner Ihrer Keychain-Prototyp-Aufgaben aus der API entspricht, gibt 404 zurück, einschließlich eines in der Web-App erstellten Prototyps.

  • 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 gibt 400 zurück.

options

Optionale Einstellungen für die Form des Reliefs. Jedes Feld hat einen Standardwert, senden Sie also nur die Felder, die Sie ändern möchten. Ein Wert außerhalb des Bereichs eines Feldes gibt 400 zurück.

  • Name
    badge_shape
    Type
    string
    Standard circle
    Description

    Die Umrisslinie des Schlüsselanhängers, wenn Meshy sie nicht aus dem Motiv ableitet. Meshy verwendet sie, wenn remove_background false ist, oder wenn die Umrisslinie des Motivs nicht gefunden werden kann.

    Verfügbare Werte:

    • circle
    • rounded-rect
    • hexagon
    • shield
    • star
  • Name
    size_mm
    Type
    number
    Standard 40
    Description

    Die Kantenlänge des umschließenden Quadrats des Schlüsselanhängers, in Millimetern, bis zu 400. 0 verwendet den Standardwert.

  • Name
    relief_height_mm
    Type
    number
    Standard 2.2
    Description

    Die maximale Höhe des Reliefs über der Basis, in Millimetern, von 0 bis 20.

  • Name
    relief_offset_mm
    Type
    number
    Standard 0
    Description

    Wie weit das Relief abgesenkt wird, in Millimetern, von 0 bis 20. Meshy zieht diesen Wert überall von der Reliefhöhe ab, bis hinunter zur Basis.

  • Name
    base_thickness_mm
    Type
    number
    Standard 0.1
    Description

    Die Dicke der flachen Grundplatte hinter dem Relief, in Millimetern, von 0 bis 20.

  • Name
    has_closed_back
    Type
    boolean
    Standard true
    Description

    Ob die Rückseite des Schlüsselanhängers geschlossen werden soll. false lässt die Rückseite als Schale offen.

  • Name
    relief_curve
    Type
    string
    Standard linear
    Description

    Die Kurve, die Tiefenkartenwerte auf die Reliefhöhe abbildet.

    Verfügbare Werte:

    • linear
    • gamma
    • s-curve
  • Name
    curve_param
    Type
    number
    Standard 1.0
    Description

    Die Stärke der Kurve, bis zu 10. Die Kurven gamma und s-curve verwenden sie, linear ignoriert sie. 0 verwendet den Standardwert.

  • Name
    invert_depth
    Type
    boolean
    Standard false
    Description

    Ob die Tiefenkarte invertiert werden soll, sodass dunklere Bereiche ein höheres Relief ergeben.

  • Name
    smoothing
    Type
    number
    Standard 0.24
    Description

    Wie stark die Tiefenkarte geglättet wird, bevor Meshy das Relief erstellt, von 0 bis 10.

  • Name
    relief_scale
    Type
    number
    Standard 1.0
    Description

    Wie stark das Relief und dessen Textur innerhalb der Umrisslinie um das Zentrum herum gezoomt wird, bis zu 10. Ein Wert über 1 vergrößert das Motiv, ein Wert unter 1 verkleinert es. Die Reliefhöhe ändert sich dadurch nicht. 0 verwendet den Standardwert.

  • Name
    depth_threshold
    Type
    number
    Standard 0.1
    Description

    Der Tiefenkartenwert, unterhalb dessen Meshy die Tiefe auf null setzt, von 0 bis 1.

  • Name
    remove_background
    Type
    boolean
    Standard true
    Description

    Ob die Umrisslinie des Schlüsselanhängers aus dem Motiv nachgezeichnet werden soll, sodass der Schlüsselanhänger der Form des Motivs folgt. false verwendet stattdessen die Umrisslinie von badge_shape. Meshy verwendet badge_shape auch dann, wenn die Umrisslinie des Motivs nicht gefunden werden kann.

    Dies ist unabhängig vom remove_background-Parameter des Prototyps, der festlegt, ob das Prototypbild einen transparenten Hintergrund hat.

  • Name
    export_resolution
    Type
    integer
    Standard 512
    Description

    Die Netzauflösung des exportierten Modells, von 64 bis 512. Meshy erstellt die Geometrie aus einer Tiefenkarte mit 512 Pixel, sodass ein feineres Netz zusätzliche Flächen hinzufügen würde, ohne weitere Details zu liefern. 0 verwendet den Standardwert.

output

Optional. Legt das Dateiformat fest, das der Build zurückgibt.

  • Name
    format
    Type
    string
    Standard glb
    Description

    Das Dateiformat, das der Build zurückgibt.

    Verfügbare Werte:

    • glb: eine model.glb-Datei, in model_urls.glb
    • obj: eine ZIP-Datei mit model.obj, model.mtl und texture.png, in model_urls.obj
    • zip: eine ZIP-Datei mit allen von Meshy erzeugten Dateien, in model_urls.bundle_zip

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 dann die Datei aus dem einen Eintrag in model_urls herunter.

Fehlerarten

  • 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. Falls sie noch läuft, warten Sie und versuchen Sie es erneut. Falls sie fehlgeschlagen oder abgebrochen wurde, erstellen Sie eine neue Prototyp-Aufgabe.
    • Die Prototyp-Aufgabe war erfolgreich, hat aber kein Bild. Erstellen Sie eine neue Prototyp-Aufgabe.
    • Ein options-Feld liegt außerhalb seines Bereichs oder ist kein verfügbarer Wert.

    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 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 nutzt den kostenlosen Plan.

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

  • Name
    404 - Not Found
    Description

    input_task_id entspricht keiner Keychain-Prototyp-Aufgabe, die Ihr Konto mit der API erstellt hat. Ein in der Web-App erstellter Prototyp gibt ebenfalls 404 zurück. Senden Sie die result-ID aus einer Antwort auf die Erstellung eines Prototyps.

  • 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 werden ausgeführt. Warten Sie, bis einige abgeschlossen sind, und versuchen Sie es erneut.
    • Bei einem unlimitierten 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/keychain/v1/(prototype|build)/:id

Einen Schlüsselanhänger-Task abrufen

Gibt einen Prototyp- oder Build-Task zurück. Der Pfad muss zur Stufe des Tasks passen. Ein Build-Task, der über /prototype/:id angefragt wird, gibt 404 zurück, ebenso ein Prototyp-Task, der über /build/:id angefragt wird.

Die Felder finden Sie unter Das Keychain-Prototyp-Task-Objekt und Das Keychain-Build-Task-Objekt.

Request

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

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

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-keychain-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-keychain-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": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    Die Task-ID aus der Erstellungsantwort.

Rückgabe

Das Prototyp-Task-Objekt oder das Build-Task-Objekt, passend zur Stufe im Pfad.

Fehlermodi

  • Name
    400 - Bad Request
    Description

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

  • Name
    403 - Forbidden
    Description

    Ihr Team hat IP-Filterung aktiviert, und Meshy hat das Bild des Prototyp-Tasks wegen Rechten Dritter an geistigem Eigentum markiert. Build-Tasks und Teams im Enterprise-Plan erhalten diesen Fehler nicht. Erstellen Sie einen Prototyp-Task mit einem Bild, an dem Sie die Nutzungsrechte besitzen.

  • Name
    404 - Not Found
    Description

    Es gehört kein Schlüsselanhänger-Task mit dieser ID zu Ihrem Konto, oder die Stufe des Tasks stimmt nicht mit dem Pfad überein. Überprüfen Sie die ID, und verwenden Sie /prototype oder /build passend zum Task.

  • 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/keychain/v1/(prototype|build)/:id

Eine Keychain-Aufgabe löschen

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

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

Request

DELETE
/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/keychain/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ückgabewerte

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 Create-Antwort.
    • 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 Keychain-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 Aufgabe zu finden.


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

Einen Keychain-Task streamen

Streamt die Aktualisierungen eines Keychain-Tasks als Server-Sent Events (SSE). Der Pfad muss zur Stufe des Tasks passen. Ist das nicht der Fall, zum Beispiel die ID eines Build-Tasks unter /prototype/:id/stream, sendet der Stream ein einzelnes error-Event mit status_code: 404 und wird anschließend geschlossen.

Request

GET
/openapi/creative-lab/keychain/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/keychain/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-keychain-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": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

Parameter

  • Name
    id
    Type
    path
    Description

    Die Task-ID aus der Erstellungsantwort.

Rückgabewerte

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

Wenn IP Filtering das Ergebnis des Tasks blockiert, sendet der Stream an dieser Stelle ein einzelnes error-Event mit dem status_code, den eine GET-Anfrage zurückgeben würde.


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

Liste der Schlüsselanhänger-Aufgaben

Gibt Ihre Schlüsselanhänger-Aufgaben einer Stufe zurück, jeweils eine Seite. Der Pfad bestimmt die Stufe. /prototype gibt nur Prototyp-Aufgaben zurück, und /build gibt nur Build-Aufgaben zurück.

Request

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

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

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-keychain-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=***"
    ]
  }
]

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 Aufgaben pro Seite, bis zu 100. Ein Wert von 101 bis 255 gibt 100 Aufgaben 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ückgabewerte

Ein Array von Prototyp-Aufgabenobjekten oder Build-Aufgabenobjekten, passend zur Stufe im Pfad.


Das Keychain-Prototyp-Taskobjekt

Ein Prototyp-Task erzeugt aus einem Foto ein farbiges Konzeptbild. Um das Bild in ein 3D-Modell umzuwandeln, übergeben Sie die ID des Tasks als input_task_id an den Build-Endpunkt.

Eigenschaften

Example Keychain Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-keychain-prototype",
  "name": "",
  "name_text": "Luna",
  "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=***"
  ]
}
  • 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-keychain-prototype.

  • Name
    name
    Type
    string
    Description

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

  • Name
    name_text
    Type
    string
    Description

    Der Name, den Meshy dem Schlüsselanhänger hinzugefügt hat, nach dem Entfernen von Leerzeichen und unsichtbaren Formatierungszeichen. Wird weggelassen, wenn Sie name_text nicht gesendet haben. Um zu prüfen, ob Ihr HTTP-Client den Text korrekt kodiert hat, vergleichen Sie ihn mit dem, was Sie gesendet haben.

  • Name
    status
    Type
    string
    Description

    Der Status des Tasks.

    Verfügbare Werte:

    • PENDING: wartet in der Warteschlange
    • IN_PROGRESS: erzeugt das Ergebnis
    • SUCCEEDED: abgeschlossen, mit Ergebnis
    • FAILED: abgeschlossen, mit dem Grund in task_error
    • CANCELED: abgeschlossen, 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 abgeschlossen wird.

  • 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 endgültigen 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 bei Listenergebnissen immer 0.

  • Name
    task_error
    Type
    object
    Description

    Grund, warum der Task fehlgeschlagen ist. null, außer wenn status den Wert FAILED hat. 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. Bei einem fehlgeschlagenen Task ist der Wert 0, da Meshy ihn erstattet. Ein Abbruch erstattet einen Task nur, solange dieser 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
    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 Keychain-Build-Task-Objekt

Ein Build-Task generiert den 3D-Schlüsselanhänger aus einem erfolgreichen Prototyp-Task. Er liefert eine Modelldatei im angeforderten Format zurück.

Eigenschaften

Example Keychain Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-keychain-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": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?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-keychain-build.

  • Name
    name
    Type
    string
    Description

    Der name, den Sie beim Erstellen des Tasks gesendet haben, oder "", wenn 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 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. Der Wert ist 0, bis der Task startet, 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 dieser Wert etwa 100 Jahre in der Zukunft. 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. Bei einem fehlgeschlagenen Task ist der Wert 0, da Meshy ihn erstattet. Ein Abbruch 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. Wiederholen Sie in diesem Fall die Anfrage.

  • Name
    model_urls
    Type
    object
    Description

    Download-URLs für die Modelldatei, mit einem Eintrag für das von Ihnen angeforderte output.format. {}, bis der Task erfolgreich ist.

    • Name
      glb
      Type
      string
      Description

      Download-URL für die GLB-Datei. Vorhanden, wenn output.format gleich glb ist.

    • Name
      obj
      Type
      string
      Description

      Download-URL für eine Zip-Datei mit model.obj, model.mtl und texture.png. Vorhanden, wenn output.format gleich obj ist.

    • Name
      bundle_zip
      Type
      string
      Description

      Download-URL für eine Zip-Datei mit allen von Meshy generierten Dateien. Vorhanden, wenn output.format gleich zip ist.