Reteksturowanie API

Reteksturowanie API to funkcja, która pozwala na integrację możliwości reteksturowania AI Meshy z Twoją aplikacją. W tej sekcji znajdziesz wszystkie informacje potrzebne do rozpoczęcia pracy z tym API.


POST/openapi/v1/retexture

Utwórz zadanie reteksturowania

Ten punkt końcowy pozwala utworzyć nowe zadanie reteksturowania. Zapoznaj się z Obiektem zadania reteksturowania, aby zobaczyć, jakie właściwości są zawarte w obiekcie zadania reteksturowania.

Parametry

  • Name
    input_task_id
    Type
    string
    Wymagane
    Description

    ID ukończonego zadania Obraz na 3D lub Tekst na 3D, które chcesz reteksturować. To zadanie musi być jednym z następujących: Text to 3D Preview, Text to 3D Refine, Image to 3D lub Remesh. Ponadto musi mieć status SUCCEEDED.

  • Name
    model_url
    Type
    string
    Wymagane
    Description

    Podaj model 3D, który Meshy ma poteksturować. Obsługiwane formaty: .glb, .gltf, .obj, .fbx, .stl.

    Model można podać na dwa sposoby:

    • Publicznie dostępny URL: adres URL dostępny z publicznego internetu.
    • Data URI: zakodowany w base64 identyfikator URI danych modelu. Użyj typu MIME application/octet-stream. Przykład: data:application/octet-stream;base64,<your base64-encoded model data>.
  • Name
    text_style_prompt
    Type
    string
    Wymagane
    Description

    Opisz tekstem pożądany styl tekstury obiektu. Maksymalnie 800 znaków.

  • Name
    image_style_url
    Type
    string
    Wymagane
    Description

    Podaj obraz 2D, który poprowadzi proces teksturowania. Obecnie obsługujemy formaty .jpg, .jpeg i .png.

    Obraz można podać na dwa sposoby:

    • Publicznie dostępny URL: adres URL dostępny z publicznego internetu
    • Data URI: zakodowany w base64 identyfikator URI danych obrazu. Przykład identyfikatora URI danych: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    multiview_image_urls
    Type
    string[]
    Wymagane
    Description

    Podaj od 1 do 4 obrazów przedstawiających ten sam obiekt z różnych widoków, aby poprowadzić teksturowanie. Pierwszy obraz to widok główny (przedni); kolejność pozostałych widoków (lewy, tylny, prawy) nie ma znaczenia.

    Każdy element przyjmuje te same formaty co image_style_url (publicznie dostępny URL lub identyfikator URI danych base64, .jpg/.jpeg/.png).

  • Name
    ai_model
    Type
    string
    domyślne latest
    Description

    ID modelu AI używanego do reteksturowania. Dostępne wartości: meshy-5, meshy-6, meshy-7, latest (Meshy 7).

  • Name
    enable_original_uv
    Type
    boolean
    domyślne false
    Description

    Zachowaj istniejący układ UV modelu zamiast generowania nowego.

    • Jeśli reteksturujesz model wygenerowany przez Meshy (za pomocą input_task_id lub model_url wskazującego na wynik Meshy), ustaw tę wartość na true, aby ponownie użyć jego zoptymalizowanego układu UV.
    • Jeśli reteksturujesz przesłany przez siebie model firmy trzeciej, ustaw true, gdy ma on już dobre UV, które chcesz zachować, lub pozostaw false, aby Meshy rozwinęło nowe UV (najlepsze dla modeli bez właściwego mapowania UV).
  • Name
    enable_pbr
    Type
    boolean
    domyślne false
    Description

    Wygeneruj mapy PBR (metaliczność, chropowatość, normalna) oprócz koloru bazowego. Mapa emisji jest również dołączana, gdy ai_model to meshy-6, z wyjątkiem texture_resolution: 8k. meshy-7 i latest nie generują mapy emisji.

  • Name
    texture_resolution
    Type
    string
    domyślne 2k
    Description

    Rozdzielczość tekstury koloru bazowego. Jedna z: 2k (2048×2048), 4k (4096×4096) lub 8k (8192×8192). Wyższe rozdzielczości pozwalają uchwycić więcej szczegółów powierzchni.

  • Name
    hd_texture
    Type
    boolean
    przestarzałe
    domyślne false
    Description

    Zamiast tego użyj texture_resolution — jest to odpowiednik texture_resolution: "4k". Gdy oba są ustawione, priorytet ma texture_resolution.

  • Name
    remove_lighting
    Type
    boolean
    domyślne true
    Description

    Usuwa podświetlenia i cienie z tekstury koloru bazowego, tworząc czystszy rezultat, który lepiej sprawdza się przy niestandardowych konfiguracjach oświetlenia.

  • Name
    target_formats
    Type
    string[]
    Description

    Określa, które formaty plików 3D mają zostać uwzględnione w wyniku. Wygenerowane i zwrócone zostaną tylko żądane formaty, co może skrócić czas wykonania zadania. Gdy parametr jest pominięty, uwzględniane są wszystkie obsługiwane formaty.

    Dostępne wartości: glb, obj, fbx, stl, usdz, 3mf

  • Name
    alpha_thumbnail
    Type
    boolean
    domyślne false
    Description

    Gdy ustawione na true, zadanie dodatkowo renderuje wersję podglądu z przezroczystym tłem (RGBA) i zwraca ją jako alpha_thumbnail_url w odpowiedzi GET. Istniejące pole thumbnail_url pozostaje bez zmian.

Zwracane wartości

Właściwość result odpowiedzi zawiera id zadania nowo utworzonego zadania reteksturowania.

Tryby niepowodzenia

  • Name
    400 - Bad Request
    Description

    Żądanie było niedopuszczalne. Typowe przyczyny:

    • Brakujący parametr: musi zostać podane model_url lub input_task_id.
    • Brakujący styl: musi zostać podane jedno z: text_style_prompt, image_style_url lub multiview_image_urls.
    • Sprzeczne wejścia stylu: multiview_image_urls nie może być łączone z text_style_prompt ani image_style_url.
    • Nieobsługiwany model dla wielu widoków: multiview_image_urls wymaga jawnego ustawienia ai_model: "meshy-7".
    • Model niedostępny: ai_model: "meshy-7" jest wdrażany stopniowo i nie jest jeszcze włączony dla Twojego konta.
    • Nieprawidłowe zadanie wejściowe: input_task_id musi wskazywać na udane zadanie z obsługiwanego modelu.
    • Nieprawidłowy format modelu: model_url wskazuje na plik o nieobsługiwanym rozszerzeniu.
    • Niedostępny URL: nie udało się pobrać model_url, image_style_url lub elementu multiview_image_urls.
  • Name
    401 - Unauthorized
    Description

    Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.

  • Name
    402 - Payment Required
    Description

    Niewystarczająca liczba kredytów do wykonania tego zadania.

  • Name
    429 - Too Many Requests
    Description

    Przekroczono limit szybkości.

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

Pobierz zadanie Reteksturowania

Ten punkt końcowy pozwala na pobranie zadania Reteksturowania, pod warunkiem posiadania prawidłowego id zadania. Odwołaj się do Obiekt zadania Reteksturowania, aby zobaczyć, które właściwości są zawarte w obiekcie zadania Reteksturowania.

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator dla zadania Reteksturowania do pobrania.

Zwraca

Odpowiedź zawiera obiekt zadania Reteksturowania. Sprawdź sekcję Obiekt zadania Reteksturowania dla szczegółów.

Żądanie

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

Odpowiedź

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

Usuń zadanie Reteksturowania

Ten punkt końcowy trwale usuwa zadanie reteksturowania, w tym wszystkie powiązane modele i dane. Ta akcja jest nieodwracalna.

Parametry ścieżki

  • Name
    id
    Type
    path
    Description

    ID zadania reteksturowania do usunięcia.

Zwraca

Zwraca 200 OK w przypadku sukcesu.

Żądanie

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

Odpowiedź

// Returns 200 Ok on success.

GET/openapi/v1/retexture

Lista Zadań Reteksturowania

Ten punkt końcowy pozwala na pobranie listy zadań Reteksturowania.

Parametry

  • Name
    page_num
    Type
    integer
    domyślne 1
    Description

    Numer strony dla stronicowania.

  • Name
    page_size
    Type
    integer
    domyślne 10
    Description

    Limit rozmiaru strony. Maksymalnie dozwolone to 50 elementów.

  • Name
    sort_by
    Type
    string
    Description

    Pole do sortowania.

    Dostępne wartości:

    • +created_at: Sortuj według czasu utworzenia w porządku rosnącym.
    • -created_at: Sortuj według czasu utworzenia w porządku malejącym.

Zwraca

Zwraca stronicowaną listę Obiektów Zadań Reteksturowania.

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

Streamuj zadanie Reteksturowania

Ten punkt końcowy przesyła w czasie rzeczywistym aktualizacje dla zadania Reteksturowania przy użyciu Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Unikalny identyfikator dla zadania Reteksturowania do przesyłania.

Zwraca

Zwraca strumień Obiektów Zadania Reteksturowania jako Server-Sent Events.

Dla zadań PENDING lub IN_PROGRESS, strumień odpowiedzi będzie zawierał tylko niezbędne pola progress i 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
}

Obiekt Zadania Reteksturowania

Obiekt Zadania Reteksturowania jest jednostką pracy, którą Meshy używa do generowania 3D tekstury z wejść tekstowych lub obrazów. Model ma następujące właściwości:

Właściwości

  • Name
    id
    Type
    string
    Description

    Unikalny identyfikator zadania. Chociaż używamy k-sortowalnego UUID dla identyfikatorów zadań jako szczegółu implementacyjnego, nie powinieneś robić żadnych założeń dotyczących formatu id.

  • Name
    type
    Type
    string
    Description

    Typ zadania Reteksturowania. Wartość to retexture.

  • Name
    model_urls
    Type
    object
    Description

    Pobieralny URL do teksturowanego pliku modelu 3D wygenerowanego przez Meshy.

    • Name
      glb
      Type
      string
      Description

      Pobieralny URL do pliku GLB.

    • Name
      fbx
      Type
      string
      Description

      Pobieralny URL do pliku FBX.

    • Name
      obj
      Type
      string
      Description

      Pobieralny URL do pliku OBJ.

    • Name
      usdz
      Type
      string
      Description

      Pobieralny URL do pliku USDZ.

    • Name
      mtl
      Type
      string
      Description

      Pobieralny URL do pliku MTL, zwracany wraz z eksportami OBJ, gdy tekstury są obecne.

    • Name
      stl
      Type
      string
      Description

      Pobieralny URL do pliku STL.

    • Name
      3mf
      Type
      string
      Description

      Pobieralny URL do pliku 3MF. Obecny tylko wtedy, gdy 3mf został zażądany przez target_formats.

  • Name
    text_style_prompt
    Type
    string
    Description

    To jest tekstowy prompt, który został użyty do stworzenia zadania teksturowania.

  • Name
    image_style_url
    Type
    string
    Description

    To jest wejściowy obraz, który został użyty do stworzenia zadania teksturowania.

  • Name
    multiview_image_urls
    Type
    string[]
    Description

    Pobieralne URL-e do obrazów referencyjnych z wielu widoków, które zostały użyte do stworzenia zadania teksturowania. Obecne tylko wtedy, gdy zadanie zostało stworzone z multiview_image_urls.

  • Name
    thumbnail_url
    Type
    string
    Description

    Pobieralny URL do miniatury obrazu pliku modelu.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Pobieralny URL do wersji thumbnail_url z przezroczystym tłem (RGBA). Obecny tylko wtedy, gdy zadanie zostało stworzone z alpha_thumbnail: true i przezroczysty podgląd został pomyślnie wygenerowany; w przeciwnym razie to pole jest pomijane.

  • Name
    progress
    Type
    integer
    Description

    Postęp zadania. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0. Gdy zadanie zakończy się sukcesem, stanie się 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy zadanie zostało rozpoczęte, w milisekundach. Jeśli zadanie jeszcze się nie rozpoczęło, ta właściwość będzie miała wartość 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy zadanie zostało utworzone, w milisekundach.

  • Name
    expires_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy wynik zadania wygasa, w milisekundach.

  • Name
    finished_at
    Type
    timestamp
    Description

    Znacznik czasu, kiedy zadanie zostało zakończone, w milisekundach. Jeśli zadanie jeszcze się nie zakończyło, ta właściwość będzie miała wartość 0.

  • Name
    status
    Type
    string
    Description

    Status zadania. Możliwe wartości to PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    texture_urls
    Type
    array
    Description

    Tablica obiektów URL tekstur, które są generowane z zadania. Zwykle zawiera tylko jeden obiekt URL tekstury. Każdy URL tekstury ma następujące właściwości:

    • Name
      base_color
      Type
      string
      Description

      Pobieralny URL do obrazu mapy podstawowego koloru.

    • Name
      metallic
      Type
      string
      Description

      Pobieralny URL do obrazu mapy metaliczności.

    • Name
      normal
      Type
      string
      Description

      Pobieralny URL do obrazu mapy normalnych.

    • Name
      roughness
      Type
      string
      Description

      Pobieralny URL do obrazu mapy szorstkości.

    • Name
      emission
      Type
      string
      Description

      Pobieralny URL do obrazu mapy emisji.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Liczba poprzedzających zadań.

  • Name
    task_error
    Type
    object
    Description

    Szczegóły błędu dla nieudanych zadań. Zobacz Błędy dla pełnej referencji obiektu task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Liczba kredytów zużytych przez to zadanie. Obecne, gdy status zadania to PENDING, IN_PROGRESS, lub SUCCEEDED. Zwraca 0 dla zadań FAILED (kredyty są zwracane w przypadku niepowodzenia).

Przykład Modelu Zadania Reteksturowania

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