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

Neuvernetzungs-API

Erstellen Sie das Netz eines 3D-Modells mit einer neuen topology und Flächenzahl neu und exportieren Sie es in die von Ihnen gewählten Formate. Das Modell kann aus einem anderen Meshy-Task stammen, z. B. aus Bild zu 3D oder Text zu 3D, oder aus einer Modelldatei.


POST/openapi/v1/remesh

Eine Neuvernetzungs-Aufgabe erstellen

Erstellt eine Neuvernetzungs-Aufgabe. Die Aufgabe läuft im Hintergrund. Wie lange eine Aufgabe in der Regel dauert, erfahren Sie unter Verarbeitungszeiten.

Request

POST
/openapi/v1/remesh
# Basic remesh with custom formats and resize
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "resize_height": 1.0,
    "origin_at": "bottom"
  }'

# Quad remesh with auto-size
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "auto_size": true
  }'

Response

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

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

    Erforderlich, sofern Sie nicht model_url senden. Die ID der Aufgabe, deren Modell Sie neu vernetzen möchten, zum Beispiel eine Text-zu-3D-, Bild-zu-3D-, Neutexturierungs- oder Neuvernetzungs-Aufgabe. Die Aufgabe muss von Ihnen über die API erstellt worden sein und den Status SUCCEEDED haben.

  • Name
    model_url
    Type
    string
    Erforderlich
    Description

    Erforderlich, sofern Sie nicht input_task_id senden. Das neu zu vernetzende Modell, als öffentliche URL oder als Data URI. Wenn Sie beides senden, verwendet Meshy input_task_id.

    Das Modell muss eine GLB-, glTF-, OBJ-, FBX- oder STL-Datei mit maximal 400 MB von einer http- oder https-URL sein, oder 100 MB als Data URI. Verwenden Sie für eine Data URI den MIME-Typ application/octet-stream.

    Eine Datei über 100 MB muss zusätzlich diese Regeln erfüllen:

    • Eine GLB-, glTF-, FBX- oder OBJ-Datei darf höchstens 10.000.000 Flächen haben. Meshy zählt Flächen als Dreiecke, sodass ein Viereck als 2 zählt und ein mehrfach gezeichnetes Netz pro Kopie einmal zählt.
    • Eine FBX-Datei muss binäres FBX 7.1 oder neuer sein.
    • Eine GLB- oder glTF-Datei darf keine Draco-Kompression verwenden.
  • Name
    target_formats
    Type
    string[]
    Standard ["glb"]
    Description

    Die zu erzeugenden Dateiformate.

    Verfügbare Werte:

    • glb
    • fbx
    • obj
    • usdz
    • blend
    • stl
    • 3mf
  • Name
    topology
    Type
    string
    Standard triangle
    Description

    Der Flächentyp des neu vernetzten Modells.

    Verfügbare Werte:

    • quad: ein überwiegend aus Vierecken bestehendes Netz
    • triangle: ein dezimiertes Dreiecksnetz
  • Name
    target_polycount
    Type
    integer
    Standard 30000
    Description

    Die angestrebte Anzahl an Flächen, von 100 bis 300000. Das Ergebnis kann je nach Geometrie des Modells vom Zielwert abweichen. Ein Wert außerhalb des Bereichs liefert 400.

  • Name
    decimation_mode
    Type
    integer
    Description

    Adaptive Flächenanzahl, nach Stufe. Wenn Sie diesen Wert setzen, ignoriert Meshy target_polycount.

    Verfügbare Werte:

    • 1: ultra
    • 2: hoch
    • 3: mittel
    • 4: niedrig
  • Name
    resize_height
    Type
    number
    ⚠ veraltet
    Standard 0
    Description

    Verwenden Sie stattdessen die Resize API. Die Höhe, auf die das Modell skaliert werden soll, in Metern. Senden Sie höchstens einen der Parameter resize_height, resize_longest_side und auto_size.

  • Name
    resize_longest_side
    Type
    number
    ⚠ veraltet
    Standard 0
    Description

    Verwenden Sie stattdessen die Resize API. Die Länge, auf die die längste Seite des Begrenzungsrahmens des Modells skaliert werden soll, in Metern. Senden Sie höchstens einen der Parameter resize_height, resize_longest_side und auto_size.

  • Name
    auto_size
    Type
    boolean
    ⚠ veraltet
    Standard false
    Description

    Verwenden Sie stattdessen die Resize API. Ob die reale Höhe des Objekts mit KI-Bildanalyse geschätzt und das Modell darauf skaliert werden soll. Senden Sie höchstens einen der Parameter resize_height, resize_longest_side und auto_size.

  • Name
    origin_at
    Type
    string
    ⚠ veraltet
    Standard bottom
    Description

    Verwenden Sie stattdessen die Resize API. Wo der Ursprung des Modells platziert werden soll, bottom oder center. Der Standardwert gilt, wenn Sie resize_height, resize_longest_side oder auto_size senden. Ohne einen dieser Parameter verschiebt Meshy den Ursprung nur, wenn Sie origin_at senden.

  • Name
    convert_format_only
    Type
    boolean
    ⚠ veraltet
    Description

    Verwenden Sie stattdessen die Convert API. Ob das Modell nur in target_formats konvertiert werden soll. Wenn true, ignoriert Meshy topology, target_polycount, decimation_mode, resize_height, resize_longest_side und auto_size, prüft jedoch weiterhin deren Werte, sodass ein ungültiger Wert 400 zurückgibt. Mit convert_format_only: true gibt ein leeres oder null-target_formats 400 zurück.

  • Name
    alpha_thumbnail
    Type
    boolean
    Standard false
    Description

    Ob zusätzlich eine Vorschau mit transparentem Hintergrund (RGBA) gerendert werden soll, zurückgegeben in alpha_thumbnail_url, wenn Sie die Aufgabe abrufen. thumbnail_url ändert sich nicht.

Rückgabewerte

Das Feld result der Antwort enthält die ID der neuen Neuvernetzungs-Aufgabe.

Fehlerarten

  • Name
    400 - Bad Request
    Description

    Die Anfrage kann nicht ausgeführt werden. Die Fehlermeldung gibt an, welches Problem gefunden wurde. Zum Beispiel:

    • Fehlender Parameter: Weder model_url noch input_task_id wurde gesendet.
    • Ungültige Eingabeaufgabe: input_task_id ist keine erfolgreiche API-Aufgabe, oder ihr KI-Modell unterstützt keine Neuvernetzung.
    • Ungültiges Modellformat: Die Datei unter model_url hat eine nicht unterstützte Dateierweiterung.
    • Nicht erreichbare URL: Meshy kann die Datei unter model_url nicht herunterladen.
    • Modelldatei zu groß: Die Datei unter model_url ist größer als 400 MB von einer http- oder https-URL, oder größer als 100 MB als Data URI.
    • Zu viele Flächen: Die Datei unter model_url ist größer als 100 MB und hat mehr als 10.000.000 Flächen. Reduzieren Sie die Flächenanzahl und senden Sie die Datei erneut.
    • ASCII-FBX über 100 MB: Die Datei unter model_url ist eine ASCII-FBX-Datei über 100 MB. Senden Sie sie als binäre FBX- oder GLB-Datei.
    • Nicht lesbare Modelldatei: Die Datei unter model_url ist größer als 100 MB, und Meshy kann ihren Header nicht lesen. Zum Beispiel handelt es sich um eine Draco-komprimierte GLB- oder glTF-Datei oder um eine binäre FBX-Datei älter als 7.1.
    • Modell-Header zu komplex: Die Datei unter model_url ist größer als 100 MB, und ihr Header enthält zu viele Netze, Knoten oder Einträge zum Prüfen. Reduzieren Sie die Anzahl der Objekte in der Datei und senden Sie sie erneut.
    • Ungültige Topologie: topology ist weder quad noch triangle.
    • Sich gegenseitig ausschließende Parameter: Die Anfrage enthält mehr als einen der Parameter auto_size, resize_height und resize_longest_side. Senden Sie nur einen.

    Korrigieren Sie die Anfrage und senden Sie sie erneut. Siehe Fehler.

  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    Zum Beispiel:

    • Unzureichende Credits: Das Konto hat nicht genügend Credits für diese Aufgabe, oder das Konto hat ein Credit-Limit erreicht. Überprüfen Sie Ihr Credit-Guthaben und versuchen Sie es erneut.
    • Kostenloser Plan: Das Erstellen einer Aufgabe erfordert einen kostenpflichtigen Plan. Aktualisieren Sie Ihren Plan in Ihren Abonnement-Einstellungen und versuchen Sie es erneut.
  • Name
    403 - Forbidden
    Description

    input_task_id ist ein Flachrelief-Modell, das dieser Endpunkt nicht neu vernetzen kann. Die Meldung lautet This model type does not support this operation. Senden Sie ein anderes Modell.

  • Name
    404 - Not Found
    Description

    input_task_id stimmt mit keiner Ihrer Aufgaben überein. Überprüfen Sie die Aufgaben-ID und senden Sie die Anfrage erneut.

  • Name
    429 - Too Many Requests
    Description

    Sie haben Ihre Ratenbegrenzung überschritten. Warten Sie und versuchen Sie es dann erneut. Siehe Ratenbegrenzungen.


GET/openapi/v1/remesh/:id

Einen Neuvernetzungs-Task abrufen

Gibt einen Neuvernetzungs-Task anhand seiner ID zurück.

Request

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

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
}

Parameter

  • Name
    id
    Type
    path
    Description

    Die Task-ID aus der Antwort der Erstellung.

Rückgabe

Das Neuvernetzungs-Task-Objekt.


DELETE/openapi/v1/remesh/:id

Eine Neuvernetzungsaufgabe löschen

Löscht eine Neuvernetzungsaufgabe dauerhaft, einschließlich ihrer Modelle und Daten. Das Löschen kann nicht rückgängig gemacht werden.

Request

DELETE
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/remesh/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 keeps 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."
}

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID der zu löschenden Aufgabe.

Aufgabenstatus

Das Löschen einer Aufgabe mit dem Status PENDING erstattet die beim Erstellen verbrauchten Credits.

Eine Aufgabe mit dem Status IN_PROGRESS kann nicht gelöscht werden. Die Anfrage liefert 409 Conflict, und die Aufgabe läuft weiter. Meshy erstattet keine Credits für eine bereits gestartete Aufgabe, daher würde das Löschen sowohl die Credits als auch das Ergebnis kosten. Warten Sie, bis sie den Status SUCCEEDED, FAILED oder CANCELED erreicht, und löschen Sie sie dann.

Das Löschen einer Aufgabe in einem Endstatus (SUCCEEDED, FAILED oder CANCELED) erstattet keine Credits.

Rückgabe

200 OK, wenn die Aufgabe gelöscht wurde, oder 409 Conflict, wenn die Aufgabe den Status IN_PROGRESS hat.


GET/openapi/v1/remesh

Neuvernetzungs-Tasks auflisten

Gibt eine Liste Ihrer Neuvernetzungs-Tasks zurück.

Request

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

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "remesh",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null
  }
]

Parameter

  • Name
    page_num
    Type
    integer
    Standard 1
    Description

    Die zurückzugebende Seitenzahl.

  • Name
    page_size
    Type
    integer
    Standard 10
    Description

    Die Anzahl der Tasks pro Seite, bis zu 100.

  • Name
    sort_by
    Type
    string
    Description

    Die Sortierreihenfolge.

    Verfügbare Werte:

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

Rückgabewerte

Eine paginierte Liste von Neuvernetzungs-Task-Objekten.


GET/openapi/v1/remesh/:id/stream

Einen Neuvernetzungs-Task streamen

Streamt die Updates eines Neuvernetzungs-Tasks als Server-Sent Events (SSE).

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/remesh/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.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
    "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
}

Parameter

  • Name
    id
    Type
    path
    Description

    Die Task-ID aus der Antwort der Erstellung.

Rückgabe

Ein Stream von Neuvernetzungs-Task-Objekten als Server-Sent Events.

Jedes Event enthält das vollständige Task-Objekt, in derselben Form, die der Get-Endpunkt zurückgibt. Solange der Task PENDING oder IN_PROGRESS ist, haben seine Ergebnisfelder noch keine Werte.


Das Remesh-Aufgabenobjekt

Ein Remesh-Aufgabenobjekt beschreibt eine Neuvernetzung eines 3D-Modells. Es enthält den Status, den Fortschritt und die Modelldateien, wenn die Aufgabe erfolgreich abgeschlossen wird.

Eigenschaften

Example Remesh Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5
}
  • Name
    id
    Type
    string
    Description

    Die Aufgaben-ID. Behandeln Sie sie als undurchsichtige Zeichenfolge und verlassen Sie sich nicht auf ihr Format.

  • Name
    type
    Type
    string
    Description

    Der Aufgabentyp, immer remesh.

  • Name
    model_urls
    Type
    object
    Description

    Download-URLs für das neu vernetzte Modell, eine pro Dateiformat. Ein Format, das die Aufgabe nicht erzeugt hat, besitzt keinen Schlüssel, anstatt eine leere Zeichenfolge zu sein.

    • Name
      glb
      Type
      string
      Description

      Die GLB-Datei.

    • Name
      fbx
      Type
      string
      Description

      Die FBX-Datei.

    • Name
      obj
      Type
      string
      Description

      Die OBJ-Datei.

    • Name
      usdz
      Type
      string
      Description

      Die USDZ-Datei.

    • Name
      blend
      Type
      string
      Description

      Die Blender-Datei.

    • Name
      stl
      Type
      string
      Description

      Die STL-Datei.

    • Name
      3mf
      Type
      string
      Description

      Die 3MF-Datei. Nur vorhanden, wenn target_formats 3mf enthält.

  • Name
    thumbnail_url
    Type
    string
    Description

    Download-URL für ein Vorschaubild des neu vernetzten Modells.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Download-URL für eine Version von thumbnail_url mit transparentem Hintergrund (RGBA). Nur vorhanden, wenn Sie die Aufgabe mit alpha_thumbnail: true erstellt haben und Meshy die transparente Vorschau gerendert hat.

  • Name
    progress
    Type
    integer
    Description

    Wie viel von der Aufgabe erledigt ist, als Prozentsatz. Der Wert ist 0, bis die Aufgabe beginnt, und 100, wenn sie erfolgreich abgeschlossen wird.

  • Name
    status
    Type
    string
    Description

    Der Aufgabenstatus, einer von PENDING, IN_PROGRESS, SUCCEEDED oder FAILED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Anzahl der Aufgaben, die dieser in der Warteschlange vorausgehen. Der Wert ist nur aussagekräftig, solange die Aufgabe PENDING ist.

  • Name
    created_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem die Aufgabe erstellt wurde, in Unix-Millisekunden.

  • Name
    started_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem die Aufgabe gestartet wurde, in Unix-Millisekunden. Der Wert ist 0, bis die Aufgabe beginnt.

  • Name
    finished_at
    Type
    timestamp
    Description

    Zeitpunkt, zu dem die Aufgabe beendet wurde, in Unix-Millisekunden. Der Wert ist 0, bis die Aufgabe beendet ist.

  • Name
    task_error
    Type
    object
    Description

    Die Fehlerdetails, wenn die Aufgabe fehlschlägt. Siehe Fehler.

  • Name
    consumed_credits
    Type
    integer
    Description

    Die Anzahl der von der Aufgabe verbrauchten Credits. Vorhanden, wenn der Status PENDING, IN_PROGRESS oder SUCCEEDED ist. Bei einer FAILED-Aufgabe ist der Wert 0, da Meshy die Credits erstattet, wenn eine Aufgabe fehlschlägt.