Retekstur API

Retekstur API adalah satu fungsi yang membolehkan anda mengintegrasikan keupayaan retekstur AI Meshy ke dalam aplikasi anda sendiri. Dalam bahagian ini, anda akan menemui semua maklumat yang anda perlukan untuk memulakan dengan API ini.


POST/openapi/v1/retexture

Buat Tugas Retekstur

Endpoint ini membolehkan anda mewujudkan satu tugas Retekstur baru. Rujuk Objek Tugas Retekstur untuk melihat sifat-sifat yang disertakan dengan objek tugas Retekstur.

Parameter

  • Name
    input_task_id
    Type
    string
    Diperlukan
    Description

    ID tugas Imej ke 3D atau Teks ke 3D yang telah selesai yang anda ingin retekstur. Tugas ini mesti salah satu daripada tugas berikut: Teks ke 3D Pratonton, Teks ke 3D Refine, Imej ke 3D atau Remesh. Selain itu, ia mesti mempunyai status SUCCEEDED.

  • Name
    model_url
    Type
    string
    Diperlukan
    Description

    Sediakan model 3D untuk Meshy untuk tekstur. Format yang disokong: .glb, .gltf, .obj, .fbx, .stl.

    Terdapat dua cara untuk menyediakan model:

    • URL yang boleh diakses oleh umum: URL yang boleh diakses dari internet awam.
    • Data URI: Data URI berformat base64 bagi model tersebut. Gunakan jenis MIME application/octet-stream. Contoh: data:application/octet-stream;base64,<your base64-encoded model data>.
  • Name
    text_style_prompt
    Type
    string
    Diperlukan
    Description

    Huraikan gaya tekstur objek yang anda kehendaki menggunakan teks. Maksimum 600 aksara.

  • Name
    image_style_url
    Type
    string
    Diperlukan
    Description

    Sediakan imej 2D untuk membimbing proses peneksturan. Kami kini menyokong format .jpg, .jpeg, dan .png.

    Terdapat dua cara untuk menyediakan imej:

    • URL yang boleh diakses oleh umum: URL yang boleh diakses dari internet awam
    • Data URI: Data URI berformat base64 bagi imej tersebut. Contoh data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    multiview_image_urls
    Type
    string[]
    Diperlukan
    Description

    Sediakan 1 hingga 4 imej yang menunjukkan objek yang sama dari pandangan yang berlainan untuk membimbing peneksturan. Imej pertama adalah pandangan utama (depan); susunan pandangan baki (kiri, belakang, kanan) tidak penting.

    Setiap elemen menerima format yang sama seperti image_style_url (URL yang boleh diakses oleh umum atau data URI berformat base64, .jpg/.jpeg/.png).

  • Name
    ai_model
    Type
    string
    lalai latest
    Description

    ID model AI untuk digunakan bagi retekstur. Nilai-nilai yang ada: meshy-5, meshy-6, meshy-7, latest (Meshy 7).

  • Name
    enable_original_uv
    Type
    boolean
    lalai false
    Description

    Kekalkan susun atur UV model sedia ada dan bukannya menjana yang baru.

    • Jika anda sedang menjalankan retekstur pada model yang dihasilkan oleh Meshy (melalui input_task_id, atau model_url yang menunjuk kepada output Meshy), tetapkan ini kepada true untuk menggunakan kembali susun atur UV yang dioptimumkan.
    • Jika anda sedang menjalankan retekstur pada model pihak ketiga yang anda muat naik, tetapkan true apabila ia sudah mempunyai UV yang baik yang anda mahu simpan, atau biarkan false untuk membiarkan Meshy membongkar UV baru (terbaik untuk model yang kekurangan peta UV yang betul).
  • Name
    enable_pbr
    Type
    boolean
    lalai false
    Description

    Jana Peta PBR (metallic, roughness, normal) sebagai tambahan kepada warna asas. Peta pelepasan juga termasuk apabila ai_model adalah meshy-6, kecuali pada texture_resolution: 8k. meshy-7 dan latest tidak menghasilkan peta pelepasan.

  • Name
    texture_resolution
    Type
    string
    lalai 2k
    Description

    Resolusi tekstur warna asas. Salah satu daripada 2k (2048×2048), 4k (4096×4096), atau 8k (8192×8192). Resolusi yang lebih tinggi menangkap lebih banyak perincian permukaan.

  • Name
    hd_texture
    Type
    boolean
    lapuk
    lalai false
    Description

    Gunakan texture_resolution sebaliknya — setara dengan texture_resolution: "4k". Apabila kedua-duanya ditetapkan, texture_resolution akan diutamakan.

  • Name
    remove_lighting
    Type
    boolean
    lalai true
    Description

    Mengeluarkan sorotan dan bayang daripada tekstur warna asas, menghasilkan keputusan yang lebih bersih yang berfungsi lebih baik di bawah persediaan lampu khusus.

  • Name
    target_formats
    Type
    string[]
    Description

    Menentukan format fail 3D mana yang akan disertakan dalam output. Hanya format yang diminta akan dihasilkan dan dikembalikan, yang boleh mengurangkan masa penyelesaian tugas. Apabila tidak dinyatakan, semua format yang disokong disertakan.

    Nilai yang tersedia: glb, obj, fbx, stl, usdz, 3mf

  • Name
    alpha_thumbnail
    Type
    boolean
    lalai false
    Description

    Apabila ditetapkan kepada true, tugas juga merender versi latar belakang telus (RGBA) dari pratonton dan mengembalikannya sebagai alpha_thumbnail_url pada jawapan GET. Medan thumbnail_url sedia ada tidak berubah.

Pengembalian

Sifat result dari respons mengandungi tugas id dari tugas Retekstur yang baru dicipta.

Mod Kegagalan

  • Name
    400 - Bad Request
    Description

    Permintaan tidak boleh diterima. Punca-punca umum:

    • Parameter kurang: Sama ada model_url atau input_task_id mesti disediakan.
    • Gaya kurang: Salah satu daripada text_style_prompt, image_style_url atau multiview_image_urls mesti disediakan.
    • Input gaya bertentangan: multiview_image_urls tidak boleh digabungkan dengan text_style_prompt atau image_style_url.
    • Model tidak disokong untuk pandangan pelbagai: multiview_image_urls memerlukan ai_model: "meshy-7" (atau latest).
    • Model tidak terdapat: ai_model: "meshy-7" sedang diluncurkan secara bertahap dan belum diaktifkan untuk akaun anda.
    • Tugas input tidak sah: input_task_id mesti merujuk kepada tugas yang berjaya dari model yang disokong.
    • Format model tidak sah: model_url menunjuk kepada fail dengan sambungan yang tidak disokong.
    • URL tidak dapat dicapai: Elemen model_url, image_style_url atau multiview_image_urls tidak dapat dimuat turun.
  • Name
    401 - Unauthorized
    Description

    Pengesahan gagal. Sila periksa kunci API anda.

  • Name
    402 - Payment Required
    Description

    Kredit tidak mencukupi untuk melaksanakan tugas ini.

  • Name
    429 - Too Many Requests
    Description

    Anda telah melebihi had kadar anda.

Permintaan

POST
/openapi/v1/retexture
# Retekstur dengan prompt teks
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
  }'

# Retekstur dengan gaya imej dan 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

Dapatkan Tugas Retekstur

Endpoint ini membolehkan anda mendapatkan tugas Retekstur diberikan id tugas yang sah. Rujuk Objek Tugas Retekstur untuk melihat sifat-sifat yang disertakan dengan objek tugas Retekstur.

Parameter

  • Name
    id
    Type
    path
    Description

    Pengecam unik untuk tugas Retekstur yang hendak diambil.

Pengembalian

Respons mengandungi objek tugas Retekstur. Semak bahagian Objek Tugas Retekstur untuk maklumat lanjut.

Permintaan

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

Padam Tugas Retekstur

Endpoint ini secara kekal memadam satu tugas retekstur, termasuk semua model dan data yang berkaitan. Kegiatan ini tidak boleh diubah.

Parameter Laluan

  • Name
    id
    Type
    path
    Description

    ID tugas retekstur yang hendak dipadamkan.

Pengembalian

Mengembalikan 200 OK pada kejayaan.

Permintaan

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

Senarai Tugas Retekstur

Endpoint ini membolehkan anda mendapatkan senarai tugas Retekstur.

Parameter

  • Name
    page_num
    Type
    integer
    lalai 1
    Description

    Nombor halaman untuk penomboran halaman.

  • Name
    page_size
    Type
    integer
    lalai 10
    Description

    Had saiz halaman. Maksimum yang dibenarkan ialah 50 item.

  • Name
    sort_by
    Type
    string
    Description

    Medan untuk disusun.

    Nilai yang tersedia:

    • +created_at: Susun mengikut masa penciptaan dalam susunan menaik.
    • -created_at: Susun mengikut masa penciptaan dalam susunan menurun.

Pengembalian

Mengembalikan senarai terdenominasi dari Objek Tugas Retekstur.

Permintaan

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

Alirkan Tugas Retekstur

Endpoint ini mengalirkan kemas kini masa nyata untuk tugas Retekstur menggunakan Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Pengecam unik untuk tugas Retekstur untuk dialirkan.

Pengembalian

Mengembalikan aliran Objek Tugas Retekstur sebagai Server-Sent Events.

Untuk tugas PENDING atau IN_PROGRESS, aliran respons hanya akan menyertakan medan progress dan status yang diperlukan.

Permintaan

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
}

Objek Tugas Retekstur

Objek Tugas Retekstur adalah unit kerja yang digunakan oleh Meshy untuk menjana satu tekstur 3D daripada input teks atau imej. Model mempunyai sifat-sifat berikut:

Sifat

  • Name
    id
    Type
    string
    Description

    Pengecam unik untuk tugas. Walaupun kami menggunakan UUID yang boleh disusun K untuk ID tugas sebagai perincian pelaksanaan, anda tidak seharusnya membuat apa-apa anggapan tentang format ID.

  • Name
    type
    Type
    string
    Description

    Jenis tugas Retekstur. Nilai adalah retexture.

  • Name
    model_urls
    Type
    object
    Description

    URL yang boleh dimuat turun ke fail model 3D bertekstur yang dijana oleh Meshy.

    • Name
      glb
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail GLB.

    • Name
      fbx
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail FBX.

    • Name
      obj
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail OBJ.

    • Name
      usdz
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail USDZ.

    • Name
      mtl
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail MTL, dikembalikan bersama eksport OBJ apabila tekstur hadir.

    • Name
      stl
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail STL.

    • Name
      3mf
      Type
      string
      Description

      URL yang boleh dimuat turun ke fail 3MF. Hanya hadir apabila 3mf diminta melalui target_formats.

  • Name
    text_style_prompt
    Type
    string
    Description

    Ini adalah prompt teks yang digunakan untuk mencipta tugas peneksturan.

  • Name
    image_style_url
    Type
    string
    Description

    Ini adalah input imej yang digunakan untuk mencipta tugas peneksturan.

  • Name
    multiview_image_urls
    Type
    string[]
    Description

    URL yang boleh dimuat turun ke imej rujukan pandangan pelbagai yang digunakan untuk mencipta tugas peneksturan. Hanya hadir apabila tugas dibuat dengan multiview_image_urls.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL yang boleh dimuat turun ke imej kecil fail model.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL yang boleh dimuat turun ke versi latar belakang telus (RGBA) thumbnail_url. Hanya hadir apabila tugas dicipta dengan alpha_thumbnail: true dan pratonton telus berjaya dirender; jika tidak, medan ini diabaikan.

  • Name
    progress
    Type
    integer
    Description

    Kemajuan tugas. Jika tugas belum dimulakan, sifat ini akan menjadi 0. Setelah tugas berjaya, ini akan menjadi 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Cap masa apabila tugas dimulakan, dalam milisaat. Jika tugas belum dimulakan, sifat ini akan menjadi 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Cap masa apabila tugas dicipta, dalam milisaat.

  • Name
    expires_at
    Type
    timestamp
    Description

    Cap masa apabila hasil tugas tamat, dalam milisaat.

  • Name
    finished_at
    Type
    timestamp
    Description

    Cap masa apabila tugas selesai, dalam milisaat. Jika tugas belum selesai, sifat ini akan menjadi 0.

  • Name
    status
    Type
    string
    Description

    Status tugas. Nilai yang mungkin adalah salah satu PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    texture_urls
    Type
    array
    Description

    Satu senarai objek URL tekstur yang dijana daripada tugas. Biasanya ini hanya mengandungi satu objek URL tekstur. Setiap URL tekstur mempunyai sifat-sifat berikut:

    • Name
      base_color
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta warna asas.

    • Name
      metallic
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta metalik.

    • Name
      normal
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta normal.

    • Name
      roughness
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta kekasaran.

    • Name
      emission
      Type
      string
      Description

      URL yang boleh dimuat turun ke imej peta pelepasan.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Kira jumlah tugas terdahulu.

  • Name
    task_error
    Type
    object
    Description

    Butiran ralat untuk tugas yang gagal. Lihat Ralat untuk rujukan objek task_error penuh.

  • Name
    consumed_credits
    Type
    integer
    Description

    Jumlah kredit yang dikonsum oleh tugas ini. Hadir apabila status tugas adalah PENDING, IN_PROGRESS, atau SUCCEEDED. Mengembalikan 0 untuk tugas FAILED (kredit dikembalikan semula jika gagal).

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
}