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

Bild-zu-3D-API

Die Bild-zu-3D-API ist eine Funktion, mit der Sie die Bild-zu-3D-Fähigkeiten von Meshy in Ihre eigene Anwendung integrieren können. In diesem Abschnitt finden Sie alle Informationen, die Sie benötigen, um mit dieser API zu beginnen.


POST/openapi/v1/image-to-3d

Erstellen einer Bild-zu-3D-Aufgabe

Dieser Endpunkt ermöglicht es Ihnen, eine neue Bild-zu-3D-Aufgabe zu erstellen. Siehe Das Bild-zu-3D-Aufgabenobjekt, um zu erfahren, welche Eigenschaften im Bild-zu-3D-Aufgabenobjekt enthalten sind.

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

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

    Die ID einer abgeschlossenen Bildgenerierungsaufgabe, deren Ausgabe als Eingabebild verwendet werden soll. Diese Aufgabe muss eine der folgenden Aufgaben sein: Text zu Bild oder Bild zu Bild. Außerdem muss sie über die API ausgeführt worden sein, den Status SUCCEEDED haben und genau ein Bild erzeugen.

  • Name
    image_url
    Type
    string
    Erforderlich
    Description

    Geben Sie ein Bild an, das Meshy für die Modellerstellung verwenden soll. Wir unterstützen derzeit die Formate .jpg, .jpeg, .png und .webp.

    Maximale Dateigröße: 20 MB.

    Es gibt zwei Möglichkeiten, das Bild bereitzustellen:

    • Öffentlich zugängliche URL: Eine URL, die aus dem öffentlichen Internet erreichbar ist.
    • Data URI: Ein base64-kodierter Data URI des Bildes. Beispiel für einen Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    model_type
    Type
    string
    Standard standard
    Description

    Geben Sie die Art der 3D-Netzerzeugung an.

    Verfügbare Werte:

    • standard: Reguläre, hochdetaillierte 3D-Netzerzeugung.
    • smart-topology: Wählen Sie ein Smart-Topology-Modell mit ai_model (meshy-t2).
    • lowpoly (veraltet, wird am 30. Oktober 2026 eingestellt): Erzeugt ein Low-Poly-Netz, das auf sauberere Polygone optimiert ist. Wir empfehlen stattdessen Meshy T2: smart-topology mit meshy-t2.
  • Name
    ai_model
    Type
    string
    Standard latest
    Description

    ID des zu verwendenden Modells. Die verfügbaren Werte hängen von model_type ab.

    Standardgenerierung (model_type: standard):

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (veraltet): verwenden Sie stattdessen meshy-7.1.

    Smart-Topology-Generierung (model_type: smart-topology):

    • meshy-t2 (Standard): das Smart-Topology-Modell — sauberere topology, nativ getrennte Teile, Dreiecksausgabe und eine Flächenanzahl, die Sie mit target_polycount festlegen können.
  • Name
    geometry_resolution
    Type
    string
    Standard standard
    Description

    Geometrie-Generierungsdurchgang. 2k führt den Ultra-Durchgang bei 2048³ aus; 4k führt ihn bei 4096³ für das feinste Oberflächendetail aus.

    Verfügbare Werte: standard, 2k, 4k

  • Name
    ultra_mode
    Type
    boolean
    ⚠ veraltet
    Standard false
    Description

    Verwenden Sie stattdessen geometry_resolution. ultra_mode: true entspricht geometry_resolution: "2k".

  • Name
    should_texture
    Type
    boolean
    Standard true
    Description

    Bestimmt, ob Texturen generiert werden. Wenn auf false gesetzt, wird die Texturphase übersprungen, wodurch ein Netz ohne Texturen entsteht.

Gilt nur wenn should_texture = true
  • Name
    enable_pbr
    Type
    boolean
    Standard false
    Description

    Erzeugt PBR-Texturen (Metallic, Roughness, Normal) zusätzlich zur Basisfarbe. Eine Emissionskarte ist ebenfalls enthalten, wenn ai_model den Wert meshy-6 hat, außer bei texture_resolution: 8k. meshy-6-lite, meshy-7.1 und latest erzeugen keine Emissionskarte.

  • Name
    texture_resolution
    Type
    string
    Standard 2k
    Description

    Auflösung der Basisfarbtextur. Eine von 2k (2048×2048), 4k (4096×4096) oder 8k (8192×8192). Höhere Auflösungen erfassen mehr Oberflächendetails.

  • Name
    hd_texture
    Type
    boolean
    ⚠ veraltet
    Standard false
    Description

    Verwenden Sie stattdessen texture_resolution — entspricht texture_resolution: "4k". Wenn beide gesetzt sind, hat texture_resolution Vorrang.

  • Name
    texture_prompt
    Type
    string
    Description

    Geben Sie einen Text-prompt an, um den Texturierungsprozess zu steuern. Maximal 800 Zeichen.

  • Name
    texture_image_url
    Type
    string
    Description

    Geben Sie ein 2D-Bild an, um den Texturierungsprozess zu steuern. Wir unterstützen derzeit die Formate .jpg, .jpeg, .png und .webp.

    Maximale Dateigröße: 20 MB.

    Es gibt zwei Möglichkeiten, das Bild bereitzustellen:

    • Öffentlich zugängliche URL: Eine URL, die aus dem öffentlichen Internet erreichbar ist
    • Data URI: Ein base64-kodierter Data URI des Bildes. Beispiel für einen Data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    should_remesh
    Type
    boolean
    Standard false (Meshy 6 and Meshy 7 models), true (others)
    Description

    Steuert, ob die Neuvernetzungsphase aktiviert wird. Für das hochwertigste Modell empfehlen wir, should_remesh auf false zu setzen.

Gilt nur wenn should_remesh = true
  • Name
    topology
    Type
    string
    Standard triangle
    Description

    Geben Sie die topology des generierten Modells an.

    Verfügbare Werte:

    • quad: Erzeugt ein überwiegend aus Vierecken bestehendes Netz.
    • triangle: Erzeugt ein dezimiertes Dreiecksnetz.
  • Name
    decimation_mode
    Type
    integer
    Description

    Aktivieren Sie die adaptive Dezimierung, indem Sie eine Polygonanzahl-Stufe festlegen. Wenn gesetzt, wird target_polycount ignoriert.

    Verfügbare Werte:

    • 1: Adaptiv — ultrahohe Polygonanzahl.
    • 2: Adaptiv — hohe Polygonanzahl.
    • 3: Adaptiv — mittlere Polygonanzahl.
    • 4: Adaptiv — niedrige Polygonanzahl.
  • Name
    save_pre_remeshed_model
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, speichert Meshy zusätzlich eine weitere GLB-Datei, bevor die Neuvernetzungsphase abgeschlossen ist.

  • Name
    target_polycount
    Type
    integer
    Description

    Zielanzahl der Polygone (Flächen) in der Ausgabe. Die tatsächliche Anzahl kann je nach Geometrie vom Ziel abweichen.

    target_polycount wirkt sich in zwei unabhängigen Fällen aus:

    • Neuvernetzung — mit should_remesh: true bei einem standard-Modell. Das Netz wird auf ungefähr diese Anzahl neu vernetzt (dezimiert). Bereich 100 bis 300.000, Standard 30.000. Wenn decimation_mode gesetzt ist, hat es Vorrang und target_polycount wird ignoriert.
    • Smart Topology — mit model_type: smart-topology und ai_model: meshy-t2. Das Modell wird direkt mit dieser Flächenanzahl generiert; es läuft keine Neuvernetzung, und should_remesh ist nicht erforderlich. Bereich 100 bis 15.000, Standard 4.000.
  • Name
    symmetry_mode
    Type
    string
    ⚠ veraltet
    Standard auto
    Description

    Veraltet. Dieser Parameter wirkt sich nicht mehr auf die Ausgabe aus.

    Das Feld symmetry_mode steuert das Symmetrieverhalten während des Modellgenerierungsprozesses.

    Die gültigen Werte sind:

    • off: Deaktiviert die Symmetrie.
    • auto: Bestimmt und wendet die Symmetrie automatisch basierend auf der Eingabegeometrie an.
    • on: Erzwingt die Symmetrie während der Generierung.
  • Name
    pose_mode
    Type
    string
    Standard ""
    Description

    Geben Sie den Pose-Modus für das generierte Modell an.

    Verfügbare Werte:

    • a-pose: Generiert das Modell in einer A-Pose.
    • t-pose: Generiert das Modell in einer T-Pose.
    • "" (leere Zeichenkette): Keine bestimmte Pose angewendet.
  • Name
    is_a_t_pose
    Type
    boolean
    ⚠ veraltet
    Standard false
    Description

    Verwenden Sie stattdessen pose_mode. Ob das Modell in einer A-/T-Pose generiert werden soll.

  • Name
    surface_mode
    Type
    string
    ⚠ veraltet
    Description

    Wirkt sich nicht mehr auf die Ausgabe aus. Es wählte eine Modellgenerierung aus, die inzwischen eingestellt wurde; verwenden Sie stattdessen ai_model.

    Zulässige Werte sind organic und hard; jeder andere Wert gibt 400 zurück.

  • Name
    image_enhancement
    Type
    boolean
    Standard true
    Description

    Optimiert das Eingabebild für bessere Ergebnisse. Setzen Sie auf false, um das exakte Erscheinungsbild des Eingabebilds ohne jegliche Stilverarbeitung beizubehalten.

  • Name
    remove_lighting
    Type
    boolean
    Standard true
    Description

    Entfernt Glanzlichter und Schatten aus der Basisfarbtextur, was zu einem saubereren Ergebnis führt, das bei individuellen Beleuchtungssetups besser funktioniert.

  • Name
    moderation
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, wird der Eingabeinhalt automatisch auf potenziell schädliche Inhalte überprüft. Wird schädlicher Inhalt erkannt, wird die Aufgabe nicht mit der Generierung fortgesetzt.

    Die Inhalte aus den Eingaben image_url, texture_image_url und texture_prompt werden überprüft.

  • Name
    target_formats
    Type
    string[]
    Description

    Gibt an, welche 3D-Dateiformate in die Ausgabe aufgenommen werden sollen. Nur die angeforderten Formate werden generiert und zurückgegeben, was die Bearbeitungszeit der Aufgabe verkürzen kann. Wenn weggelassen, werden alle unterstützten Formate einbezogen.

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

  • Name
    auto_size
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, verwendet der Dienst KI-Vision, um die reale Höhe des Objekts automatisch zu schätzen und das Modell entsprechend in der Größe zu ändern. Der Ursprung wird standardmäßig auf bottom gesetzt, sofern origin_at nicht explizit angegeben ist.

  • 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 sie als alpha_thumbnail_url in der GET-Antwort zurück. Das vorhandene Feld thumbnail_url bleibt unverändert.

  • Name
    multi_view_thumbnails
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, rendert die Aufgabe zusätzlich vier Thumbnails aus den Hauptansichten (vorne, rechts, hinten, links) und gibt sie unter thumbnail_urls in der GET-Antwort zurück. Das vorhandene Feld thumbnail_url bleibt unverändert und verweist weiterhin auf die Vorderansicht, sodass bestehende Clients nicht betroffen sind.

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

    Position des Ursprungs, wenn auto_size aktiviert ist.

    Verfügbare Werte: bottom, center.

Rückgabewerte

Die Eigenschaft result der Antwort enthält die id der neu erstellten Bild-zu-3D-Aufgabe.

Fehlermodi

  • Name
    400 - Bad Request
    Description

    Die Anfrage war nicht akzeptabel. Häufige Ursachen:

    • Fehlender Parameter: Entweder image_url oder input_task_id muss angegeben werden.
    • Ungültige Eingabeaufgabe: input_task_id muss sich auf eine SUCCEEDED-Aufgabe vom Typ Text zu Bild oder Bild zu Bild beziehen, die genau ein Bild erzeugt.
    • Ungültiges Bildformat: Die angegebene image_url hat kein unterstütztes Format (.jpg, .jpeg, .png, .webp).
    • Nicht erreichbare URL: Die image_url konnte nicht heruntergeladen werden (404 oder timeout).
    • Bild zu groß: Das Bild unter image_url oder texture_image_url überschreitet 20 MB.
    • Ungültiger Data URI: Die base64-Zeichenkette ist fehlerhaft.
    • Ungültige Parameterkombination: enable_pbr wird nur unterstützt, wenn should_texture den Wert true hat.
    • Nicht unterstütztes Modell für Low-Poly: ai_model: "meshy-6-lite" unterstützt model_type: "lowpoly" nicht.
    • Nicht unterstütztes Modell für Ultra: geometry_resolution erfordert meshy-7.1 oder latest.
  • 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/image-to-3d
# Simple request with required params
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>"
  }'

# With Ultra 4K geometry, remesh, PBR, and A-pose
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>",
    "ai_model": "meshy-7.1",
    "geometry_resolution": "4k",
    "enable_pbr": true,
    "should_remesh": true,
    "target_polycount": 100000,
    "should_texture": true,
    "pose_mode": "a-pose",
    "target_formats": ["glb"]
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/image-to-3d/:id

Ruft eine Bild-zu-3D-Aufgabe ab

Dieser Endpunkt ermöglicht es Ihnen, eine Bild-zu-3D-Aufgabe anhand einer gültigen Aufgaben-id abzurufen. Weitere Informationen dazu, welche Eigenschaften im Bild-zu-3D-Aufgabenobjekt enthalten sind, finden Sie unter Das Bild-zu-3D-Aufgabenobjekt.

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung der abzurufenden Bild-zu-3D-Aufgabe.

Rückgabewerte

Die Antwort enthält das Bild-zu-3D-Aufgabenobjekt. Weitere Details finden Sie im Abschnitt Das Bild-zu-3D-Aufgabenobjekt.

Request

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

DELETE/openapi/v1/image-to-3d/:id

Delete an Image to 3D Task

Dieser Endpunkt löscht eine Bild-zu-3D-Aufgabe dauerhaft, einschließlich aller zugehörigen Modelle und Daten. Diese Aktion ist unwiderruflich.

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID der zu löschenden Bild-zu-3D-Aufgabe.

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 bereits IN_PROGRESS ist, 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. Ein Löschen mitten im Ablauf würde Sie daher sowohl die Credits als auch das Ergebnis kosten. 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 Erstattung gelöscht.

Rückgabewerte

Gibt bei Erfolg 200 OK zurück, oder 409 Conflict, wenn die Aufgabe IN_PROGRESS ist.

Request

DELETE
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -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/image-to-3d

Liste der Bild-zu-3D-Aufgaben

Dieser Endpunkt ermöglicht es Ihnen, eine Liste von Bild-zu-3D-Aufgaben abzurufen.

Parameter

Optionale Attribute

  • Name
    page_num
    Type
    integer
    Description

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

  • Name
    page_size
    Type
    integer
    Description

    Seitengrößenlimit. 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: Sortierung nach Erstellungszeit in aufsteigender Reihenfolge.
    • -created_at: Sortierung nach Erstellungszeit in absteigender Reihenfolge.

Rückgabe

Gibt eine paginierte Liste von Bild-zu-3D-Aufgabenobjekten zurück.

Request

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

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "image-to-3d",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
      "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "thumbnail_urls": {
      "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
      "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
      "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
      "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
    },
    "texture_prompt": "",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "expires_at": 1692771679037,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
        "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
        "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
        "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
        "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {
      "message": ""
    },
    "consumed_credits": 30
  }
]

GET/openapi/v1/image-to-3d/:id/stream

Einen Bild-zu-3D-Task streamen

Dieser Endpunkt streamt Echtzeit-Updates für einen Bild-zu-3D-Task mithilfe von Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutiger Bezeichner für den zu streamenden Bild-zu-3D-Task.

Rückgabe

Gibt einen Stream von The Image to 3D Task Objects als Server-Sent Events zurück.

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

Request

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/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": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
  "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
  "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
  "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
  "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
  "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

Das Bild-zu-3D-Task-Objekt

Das Bild-zu-3D-Task-Objekt ist eine Arbeitseinheit, die Meshy verfolgt, um aus einer Bild-Eingabe ein 3D-Modell zu generieren. Das Objekt verfügt über die folgenden Eigenschaften:

Eigenschaften

  • Name
    id
    Type
    string
    Description

    Eindeutiger Bezeichner für den Task. Obwohl wir als Implementierungsdetail eine k-sortierbare UUID für Task-IDs verwenden, solltest du keine Annahmen über das Format der ID treffen.

  • Name
    type
    Type
    string
    Description

    Typ des Bild-zu-3D-Tasks. Der Wert ist image-to-3d.

  • Name
    model_urls
    Type
    object
    Description

    Herunterladbare URL zur texturierten 3D-Modelldatei, die von Meshy generiert wurde. Die Eigenschaft für ein Format wird weggelassen, wenn das Format nicht generiert wurde, anstatt eine leere Zeichenfolge 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
      mtl
      Type
      string
      Description

      Herunterladbare URL zur MTL-Datei, die zusammen mit OBJ-Exporten zurückgegeben wird, wenn Texturen vorhanden sind.

    • 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
      pre_remeshed_glb
      Type
      string
      Description

      Herunterladbare URL zum ursprünglichen GLB-Output vor dem Remeshing.

  • Name
    thumbnail_url
    Type
    string
    Description

    Herunterladbare URL zum Vorschaubild der Modelldatei. Entspricht thumbnail_urls.front, sofern vorhanden, und wird aus Gründen der Abwärtskompatibilität beibehalten.

  • 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 weggelassen.

  • Name
    thumbnail_urls
    Type
    object
    Description

    Herunterladbare URLs für vier Miniaturansichten des generierten 3D-Modells aus den Hauptrichtungen. Jeder Wert ist eine signierte URL zu einem 512×512-PNG, das mit denselben Materialien und derselben Beleuchtung wie thumbnail_url gerendert wurde. Nützlich, um das Modell in Batch-Pipelines aus mehreren Blickwinkeln in der Vorschau zu betrachten, ohne die GLB-Datei herunterzuladen.

    • Name
      front
      Type
      string
      Description

      Vorderansicht, 0° Rotation um die vertikale Achse (entspricht thumbnail_url).

    • Name
      right
      Type
      string
      Description

      Rechte Ansicht, 90° Rotation.

    • Name
      back
      Type
      string
      Description

      Rückansicht, 180° Rotation.

    • Name
      left
      Type
      string
      Description

      Linke Ansicht, 270° Rotation.

  • Name
    texture_prompt
    Type
    string
    Description

    Der Text-Prompt, der zur Steuerung des Texturierungsprozesses verwendet wurde.

  • Name
    texture_image_url
    Type
    string
    Description

    Herunterladbare URL zum Texturbild, das zur Steuerung des Texturierungsprozesses verwendet wurde.

  • Name
    ultra_mode
    Type
    boolean
    ⚠ veraltet
    Description

    Veraltet; lies stattdessen geometry_resolution.

  • Name
    geometry_resolution
    Type
    string
    Description

    Die Ultra-Stufe, mit der der Task ausgeführt wurde (2k oder 4k); wird für standard weggelassen.

  • 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
    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
    created_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task erstellt wurde, in Millisekunden.

  • Name
    expires_at
    Type
    timestamp
    Description

    Zeitstempel, wann das Taskergebnis abläuft, in Millisekunden.

  • 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
    status
    Type
    string
    Description

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

  • Name
    texture_urls
    Type
    array
    Description

    Ein Array von Textur-URL-Objekten, die aus dem Task generiert werden. Normalerweise enthält dies nur ein Textur-URL-Objekt. Jede Textur-URL hat die folgenden Eigenschaften:

    • Name
      base_color
      Type
      string
      Description

      Herunterladbare URL zum Base-Color-Map-Bild.

    • Name
      metallic
      Type
      string
      Description

      Herunterladbare URL zum Metallic-Map-Bild.

    • Name
      normal
      Type
      string
      Description

      Herunterladbare URL zum Normal-Map-Bild.

    • Name
      roughness
      Type
      string
      Description

      Herunterladbare URL zum Roughness-Map-Bild.

    • Name
      emission
      Type
      string
      Description

      Herunterladbare URL zum Emission-Map-Bild.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Anzahl der vorangehenden Tasks.

  • 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 Tasks mit Status FAILED zurück (Credits werden bei Fehlschlag zurückerstattet).

Example Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "texture_image_url": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}