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

Analyze Printability API

Analysiert ein 3D-Modell auf Druckbarkeit — Wasserdichtigkeit, Volumen, Löcher, nicht-mannigfaltige Kanten und entartete Flächen. Optional kann auch die Wandstärke bei der geplanten Druckgröße geprüft werden.


POST/openapi/v1/print/analyze

Create an Analyze Printability Task

Dieser Endpunkt erstellt eine neue Aufgabe zur Druckbarkeitsanalyse. Die Aufgabe bewertet ein 3D-Modell und gibt dessen Druckbarkeitskennzahlen aus.

Die Aufgabe läuft im Hintergrund. Wie lange dies in der Regel dauert, erfahren Sie unter Processing Times.

Wenn für die eingegebene Aufgabe bereits eine zwischengespeicherte Druckbarkeit vorliegt, ist die zurückgegebene Aufgabe sofort fertig, und der erste GET-Aufruf liefert das Analyseergebnis, ohne den Worker zu durchlaufen.

Um zusätzlich die Wandstärke bei der geplanten Druckgröße zu prüfen, senden Sie printer_type, eine Druckgröße oder beides. Das Ergebnis wird in printability.thin_walls zurückgegeben. Die Prüfung der Wandstärke dauert länger, sodass die Aufgabe in der Regel nicht sofort fertig ist, selbst wenn das Modell bereits zuvor analysiert wurde.

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

    Die ID einer erfolgreich abgeschlossenen Aufgabe, die Ihnen gehört. Unterstützte Aufgabentypen: Image to 3D, Multi-Image to 3D, Text to 3D, Remesh und Retexture. Die Aufgabe muss Meshy 6 oder neuer verwenden (einschließlich Meshy 7) und den Status SUCCEEDED haben. Aufgaben vom Typ Repair Printability werden ebenfalls akzeptiert.

  • Name
    model_url
    Type
    string
    Erforderlich
    Description

    URL eines zu analysierenden 3D-Modells. Unterstützte Formate: .glb, .gltf, .obj, .fbx, .stl. Maximale Dateigröße: 100 MB. Muss http, https oder eine data:-URL verwenden (Daten-URLs umgehen die Prüfung der Dateiendung).

    Meshy-Download-URLs (assets.meshy.ai/…?Expires=…&Signature=…) sind signiert und funktionieren ab dem expires_at-Zeitpunkt der Aufgabe nicht mehr; ein erneutes Abrufen der Aufgabe erneuert sie nicht. Für ein mit Meshy erzeugtes Modell übergeben Sie stattdessen input_task_id. Dies funktioniert, solange die Quellaufgabe aufbewahrt wird (siehe Asset Retention). Um ein Modell danach weiterzuverwenden, laden Sie es vor expires_at herunter und senden Sie Ihre eigene Kopie.

  • Name
    printer_type
    Type
    string
    Description

    Der Drucker, den Sie verwenden möchten. Er legt die Mindestwandstärke für die Wandstärkenprüfung fest. Standardmäßig fdm, wenn Sie eine Druckgröße ohne diesen Parameter senden.

    Verfügbare Werte:

    • fdm: Filament, 1,0 mm Mindestwandstärke.
    • sla: Harz, 0,8 mm Mindestwandstärke.
    • full_color: Vollfarbe, 2,0 mm Mindestwandstärke.
  • Name
    intended_print_height_mm
    Type
    number
    Description

    Höhe des Drucks in Millimetern. Bereich: [1, 1000]. Wird auf den nächsten Millimeter gerundet. Nur für GLB-Eingaben.

  • Name
    intended_print_longest_side_mm
    Type
    number
    Description

    Länge der längsten Seite des Drucks in Millimetern. Bereich: [1, 1000]. Wird auf den nächsten Millimeter gerundet. Funktioniert mit jedem Eingabeformat.

Rückgabewerte

Die result-Eigenschaft der Antwort enthält die id der neu erstellten Aufgabe zur Druckbarkeitsanalyse.

Fehlerfälle

  • Name
    400 - Bad Request
    Description

    Die Anfrage war nicht akzeptabel. Häufige Ursachen:

    • Fehlender Parameter: Weder input_task_id noch model_url wurde angegeben.
    • Ungültige UUID: input_task_id ist keine gültige UUID.
    • Ungültige Modell-URL: model_url ist fehlerhaft, verwendet ein nicht unterstütztes Schema oder hat eine nicht unterstützte Dateiendung.
    • Modelldatei zu groß: Der Inhalt von model_url überschreitet 100 MB.
    • Modelldatei konnte nicht heruntergeladen werden: model_url lieferte einen Fehler zurück, meist weil eine signierte Meshy-Download-URL abgelaufen ist. Ein erneutes Abrufen der Aufgabe liefert dieselbe URL mit demselben Ablaufdatum zurück. Senden Sie daher Ihre eigene Kopie der Datei, oder verwenden Sie input_task_id, solange die Quellaufgabe noch aufbewahrt wird.
    • Aufgabe nicht erfolgreich abgeschlossen: Die referenzierte Aufgabe ist noch ausstehend, in Bearbeitung oder fehlgeschlagen.
    • Ungültige Druckgröße: intended_print_height_mm oder intended_print_longest_side_mm liegt außerhalb von [1, 1000], oder beide wurden gesendet.
    • Unbekannter Druckertyp: printer_type ist weder fdm, sla noch full_color.
    • Höhe bei einem Nicht-GLB-Modell: intended_print_height_mm wurde mit einer model_url gesendet, die nicht .glb ist. Verwenden Sie stattdessen intended_print_longest_side_mm.
    • Modellgröße kann nicht anhand der Höhe bestimmt werden: Bei der angeforderten Höhe (oder dem Standardwert 150 mm) läge die längste Seite des Modells außerhalb von [1, 1000] mm, das Modell ist flach, oder seine Größe kann nicht bestimmt werden. Verwenden Sie stattdessen intended_print_longest_side_mm. Bei einer model_url im Format .glb und bei manchen input_task_id-Aufgaben wird dies erst festgestellt, nachdem die Aufgabe gestartet wurde; die Aufgabe endet dann stattdessen mit FAILED.
    • STL-Größe unbrauchbar: printer_type wurde ohne Größe gesendet, und die längste Seite der .stl-Datei selbst kann nicht gelesen werden oder liegt außerhalb von [1, 1000] mm. Senden Sie intended_print_longest_side_mm.
  • Name
    401 - Unauthorized
    Description

    Die Authentifizierung ist fehlgeschlagen. Bitte überprüfen Sie Ihren API-Schlüssel.

  • Name
    403 - Forbidden
    Description

    Die Aufgabe existiert, gehört jedoch einem anderen Benutzer.

  • Name
    404 - Not Found
    Description

    Häufige Ursachen:

    • Die Aufgabe existiert nicht oder wurde gelöscht.
    • Die Aufgabe verwendet ein Modell, das älter als Meshy 6 ist, oder ihr mode erzeugt kein 3D-Asset.
    • Die zugrunde liegende Modelldatei ist im Speicher nicht mehr verfügbar.
  • Name
    429 - Too Many Requests
    Description

    Sie haben Ihr Kontingent für ausstehende Aufgaben oder Ihre Ratenbegrenzung überschritten.

Request

POST
/openapi/v1/print/analyze
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.glb"
  }'

# Also check wall thickness for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "printer_type": "sla",
    "intended_print_height_mm": 100
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/print/analyze/:id

Analyze-Printability-Task abrufen

Dieser Endpunkt ruft einen Analyze-Printability-Task anhand seiner ID ab.

Parameter

  • Name
    id
    Type
    path
    Description

    Die ID des abzurufenden Analyze-Printability-Tasks.

Rückgabe

Das Analyze Printability Task Object. Das Feld printability ist null, bis der Task den Status SUCCEEDED erreicht. Wenn die Wandstärke geprüft wurde, enthält printability zusätzlich intended_print und thin_walls.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

Response (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}

DELETE/openapi/v1/print/analyze/:id

Eine Analyze-Printability-Aufgabe löschen

Dieser Endpunkt löscht eine Aufgabe zur Druckbarkeitsanalyse und ihr zwischengespeichertes Ergebnis dauerhaft. Diese Aktion ist unwiderruflich.

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID der zu löschenden Aufgabe zur Druckbarkeitsanalyse.

Aufgabenstatus

Eine Aufgabe, die sich noch im Status PENDING befindet, wird gelöscht, und die bei der Erstellung verbrauchten Credits werden zurückerstattet.

Eine Aufgabe, die sich bereits IN_PROGRESS befindet, kann nicht gelöscht werden: Die Anfrage wird mit 409 Conflict abgelehnt, und die Aufgabe läuft weiter. Credits für eine Aufgabe, die der Worker bereits gestartet hat, sind nicht erstattungsfähig, sodass ein Löschen während der Ausführung sowohl die Credits als auch das Ergebnis kosten würde. Warten Sie, bis der Status SUCCEEDED, FAILED oder CANCELED erreicht ist, und löschen Sie die Aufgabe dann.

Eine Aufgabe in einem Endzustand (SUCCEEDED, FAILED oder CANCELED) wird ohne Rückerstattung gelöscht.

Rückgabewerte

Gibt bei Erfolg 200 OK zurück, oder 409 Conflict, wenn sich die Aufgabe im Status IN_PROGRESS befindet.

Request

DELETE
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/print/analyze

Liste der Aufgaben zur Druckbarkeitsanalyse

Dieser Endpunkt ermöglicht es Ihnen, eine Liste von Aufgaben zur Druckbarkeitsanalyse abzurufen.

Parameter

Optionale Attribute

  • Name
    page_num
    Type
    integer
    Description

    Seitennummer für die Paginierung. Beginnt bei und ist standardmäßig 1.

  • Name
    page_size
    Type
    integer
    Description

    Begrenzung der Seitengröße. Standardmäßig 10 Einträge. Maximal zulässig sind 100 Einträge.

  • Name
    sort_by
    Type
    string
    Description

    Feld, nach dem sortiert werden soll. Verfügbare Werte:

    • +created_at: Sortiert nach Erstellungszeitpunkt in aufsteigender Reihenfolge.
    • -created_at: Sortiert nach Erstellungszeitpunkt in absteigender Reihenfolge.

Rückgabewerte

Gibt eine paginierte Liste von Analyze-Printability-Task-Objekten zurück.

Request

GET
/openapi/v1/print/analyze
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-analyze",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "expires_at": 1715725401000,
    "task_error": null,
    "printability": {
      "_version": "v1",
      "status": "warning",
      "issue_count": 1,
      "error_count": 0,
      "warning_count": 1,
      "metrics": {
        "is_watertight": true,
        "volume": 1.316167354292668,
        "non_manifold_edges": 0,
        "degenerate_faces": 43242,
        "holes": 0
      },
      "evaluated_at": 1700000001000
    },
    "consumed_credits": 0
  }
]

GET/openapi/v1/print/analyze/:id/stream

Stream einer Analyze-Printability-Aufgabe

Dieser Endpunkt streamt Echtzeit-Updates für eine Aufgabe zur Druckbarkeitsanalyse mittels Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung der Aufgabe zur Druckbarkeitsanalyse, die gestreamt werden soll.

Rückgabe

Gibt einen Stream von Analyze-Printability-Task-Objekten als Server-Sent Events zurück.

Jeder Frame enthält das vollständige Task-Objekt für die jeweilige Phase — dieselbe Struktur, die auch der Get-Endpunkt zurückgibt — daher sind die Ausgabefelder, solange die Aufgabe PENDING oder IN_PROGRESS ist, einfach noch nicht befüllt (null, [] oder {}) und finished_at ist null. Der printability-Block wird erst gesendet, wenn die Aufgabe den Status SUCCEEDED erreicht.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

The Analyze Printability Task Object

  • Name
    id
    Type
    string
    Description

    Eindeutige Kennung für die Aufgabe. Obwohl wir als Implementierungsdetail eine k-sortierbare UUID für Aufgaben-IDs verwenden, solltest du keine Annahmen über das Format der ID treffen.

  • Name
    type
    Type
    string
    Description

    Typ der Analyze-Printability-Aufgabe. Der Wert ist print-analyze.

  • Name
    status
    Type
    string
    Description

    Status der Aufgabe. Mögliche Werte sind PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Fortschritt der Aufgabe. Wenn die Aufgabe noch nicht gestartet wurde, ist diese Eigenschaft 0. Sobald die Aufgabe erfolgreich war, wird dies 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Anzahl der vorangehenden Aufgaben.

  • Name
    created_at
    Type
    timestamp
    Description

    Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.

  • Name
    started_at
    Type
    timestamp
    Description

    Zeitstempel, wann die Aufgabe gestartet wurde, in Millisekunden. Wenn die Aufgabe noch nicht gestartet wurde, ist diese Eigenschaft 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Zeitstempel, wann die Aufgabe abgeschlossen wurde, in Millisekunden. Wenn die Aufgabe noch nicht abgeschlossen ist, ist diese Eigenschaft 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Zeitstempel, wann das Aufgabenergebnis aus dem System abläuft, in Millisekunden. 0, wenn die Aufgabe noch nicht abgeschlossen ist.

  • Name
    task_error
    Type
    object
    Description

    Fehlerinformationen, falls die Aufgabe fehlgeschlagen ist. Diese Eigenschaft ist null, wenn die Aufgabe nicht fehlgeschlagen ist. Weitere Details findest du unter Fehler.

    • Name
      message
      Type
      string
      Description

      Fehlermeldung, die beschreibt, was schiefgelaufen ist.

  • Name
    printability
    Type
    object
    Description

    Ergebnis der Druckbarkeitsbewertung. null, bis die Aufgabe SUCCEEDED erreicht.

    • Name
      _version
      Type
      string
      Description

      Schemaversion des Druckbarkeits-Ergebnisses. Derzeit v1.

    • Name
      status
      Type
      string
      Description

      Gesamtstatus. Einer von:

      • healthy: keine Fehler und keine Warnungen.
      • warning: mindestens eine Warnung, keine Fehler.
      • error: mindestens ein Fehler.
      • unknown: das Modell konnte nicht analysiert werden.

      Wenn die Wandstärke geprüft wurde, ist dies der schlechtere Wert der obigen Prüfungen und thin_walls.status. Vom schlechtesten zum besten: error, warning, unknown, healthy.

    • Name
      issue_count
      Type
      integer
      Description

      Gesamtzahl der Probleme, entspricht error_count + warning_count.

    • Name
      error_count
      Type
      integer
      Description

      Anzahl der Probleme auf Fehlerebene. Fehler werden ausgelöst, wenn das Modell nicht wasserdicht ist, ein nicht-positives Volumen hat oder nicht-mannigfaltige Kanten aufweist. Wenn die Wandstärke geprüft wurde, zählen zu dünne Wände (thin_walls.status ist error) als ein weiterer Fehler.

    • Name
      warning_count
      Type
      integer
      Description

      Anzahl der Probleme auf Warnebene. Warnungen werden ausgelöst, wenn das Modell entartete Flächen oder Löcher enthält.

    • Name
      metrics
      Type
      object
      Description

      Rohe Geometrie-Metriken, die vom Evaluator zurückgegeben werden.

      • Name
        is_watertight
        Type
        boolean
        Description

        true, wenn das Netz keine Randkanten hat (d. h. geschlossen ist).

      • Name
        volume
        Type
        number
        Description

        Volumen des Modells in Kubikmetern.

      • Name
        non_manifold_edges
        Type
        integer
        Description

        Anzahl der nicht-mannigfaltigen Kanten.

      • Name
        degenerate_faces
        Type
        integer
        Description

        Anzahl der entarteten Flächen (Flächen mit Nullfläche oder ungültige Flächen).

      • Name
        holes
        Type
        integer
        Description

        Anzahl der Löcher (Randschleifen) im Netz.

    • Name
      intended_print
      Type
      object
      Description

      Der Drucker und die Größe, die bei der Wandstärkenprüfung verwendet wurden. Nur vorhanden, wenn die Wandstärke geprüft wurde.

      • Name
        printer_type
        Type
        string
        Description

        fdm, sla oder full_color.

      • Name
        height_mm
        Type
        number
        Description

        Die Druckhöhe in Millimetern, falls der Druck nach Höhe dimensioniert wurde. Andernfalls null.

      • Name
        longest_side_mm
        Type
        number
        Description

        Die längste Seite des Drucks in Millimetern. Wenn nach Höhe dimensioniert wurde, wird dies aus den Proportionen des Modells berechnet.

      • Name
        wall_thickness_mm
        Type
        number
        Description

        Die minimale Wandstärke für printer_type, in Millimetern. Wände, die dünner als dieser Wert sind, werden als zu dünn gemeldet.

      • Name
        dimensions_mm
        Type
        array
        Description

        Die [Breite, Tiefe, Höhe] des Drucks in Millimetern. Die Höhe kann sich von height_mm um einen Bruchteil eines Millimeters unterscheiden. null bei Nicht-GLB-Eingaben oder wenn die Größe des Modells nicht bestimmt werden kann.

    • Name
      thin_walls
      Type
      object
      Description

      Das Ergebnis der Wandstärkenprüfung. Nur vorhanden, wenn die Wandstärke geprüft wurde.

      • Name
        thin_area_ratio
        Type
        number
        Description

        Anteil der Oberfläche, von 0 bis 1, der dünner als intended_print.wall_thickness_mm ist. null, wenn das Modell nicht gemessen werden konnte.

      • Name
        has_thin_walls
        Type
        boolean
        Description

        true, wenn irgendein Teil der Oberfläche zu dünn ist. Scharfe Ecken allein können dies bewirken, verwende daher status, um zu entscheiden, ob die Wände verstärkt werden müssen. null, wenn das Modell nicht gemessen werden konnte.

      • Name
        status
        Type
        string
        Description

        Das Ergebnis der Wandstärkenprüfung. Einer von:

        • healthy: 5 % oder weniger der Oberfläche sind zu dünn.
        • error: mehr als 5 % der Oberfläche sind zu dünn. Um die Wände zu verstärken, übergib die id dieser Aufgabe an Druckbarkeit reparieren als input_task_id (bei einer model_url mit .stl, .fbx oder .gltf sende stattdessen die Datei als model_url).
        • unknown: das Modell konnte nicht gemessen werden. Wenn die Wandstärkenprüfung selbst fehlschlägt, endet die Aufgabe mit FAILED.
    • Name
      evaluated_at
      Type
      timestamp
      Description

      Zeitstempel, wann die Analyse berechnet wurde, in Millisekunden seit der Epoche.

  • Name
    consumed_credits
    Type
    integer
    Description

    Immer 0. Dieser Endpunkt ist kostenlos.

The Analyze Printability Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

The Analyze Printability Task Object (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}