Retexture-API

Die Retexture-API ist eine Funktion, mit der du die KI-gestützten Retexturierungsfunktionen von Meshy in deine eigene Anwendung integrieren kannst. In diesem Abschnitt findest du alle Informationen, die du benötigst, um mit dieser API loszulegen.


POST/openapi/v1/retexture

Eine Retexture-Aufgabe erstellen

Dieser endpoint ermöglicht es Ihnen, eine neue Retexture-Aufgabe zu erstellen. Siehe Das Retexture-Aufgabenobjekt, um zu sehen, welche Eigenschaften im Retexture-Aufgabenobjekt enthalten sind.

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

    Die ID der abgeschlossenen Image to 3D- oder Text to 3D-Aufgabe, die Sie neu texturieren möchten. Diese Aufgabe muss eine der folgenden Aufgaben sein: Text to 3D Preview, Text to 3D Refine, Image to 3D oder Remesh. Außerdem muss sie den Status SUCCEEDED haben.

  • Name
    model_url
    Type
    string
    Erforderlich
    Description

    Stellen Sie Meshy ein 3D-Modell zum Texturieren bereit. Unterstützte Formate: .glb, .gltf, .obj, .fbx, .stl.

    Es gibt zwei Möglichkeiten, das Modell bereitzustellen:

    • Öffentlich zugängliche URL: Eine URL, die über das öffentliche Internet erreichbar ist.
    • Data URI: Eine base64-codierte Data URI des Modells. Verwenden Sie den MIME-Typ application/octet-stream. Beispiel: data:application/octet-stream;base64,<your base64-encoded model data>.
  • Name
    text_style_prompt
    Type
    string
    Erforderlich
    Description

    Beschreiben Sie den gewünschten Texturstil des Objekts mit Text. Maximal 600 Zeichen.

  • Name
    image_style_url
    Type
    string
    Erforderlich
    Description

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

    Es gibt zwei Möglichkeiten, das Bild bereitzustellen:

    • Öffentlich zugängliche URL: Eine URL, die über das öffentliche Internet erreichbar ist
    • Data URI: Eine base64-codierte Data URI des Bildes. Beispiel für eine Data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    ai_model
    Type
    string
    Standard latest
    Description

    ID des KI-Modells, das für die Neu-Texturierung verwendet werden soll. Verfügbare Werte: meshy-5, meshy-6, latest (Meshy 6).

  • Name
    enable_original_uv
    Type
    boolean
    Standard false
    Description

    Behalten Sie das vorhandene UV-Layout des Modells bei, anstatt ein neues zu generieren.

    • Wenn Sie ein von Meshy generiertes Modell neu texturieren (über input_task_id oder eine model_url, die auf eine Meshy-Ausgabe verweist), setzen Sie dies auf true, um dessen optimiertes UV-Layout wiederzuverwenden.
    • Wenn Sie ein hochgeladenes Drittanbieter-Modell neu texturieren, setzen Sie true, wenn es bereits gute UVs hat, die Sie beibehalten möchten, oder lassen Sie es auf false, damit Meshy neue UVs unwrappt (am besten für Modelle ohne korrektes UV-Mapping).
  • Name
    enable_pbr
    Type
    boolean
    Standard false
    Description

    Generiert zusätzlich zur Basisfarbe PBR-Maps (Metallic, Roughness, Normal). Eine Emission-Map ist ebenfalls enthalten, wenn ai_model meshy-6 oder latest ist.

  • Name
    hd_texture
    Type
    boolean
    Standard false
    Description

    Generiert die Base-Color-Textur mit 4K-Auflösung (4096×4096) für höhere Details.

  • Name
    remove_lighting
    Type
    boolean
    Standard true
    Description

    Entfernt Glanzlichter und Schatten aus der Base-Color-Textur und erzeugt ein saubereres Ergebnis, das unter benutzerdefinierten Beleuchtungs-Setups besser funktioniert.

  • 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, wodurch sich die Abschlusszeit der Aufgabe verkürzen kann. Wenn ausgelassen, werden alle unterstützten Formate eingeschlossen.

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

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

Rückgabe

Die Eigenschaft result der Antwort enthält die Aufgaben-id der neu erstellten Retexture-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.
    • Fehlender Stil: Entweder text_style_prompt oder image_style_url muss angegeben werden.
    • Ungültige Eingabeaufgabe: Die input_task_id muss auf eine erfolgreiche Aufgabe eines unterstützten Modells verweisen.
    • Ungültiges Modellformat: Die model_url verweist auf eine Datei mit einer nicht unterstützten Erweiterung.
    • Nicht erreichbare URL: Die model_url oder image_style_url konnte nicht heruntergeladen werden.
  • Name
    401 - Unauthorized
    Description

    Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihren API key.

  • Name
    402 - Payment Required
    Description

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

  • Name
    429 - Too Many Requests
    Description

    Sie haben Ihr Rate-Limit überschritten.

Request

POST
/openapi/v1/retexture
# Retexture with text prompt
curl https://api.meshy.ai/openapi/v1/retexture \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model_url": "https://cdn.meshy.ai/model/example_model_2.glb",
    "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
    "enable_original_uv": true,
    "enable_pbr": true
  }'

# Retexture with image style and PBR
curl https://api.meshy.ai/openapi/v1/retexture \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "model_url": "https://cdn.meshy.ai/model/example_model_2.glb",
    "image_style_url": "https://cdn.meshy.ai/image/example_image.jpg",
    "ai_model": "latest",
    "enable_pbr": true,
    "enable_original_uv": true
  }'

Response

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

GET/openapi/v1/retexture/:id

Eine Retexture-Aufgabe abrufen

Dieser endpoint ermöglicht es Ihnen, eine Retexture-Aufgabe anhand einer gültigen Aufgaben-id abzurufen. Siehe Das Retexture-Aufgabenobjekt, um zu erfahren, welche Eigenschaften im Retexture-Aufgabenobjekt enthalten sind.

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung der abzurufenden Retexture-Aufgabe.

Rückgabe

Die Antwort enthält das Retexture-Aufgabenobjekt. Weitere Details finden Sie im Abschnitt Das Retexture-Aufgabenobjekt.

Request

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

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "retexture",
  "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=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
  "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"
    }
  ],
  "task_error": {

    "message": ""

  },

  "consumed_credits": 10
}

DELETE/openapi/v1/retexture/:id

Eine Retexture-Aufgabe löschen

Dieser endpoint löscht eine Retexture-Aufgabe dauerhaft, einschließlich aller zugehörigen Modelle und Daten. Diese Aktion kann nicht rückgängig gemacht werden.

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID der zu löschenden Retexture-Aufgabe.

Rückgabe

Gibt bei Erfolg 200 OK zurück.

Request

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

Response

// Returns 200 Ok on success.

GET/openapi/v1/retexture

Retexture-Aufgaben auflisten

Dieser endpoint ermöglicht es Ihnen, eine Liste von Retexture-Aufgaben abzurufen.

Parameter

  • Name
    page_num
    Type
    integer
    Standard 1
    Description

    Seitennummer für die Paginierung.

  • Name
    page_size
    Type
    integer
    Standard 10
    Description

    Seitengrößenlimit. Maximal erlaubt sind 50 Elemente.

  • Name
    sort_by
    Type
    string
    Description

    Feld, nach dem sortiert werden soll.

    Verfügbare Werte:

    • +created_at: Nach Erstellungszeit in aufsteigender Reihenfolge sortieren.
    • -created_at: Nach Erstellungszeit in absteigender Reihenfolge sortieren.

Rückgabe

Gibt eine paginierte Liste der Retexture-Aufgabenobjekte zurück.

Request

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

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "retexture",
    "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=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
    "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": 10
  }
]

GET/openapi/v1/retexture/:id/stream

Retexture-Aufgabe streamen

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

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung der Retexture-Aufgabe, die gestreamt werden soll.

Rückgabe

Gibt einen Stream von The Retexture Task Objects als Server-Sent Events zurück.

Für Aufgaben mit PENDING oder IN_PROGRESS enthält der Antwort-Stream nur die erforderlichen Felder progress und status.

Request

GET
/openapi/v1/retexture/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/retexture/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",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "retexture",
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1692771650657,
  "started_at": 1692771667037,
  "finished_at": 1692771669037,
  "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=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  },
  "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": 10
}

Das Retexture-Aufgabenobjekt

Das Retexture-Aufgabenobjekt ist eine Arbeitseinheit, die Meshy verwendet, um eine 3D-Textur aus Text- oder Bildeingaben zu generieren. Das Modell hat die folgenden Eigenschaften:

Eigenschaften

  • 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 Retexture-Aufgabe. Der Wert ist retexture.

  • Name
    model_urls
    Type
    object
    Description

    Herunterladbare URL zur von Meshy generierten texturierten 3D-Modelldatei.

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

    Dies ist der Text-Prompt, der zum Erstellen der Texturierungsaufgabe verwendet wurde.

  • Name
    image_style_url
    Type
    string
    Description

    Dies ist die Bildeingabe, die zum Erstellen der Texturierungsaufgabe verwendet wurde.

  • Name
    thumbnail_url
    Type
    string
    Description

    Herunterladbare URL zum Vorschaubild der Modelldatei.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

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

  • Name
    progress
    Type
    integer
    Description

    Fortschritt der Aufgabe. Wenn die Aufgabe noch nicht gestartet wurde, ist diese Eigenschaft 0. Sobald die Aufgabe erfolgreich abgeschlossen wurde, wird sie zu 100.

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

    Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.

  • Name
    expires_at
    Type
    timestamp
    Description

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

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

    Status der Aufgabe. 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 der Aufgabe 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 Aufgaben.

  • Name
    task_error
    Type
    object
    Description

    Fehlerdetails für fehlgeschlagene Aufgaben. Siehe Fehler für die vollständige task_error-Objektreferenz.

  • Name
    consumed_credits
    Type
    integer
    Description

    Die Anzahl der von dieser Aufgabe verbrauchten Credits. Vorhanden, wenn der Aufgabenstatus PENDING, IN_PROGRESS oder SUCCEEDED ist. Gibt 0 für FAILED-Aufgaben zurück (Credits werden bei einem Fehlschlag erstattet).

Example Retexture Task Model

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "retexture",
  "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=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
  },
  "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style",
  "image_style_url": "https://assets.meshy.ai/***/image/example_image.jpg?Expires=***",
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "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": 10
}