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

Neuvernetzung-API

Die Neuvernetzung-API ermöglicht es Ihnen, bestehende 3D-Modelle, die von anderen Meshy-APIs (wie Bild zu 3D oder Text zu 3D) erzeugt wurden, einer Neuvernetzung zu unterziehen und in verschiedene Formate zu exportieren. Dieser Abschnitt enthält Details zur Verwendung der Neuvernetzung-API.


POST/openapi/v1/remesh

Create a Remesh Task

Dieser Endpunkt erstellt eine neue Neuvernetzung-Aufgabe.

Die Aufgabe wird im Hintergrund ausgeführt. Wie lange dies in der Regel dauert, erfahren Sie unter Verarbeitungszeiten.

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

    Die ID der abgeschlossenen Bild-zu-3D- oder Text-zu-3D-Aufgabe, die neu vernetzt werden soll. Diese Aufgabe muss eine der folgenden sein: Text to 3D Preview, Text to 3D Refine, Image to 3D oder Retexture. Außerdem muss sie den Status SUCCEEDED haben.

  • Name
    model_url
    Type
    string
    Erforderlich
    Description

    Bitte stellen Sie Meshy ein 3D-Modell zur Neuvernetzung über eine öffentlich zugängliche URL oder Data URI bereit. Unterstützte Formate: .glb, .gltf, .obj, .fbx, .stl.

    Verwenden Sie für Data URIs den MIME-Typ: application/octet-stream.

    Maximale Dateigröße: 100 MB.

  • Name
    target_formats
    Type
    string[]
    Standard ["glb"]
    Description

    Eine Liste der Zielformate für das neu vernetzte Modell. Wird dieser Parameter weggelassen, wird nur GLB erzeugt.

    Verfügbare Werte: glb, fbx, obj, usdz, blend, stl, 3mf.

  • Name
    topology
    Type
    string
    Standard triangle
    Description

    Legt die topology des generierten Modells fest.

    Verfügbare Werte:

    • quad: Erzeugt ein überwiegend aus Quads bestehendes Netz.
    • triangle: Erzeugt ein dezimiertes Dreiecksnetz.
  • Name
    target_polycount
    Type
    integer
    Standard 30,000
    Description

    Legt die Ziel-Polygonanzahl des generierten Modells fest. Die tatsächliche Polygonanzahl kann je nach Komplexität der Geometrie vom Zielwert abweichen.

    Der gültige Wertebereich hängt von der Nutzerstufe ab:

    • 100 bis 300.000 (einschließlich)
  • Name
    decimation_mode
    Type
    integer
    Description

    Aktiviert die adaptive Dezimierung durch Festlegen einer Polygonanzahl-Stufe. Wenn gesetzt, wird target_polycount ignoriert.

    Verfügbare Werte:

    • 1: Adaptiv — Ultra-Polygonanzahl.
    • 2: Adaptiv — hohe Polygonanzahl.
    • 3: Adaptiv — mittlere Polygonanzahl.
    • 4: Adaptiv — niedrige Polygonanzahl.
  • Name
    resize_height
    Type
    number
    ⚠ veraltet
    Standard 0
    Description

    Ändert die Größe des Modells auf eine bestimmte Höhe in Metern. Wir empfehlen stattdessen die dedizierte Resize API zu verwenden.

  • Name
    resize_longest_side
    Type
    number
    ⚠ veraltet
    Standard 0
    Description

    Ändert die Größe des Modells so, dass die längste Seite der Bounding-Box dem angegebenen Wert in Metern entspricht. Wir empfehlen stattdessen die dedizierte Resize API zu verwenden.

  • Name
    auto_size
    Type
    boolean
    ⚠ veraltet
    Standard false
    Description

    Wenn auf true gesetzt, verwendet der Dienst KI-Bildanalyse, um die reale Höhe des Objekts automatisch zu schätzen und das Modell entsprechend in der Größe anzupassen. Wir empfehlen stattdessen die dedizierte Resize API zu verwenden.

Gilt nur wenn auto_size = true
  • Name
    origin_at
    Type
    string
    ⚠ veraltet
    Standard bottom
    Description

    Position des Ursprungs. Wir empfehlen stattdessen die dedizierte Resize API zu verwenden.

    Verfügbare Werte: bottom, center.

  • Name
    convert_format_only
    Type
    boolean
    ⚠ veraltet
    Description

    Wenn true, ändert der Dienst nur das Format der Eingabemodelldatei und ignoriert andere Eingaben wie topology, resize_height und target_polycount. Wir empfehlen stattdessen die dedizierte Convert API zu verwenden.

  • Name
    alpha_thumbnail
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, rendert die Aufgabe zusätzlich eine Version der Vorschau mit transparentem Hintergrund (RGBA) und gibt diese als alpha_thumbnail_url in der GET-Antwort zurück. Das bestehende Feld thumbnail_url bleibt unverändert.

Rückgabewerte

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

Fehlermodi

  • Name
    400 - Bad Request
    Description

    Die Anfrage war nicht akzeptabel. Häufige Ursachen:

    • Fehlender Parameter: Entweder model_url oder input_task_id muss angegeben werden.
    • Ungültige Eingabe-Aufgabe: input_task_id muss sich auf eine erfolgreiche Aufgabe eines unterstützten Modells beziehen.
    • Ungültiges Modellformat: model_url verweist auf eine Datei mit nicht unterstützter Dateierweiterung.
    • Nicht erreichbare URL: model_url konnte nicht heruntergeladen werden.
    • Modelldatei zu groß: Die Datei unter model_url überschreitet 100 MB.
    • Ungültige topology: Der Parameter topology ist ungültig.
    • Sich gegenseitig ausschließende Parameter: auto_size und resize_height können nicht beide gesetzt werden.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    Nicht genügend Credits, um diese Aufgabe auszuführen.

  • Name
    429 - Too Many Requests
    Description

    Sie haben Ihre Ratenbegrenzung überschritten.

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

GET/openapi/v1/remesh/:id

Einen Neuvernetzungs-Task abrufen

Dieser Endpunkt ruft einen Neuvernetzungs-Task anhand seiner ID ab.

Parameter

  • Name
    id
    Type
    path
    Description

    Die ID des abzurufenden Neuvernetzungs-Tasks.

Rückgabewerte

Das Neuvernetzungs-Task-Objekt.

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,
}

DELETE/openapi/v1/remesh/:id

Eine Neuvernetzungsaufgabe löschen

Dieser Endpunkt löscht eine Neuvernetzungsaufgabe dauerhaft, einschließlich aller zugehörigen Modelle und Daten. Diese Aktion ist unumkehrbar.

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID der zu löschenden Neuvernetzungsaufgabe.

Aufgabenstatus

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

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 mitten im Ablauf Sie sowohl die Credits als auch das Ergebnis kosten würde. Warten Sie, bis sie den Status SUCCEEDED, FAILED oder CANCELED erreicht, und löschen Sie sie dann.

Eine Aufgabe in einem Endzustand (SUCCEEDED, FAILED oder CANCELED) wird ohne Erstattung 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/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 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/remesh

Liste der Neuvernetzungs-Aufgaben abrufen

Dieser Endpunkt ermöglicht es Ihnen, eine Liste von Neuvernetzungs-Aufgaben abzurufen.

Parameter

  • Name
    page_num
    Type
    integer
    Standard 1
    Description

    Seitennummer für die Paginierung.

  • Name
    page_size
    Type
    integer
    Standard 10
    Description

    Begrenzung der Seitengröße. Maximal erlaubt sind 100 Elemente.

  • Name
    sort_by
    Type
    string
    Description

    Feld, nach dem sortiert werden soll.

    Verfügbare Werte:

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

Rückgabewerte

Gibt eine paginierte Liste von Neuvernetzungs-Aufgabenobjekten 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
  }
]

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

Streamen einer Neuvernetzungs-Aufgabe

Dieser Endpunkt streamt Echtzeit-Updates für eine Neuvernetzungs-Aufgabe mithilfe von Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung der zu streamenden Neuvernetzungs-Aufgabe.

Rückgabewerte

Gibt einen Stream von Neuvernetzungs-Aufgabenobjekten als Server-Sent Events zurück.

Bei Aufgaben mit dem Status PENDING oder IN_PROGRESS enthält der Antwort-Stream nur die notwendigen Felder progress und status.

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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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,
}

Das Remesh-Task-Objekt

Das Remesh-Task-Objekt repräsentiert eine Arbeitseinheit, die Meshy verwendet, um ein bestehendes 3D-Modell neu zu vernetzen und in verschiedene Formate zu exportieren. Das Objekt verfügt über die folgenden Eigenschaften:

Eigenschaften

  • Name
    id
    Type
    string
    Description

    Eindeutige Kennung für den Task. Obwohl wir als Implementierungsdetail eine k-sortierbare UUID für Task-IDs verwenden, sollten Sie keine Annahmen über das Format der ID treffen.

  • Name
    type
    Type
    string
    Description

    Typ des Remesh-Tasks. Der Wert ist remesh.

  • Name
    model_urls
    Type
    object
    Description

    Herunterladbare URL zur texturierten 3D-Modelldatei, die von Meshy generiert wurde. Die Eigenschaft für ein Format wird ausgelassen, wenn das Format nicht generiert wurde, anstatt einen leeren String zurückzugeben.

    • Name
      glb
      Type
      string
      Description

      Herunterladbare URL zur GLB-Datei.

    • Name
      fbx
      Type
      string
      Description

      Herunterladbare URL zur FBX-Datei.

    • Name
      obj
      Type
      string
      Description

      Herunterladbare URL zur OBJ-Datei.

    • Name
      usdz
      Type
      string
      Description

      Herunterladbare URL zur USDZ-Datei.

    • Name
      blend
      Type
      string
      Description

      Herunterladbare URL zur Blender-Datei.

    • Name
      stl
      Type
      string
      Description

      Herunterladbare URL zur STL-Datei.

    • Name
      3mf
      Type
      string
      Description

      Herunterladbare URL zur 3MF-Datei. Nur vorhanden, wenn 3mf über target_formats angefordert wurde.

  • Name
    thumbnail_url
    Type
    string
    Description

    Herunterladbare URL zu einem Vorschaubild, das aus dem neu vernetzten Modell gerendert wurde.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Herunterladbare URL zu einer Version von thumbnail_url mit transparentem Hintergrund (RGBA). Nur vorhanden, wenn der Task mit alpha_thumbnail: true erstellt wurde und die transparente Vorschau erfolgreich gerendert wurde; andernfalls wird dieses Feld ausgelassen.

  • Name
    progress
    Type
    integer
    Description

    Fortschritt des Tasks. Wenn der Task noch nicht gestartet wurde, ist diese Eigenschaft 0. Sobald der Task erfolgreich abgeschlossen wurde, wird dieser Wert 100.

  • Name
    status
    Type
    string
    Description

    Status des Tasks. Mögliche Werte sind PENDING, IN_PROGRESS, SUCCEEDED, FAILED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Anzahl der vorangehenden Tasks.

  • Name
    created_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task erstellt wurde, in Millisekunden.

  • Name
    started_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task gestartet wurde, in Millisekunden. Wenn der Task noch nicht gestartet wurde, ist diese Eigenschaft 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task abgeschlossen wurde, in Millisekunden. Wenn der Task noch nicht abgeschlossen ist, ist diese Eigenschaft 0.

  • Name
    task_error
    Type
    object
    Description

    Fehlerdetails für fehlgeschlagene Tasks. Siehe Fehler für die vollständige Referenz des task_error-Objekts.

  • Name
    consumed_credits
    Type
    integer
    Description

    Die Anzahl der von diesem Task verbrauchten Credits. Vorhanden, wenn der Task-Status PENDING, IN_PROGRESS oder SUCCEEDED ist. Gibt 0 für FAILED-Tasks zurück (Credits werden bei einem Fehlschlag zurückerstattet).

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
}