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

Fehler

In diesem Leitfaden erfahren Sie, was passiert, wenn bei der Arbeit mit der Meshy API etwas schiefgeht.


Fehler bei Anfragen

Diese Fehler werden sofort zurückgegeben, wenn Ihre API-Anfrage abgelehnt wird. Überprüfen Sie den HTTP-Statuscode und das Feld message, um zu verstehen, was schiefgelaufen ist.

Antwortformat

Die Fehlerantwort enthält ein einzelnes Feld message, das beschreibt, was schiefgelaufen ist:

  • Name
    message
    Type
    string
    Description

    Eine kurze Beschreibung des Fehlers.

Statuscodes

  • Name
    2xx
    Description

    Ein 2xx-Statuscode zeigt eine erfolgreiche Antwort an.

    • Name
      200 - OK
      Description

      Standardmäßig wird ein 200-Statuscode zurückgegeben, wenn alles wie erwartet funktioniert hat.

    • Name
      202 - Accepted
      Description

      Ihre Anfrage wurde zur Verarbeitung angenommen, die Verarbeitung ist jedoch noch nicht abgeschlossen. Dies ist eine unverbindliche Antwort der Meshy API. Beispielsweise gibt eine Anfrage zum Erstellen einer neuen Aufgabe einen 202-Statuscode zurück.

  • Name
    4xx
    Description

    Ein 4xx-Statuscode zeigt einen Clientfehler an.

    • Name
      400 - Bad Request
      Description

      Die Anfrage war nicht akzeptabel, oft weil ein erforderlicher Parameter fehlte oder einer der Parameter fehlerhaft war.

    • Name
      401 - Unauthorized
      Description

      Es wurde kein gültiger API-Schlüssel angegeben, oder der angegebene API-Schlüssel ist nicht berechtigt, auf den Meshy API-Endpunkt zuzugreifen.

    • Name
      402 - Payment Required
      Description

      Unzureichendes Guthaben auf dem Konto, das mit dem angegebenen API-Schlüssel verknüpft ist.

    • Name
      403 - Forbidden
      Description

      Der Zugriff auf die angeforderte Ressource ist verboten. Dies kann passieren, wenn Sie versuchen, direkt aus clientseitigem JavaScript-Code auf die Meshy API zuzugreifen, da Cross-Origin Resource Sharing (CORS)-Anfragen von Browsern nicht zulässig sind. Erwägen Sie die Verwendung eines serverseitigen Proxys für solche Anfragen. Weitere Details finden Sie im MDN CORS-Leitfaden.

    • Name
      404 - Not Found
      Description

      Die angeforderte Ressource existiert nicht. Wenn Sie beispielsweise versuchen, eine Aufgabe anhand ihrer ID abzurufen, aber eine ungültige ID angegeben haben, erhalten Sie einen 404-Statuscode.

    • Name
      409 - Conflict
      Description

      Die Ressource existiert, aber ihr aktueller Zustand erlaubt die Operation nicht. Zum Beispiel gibt das Löschen einer Aufgabe, die sich bereits IN_PROGRESS befindet, einen 409 zurück: Der Worker hat bereits mit Arbeiten begonnen, die nicht rückgängig gemacht werden können, sodass die Aufgabe weiterläuft. Warten Sie auf einen Endstatus (SUCCEEDED, FAILED oder CANCELED) und versuchen Sie es erneut.

    • Name
      429 - Too Many Requests
      Description

      Zu viele Anfragen haben die Meshy API zu schnell erreicht. Warten Sie die im Header Retry-After angegebene Anzahl von Sekunden, bevor Sie es erneut versuchen. Weitere Details finden Sie im Leitfaden Rate Limits.

  • Name
    5xx
    Description

    Ein 5xx-Statuscode zeigt einen Serverfehler an. Wenn Sie einen solchen sehen, besuchen Sie bitte unsere Statusseite für weitere Informationen und kontaktieren Sie uns über Discord, um Hilfe zu erhalten.

Example: 400 Bad Request

{
  "message": "Invalid model file extension: .3dm"
}

Fehlgeschlagene Aufgaben

Diese Fehler treten auf, nachdem eine Aufgabe erstellt wurde und verarbeitet wird. Überprüfen Sie das task_error-Objekt in der Aufgabenantwort, um Details zum Fehler zu erhalten.

Das task_error-Objekt enthält die folgenden Felder:

  • Name
    type
    Type
    string
    Description

    Die Fehlerkategorie. Bei fehlgeschlagenen Aufgaben immer vorhanden. Siehe Fehlertypen unten.

  • Name
    message
    Type
    string
    Description

    Eine für Menschen lesbare Beschreibung des Fehlers. Bei fehlgeschlagenen Aufgaben immer vorhanden.

  • Name
    code
    Type
    string
    Optional
    Description

    Ein spezifischer Fehlercode, der das Problem identifiziert. Vorhanden, wenn zusätzliche Details verfügbar sind. Siehe Fehlercodes unten.

  • Name
    doc_url
    Type
    string
    Optional
    Description

    Ein Link zur ausführlichen Dokumentation dieses Fehlercodes, einschließlich Hinweisen zur Behebung. Vorhanden, wenn code vorhanden ist.

Error with details

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "status": "FAILED",
  "task_error": {
    "type": "invalid_input",
    "code": "image_too_complex",
    "message": "The uploaded image is too complex for 3D generation.",
    "doc_url": "https://docs.meshy.ai/en/api/errors#image-too-complex"
  }
}

Error without details

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "status": "FAILED",
  "task_error": {
    "type": "server_error",
    "message": "An internal error occurred. Please retry."
  }
}

Fehlertypen

Das Feld type gibt Ihnen die grobe Kategorie des Fehlers an. Nutzen Sie es, um Ihre Retry-Strategie festzulegen.

  • Name
    invalid_input
    Description

    Mit der von Ihnen übergebenen Eingabe stimmt etwas nicht. Prüfen Sie die Felder code und message auf Details, beheben Sie das Problem und versuchen Sie es erneut.

  • Name
    timeout
    Description

    Die Aufgabe hat ein serverseitiges Zeitlimit überschritten, entweder bei der Verarbeitung oder beim Warten in der Warteschlange, und ist fehlgeschlagen. Die Credits dafür werden erstattet. Dies ist oft nur vorübergehend: Erstellen Sie die Aufgabe erneut, und wenn sie weiterhin fehlschlägt, versuchen Sie, Ihre Eingabe zu vereinfachen.

  • Name
    service_unavailable
    Description

    Der Dienst war vorübergehend nicht verfügbar. Warten Sie einen Moment und erstellen Sie die Aufgabe dann erneut.

  • Name
    server_error
    Description

    Während der Verarbeitung ist ein interner Fehler aufgetreten. Erstellen Sie die Aufgabe erneut. Falls das Problem weiterhin besteht, wenden Sie sich mit Ihrer Aufgaben-ID an den Support.


Fehlercodes

Wenn das Feld code vorhanden ist, bezeichnet es ein konkretes, behebbares Problem. Nachfolgend finden Sie die vollständige Referenz für jeden Fehlercode.

image_too_complex

Dieser Fehler tritt auf, wenn das Eingabebild oder der prompt ein Motiv beschreibt, das für das 3D-Generierungsmodell geometrisch zu komplex ist.

Häufige Beispiele sind:

  • Dichte Ansammlungen kleiner Objekte (z. B. eine Kiste voller Früchte, ein Bücherstapel)
  • Komplexe sich wiederholende Muster (z. B. Gitterstrukturen, Gerüste, Drahtgeflechte)
  • Komplexe Gebäudestrukturen (z. B. mehrstöckige Gebäude mit vielen Fenstern und Balkonen)
  • Mehrere unterschiedliche Objekte in einem Bild anstelle eines einzelnen Motivs

Beispiele für Eingaben, die wahrscheinlich zu komplex sind:

A crate of mixed berriesAn intricate cathedral ceilingA building under construction with scaffoldingA honeycomb lattice sphere

Lösung:

  1. Verwenden Sie ein einzelnes Objekt pro Bild. Das Modell funktioniert am besten mit einem klaren Motiv. Nehmen Sie keine mehreren separaten Objekte in dasselbe Bild oder denselben prompt auf.
  2. Vereinfachen Sie Ihr Motiv. Reduzieren Sie den Detailgrad. Nehmen Sie zum Beispiel eine einfache Vase anstelle einer Vase voller Dutzender Blumen.
  3. Vermeiden Sie Prompts auf Szenen-Ebene. Ganze Gebäude, Häuserblöcke, mit Möbeln gefüllte Innenräume oder Landschaften übersteigen wahrscheinlich die Kapazität des Modells. Konzentrieren Sie sich stattdessen auf ein einzelnes Objekt.
  4. Vermeiden Sie dichte, sich wiederholende Strukturen. Motive wie Gerüste, Drahtgeflechte, Gittermuster oder Ansammlungen vieler kleiner Gegenstände sind häufige Auslöser.

model_missing_uv

Dieser Fehler tritt auf, wenn Sie ein Modell zur Texturierung mit enable_original_uv auf true gesetzt hochladen, das Modell jedoch keine UV-Koordinaten besitzt. UV-Koordinaten definieren, wie sich eine 2D-Textur auf die 3D-Oberfläche Ihres Modells legt.

No UVs vs Good UVs

Lösung:

Die richtige Lösung hängt davon ab, warum Sie enable_original_uv auf true gesetzt haben:

  • Wenn Sie das ursprüngliche UV-Layout Ihres Modells beibehalten müssen (z. B. bei benutzerdefinierter Nahtplatzierung für präzises Texture-Mapping): Ihr Modell muss über gültige UV-Koordinaten verfügen. Überprüfen Sie vor dem Hochladen im UV-Editor Ihrer 3D-Software, ob UVs vorhanden sind. Beachten Sie, dass STL-Dateien keine UV-Daten speichern können — verwenden Sie stattdessen GLB, FBX oder OBJ.
  • Wenn Sie keine spezifische UV-Kontrolle benötigen (oder sich nicht sicher sind): Lassen Sie enable_original_uv weg oder setzen Sie es auf false. Das System generiert dann automatisch ein UV-Layout für Ihr Modell. Die automatisch generierten UVs sind für eine gute Abdeckung optimiert, Sie haben jedoch keine Kontrolle darüber, wo die Textur-Nähte platziert werden.

model_insufficient_uv

Dieser Fehler tritt auf, wenn ein Modell UV-Koordinaten besitzt, die UV-Abdeckung jedoch für eine hochwertige Texturierung zu gering ist. Dies kommt häufig bei Modellen vor, die aus 3D-Tools exportiert wurden, die Platzhalter-UVs oder kollabierte UVs ohne ein ordnungsgemäßes Unwrapping erzeugen.

Insufficient UVs vs Good UVs

Lösung:

  • Wenn Sie Ihr ursprüngliches UV-Layout beibehalten müssen: Entpacken Sie die UVs des Modells in Ihrer 3D-Software erneut. Stellen Sie sicher, dass die UV-Inseln ordnungsgemäß über den UV-Raum verteilt sind, anstatt auf einen kleinen Bereich zusammenzufallen.
  • Wenn Sie keine spezielle UV-Kontrolle benötigen: Lassen Sie enable_original_uv weg oder setzen Sie es auf false. Das System generiert automatisch ein neues UV-Layout. Der Kompromiss besteht darin, dass Sie Ihre ursprüngliche Nahtplatzierung verlieren, die automatisch erzeugten UVs jedoch eine angemessene Abdeckung für die Texturierung aufweisen.

model_missing_texture

Dieser Fehler tritt auf, wenn das Eingabemodell einer Multi-Color Print-Aufgabe keine Farbinformationen enthält, die der Konverter in Druckfarben auftrennen kann. Ein Mehrfarbdruck-3MF wird aus den Farben des Modells erstellt. Ein rein weißes Netz — zum Beispiel eine Text-zu-3D- oder Bild-zu-3D-Vorschau, die nie texturiert wurde, oder eine reparierte / automatisch aufgeteilte Ausgabe — bietet daher keine Grundlage dafür.

Was als Farbquelle zählt, hängt vom angeforderten style ab:

  • realistic tastet die Basisfarbtextur anhand der UVs des Modells ab und benötigt daher eine einzige Basisfarbtextur mit UV-Koordinaten auf jedem Netzteil.
  • cartoon vereinfacht Farben pro Fläche und akzeptiert eine Basisfarbtextur auf einem beliebigen Teil oder Farben pro Vertex (COLOR_0).

Ein Modell ohne Basisfarbtextur und ohne Vertexfarben wird für beide Stile abgelehnt; bei cartoon würde es sonst als Einfarbdruck „erfolgreich“ sein.

Die meisten Anfragen werden bereits abgelehnt, bevor die Aufgabe erstellt wird (400 Bad Request mit derselben Erklärung). Daher wird dieser Code meist nur dann angezeigt, wenn die Eingabe nicht im Voraus geprüft werden konnte — ein .fbx-Upload beispielsweise wird erst geprüft, nachdem die Aufgabe ihn normalisiert hat.

Lösung:

  • Texturieren Sie das Modell zuerst. Führen Sie dazu eine Neutexturierung-Aufgabe darauf aus, oder generieren Sie es mit aktivierter Texturierung (eine Text-zu-3D-refine-Aufgabe oder eine Bild-zu-3D-Aufgabe mit should_texture: true), und übergeben Sie diese Aufgabe als input_task_id.
  • Modelle mit Vertexfarben (Photogrammetrie-Scans, handbemalte Netze): Fordern Sie style: "cartoon" an, wodurch COLOR_0 gelesen wird.
  • Teilweise texturierte oder Multi-Textur-Modelle unter realistic: Jeder Netzteil benötigt UVs und dieselbe, einzige Basisfarbtextur. Texturieren Sie die verbleibenden Teile oder führen Sie die Texturen zu einem einzigen Atlas zusammen, oder wechseln Sie zu style: "cartoon".

invalid_input

Dies ist der Standard-Fehlercode, wenn die Eingabe die Validierung nicht besteht, aber kein spezifischerer Code zutrifft. Das Feld message enthält den genauen Grund für den Fehler.

Häufige Ursachen sind:

  • Leere oder beschädigte Modelldateien
  • Nicht unterstützte Varianten von Dateiformaten (z. B. ASCII-FBX-Dateien, meshopt-komprimierte GLB)
  • Keine gültigen 3D-Objekte in dem hochgeladenen Modell gefunden (z. B. enthält die Datei nur Armaturen, Kameras oder Lichter)
  • Inhalte, die die Sicherheitsfilter nicht passieren

Lösung: Überprüfen Sie das Feld message auf genauere Angaben zum aufgetretenen Fehler. Stellen Sie sicher, dass Ihre Eingabedateien und Parameter den Anforderungen des Endpunkts entsprechen.

moderation_blocked

Dieser Fehler tritt auf, wenn Ihr prompt oder Ihre Referenzbilder von den KI-Sicherheitsfiltern abgelehnt werden. Der Filter bewertet sowohl den Text-prompt als auch alle Referenzbilder gemeinsam.

Lösung:

  • Formulieren Sie Ihren Text-prompt um, um anzügliche oder sensible Beschreibungen zu entfernen.
  • Passen Sie Referenzbilder an, falls sie Inhalte zeigen, die Sicherheitsfilter auslösen könnten.

timeout

Dieser Fehler bedeutet, dass die Aufgabe ein serverseitiges Zeitlimit überschritten hat, sei es bei der Verarbeitung oder beim Warten in der Warteschlange, sodass die Aufgabe fehlgeschlagen ist und die Credits dafür zurückerstattet wurden. Dies kann bei hoher Systemlast auftreten oder weil die Eingabe zu komplex ist, um innerhalb des Zeitlimits verarbeitet zu werden.

Das unterscheidet sich von einem timeout in Ihrem eigenen Code. Wenn Ihr Client das Warten beendet hat, läuft die Aufgabe trotzdem noch weiter; siehe Task Lifecycle.

Lösung:

  1. Erstellen Sie die Aufgabe erneut. timeouts sind oft vorübergehend, und eine neue Aufgabe kann erfolgreich sein.
  2. Vereinfachen Sie Ihre Eingabe. Wenn wiederholte Versuche weiterhin fehlschlagen, ist Ihre Eingabe möglicherweise zu komplex. Versuchen Sie, den Detailgrad in Ihrem Bild oder prompt zu reduzieren. Siehe image_too_complex für Hinweise dazu, welche Arten von Eingaben schwieriger zu verarbeiten sind.

format_conversion_failed

Dieser Fehler tritt auf, wenn das generierte 3D-Modell nicht in das von Ihnen angeforderte Ausgabeformat konvertiert werden konnte. Das Modell wurde erfolgreich generiert, aber der Konvertierungsschritt ist fehlgeschlagen.

Lösung:

  1. Fordern Sie die Anfrage erneut an.
  2. Versuchen Sie ein anderes Ausgabeformat. Wenn ein bestimmtes Format wiederholt fehlschlägt, wechseln Sie zu einem anderen Format, das Ihren Anforderungen entspricht.

Best Practices

  1. Implementieren Sie eine Wiederholungslogik. Wenn eine Aufgabe mit einem timeout-, service_unavailable- oder server_error-Fehler fehlschlägt, erstellen Sie sie mit exponentiellem Backoff erneut. Wenn stattdessen Ihre eigene Anfrage ein Timeout hatte, erstellen Sie keine neue Aufgabe: Überprüfen Sie zuerst die bestehende (siehe Task Lifecycle).
  2. Protokollieren Sie Task-IDs. Protokollieren Sie die Task-ID immer zu Debugging-Zwecken. Geben Sie sie an, wenn Sie den Support kontaktieren.
  3. Validieren Sie die Eingaben. Stellen Sie sicher, dass Ihre Eingabebilder und -modelle vor der Übermittlung die Formatanforderungen erfüllen.