Creative Lab — API Statuina

Trasforma una foto sorgente in una statuina 3D da collezione in stile chibi in due fasi: prototype genera un'immagine concettuale stilizzata a partire dalla foto in ingresso, poi build trasforma quell'immagine concettuale in un modello 3D texturizzato. Le due fasi sono collegate tramite input_task_id.

  • POST /openapi/creative-lab/figure/v1/prototype
  • POST /openapi/creative-lab/figure/v1/build

POST/openapi/creative-lab/figure/v1/prototype

Crea un Task di Prototipo Figure

Genera una singola immagine concettuale in stile chibi a partire dalla foto originale. L'ID del task restituito è ciò che passi come input_task_id all'endpoint build. Consulta The Figure Prototype Task Object per la forma della risposta.

Parametri

  • Name
    image_url
    Type
    string
    Obbligatorio
    Description

    Foto originale che Meshy stilizzerà come statuina chibi. Attualmente supportiamo i formati .jpg, .jpeg, .png e .webp.

    Ci sono due modi per fornire l'immagine:

    • URL pubblicamente accessibile: Un URL accessibile da internet pubblico.
    • Data URI: Un data URI dell'immagine codificato in base64. Esempio di data URI: data:image/jpeg;base64,<i tuoi dati immagine codificati in base64>.
  • Name
    name
    Type
    string
    Description

    Nome opzionale del task per scopi di visualizzazione. Massimo 100 caratteri.

  • Name
    remove_background
    Type
    boolean
    predefinito false
    Description

    Quando impostato su true, l'immagine prototipo viene restituita come PNG RGBA trasparente con lo sfondo rimosso, così puoi comporre il soggetto su qualsiasi sfondo.

Restituisce

La proprietà result della risposta contiene l'id del task del task di prototipo figure appena creato. Effettua il polling dell'endpoint Get a Task oppure sottoscrivi lo stream finché il task raggiunge SUCCEEDED, quindi passa quell'ID all'endpoint build come input_task_id.

Modalità di Fallimento

  • Name
    400 - Bad Request
    Description

    La richiesta non è stata accettata. Cause comuni:

    • Parametro mancante: image_url è obbligatorio.
    • Formato immagine non valido: L'image_url fornito non è in un formato supportato (.jpg, .jpeg, .png, .webp).
    • Dimensioni immagine fuori intervallo: L'immagine è troppo piccola, supera la dimensione massima del file, oppure supera il numero massimo di pixel.
    • URL non raggiungibile: L'image_url non è stato possibile scaricarlo (404 o timeout).
    • Data URI non valido: La stringa base64 è malformata.
    • Contenuto segnalato: L'immagine di input è stata segnalata dalla moderation NSFW o per proprietà intellettuale.
  • Name
    401 - Unauthorized
    Description

    L'autenticazione non è riuscita. Controlla la tua chiave API.

  • Name
    402 - Payment Required
    Description

    Crediti insufficienti per eseguire questo task.

  • Name
    429 - Too Many Requests
    Description

    Hai superato il tuo limite di frequenza.

Request

POST
/openapi/creative-lab/figure/v1/prototype
# Stage 1: generate a chibi-style concept image
curl https://api.meshy.ai/openapi/creative-lab/figure/v1/prototype \
  -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>"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Esempio di prototipo
Inizia con un ritratto originale, poi genera l'immagine prototipo usata dalla fase di build.
Ritratto originale usato come input della Figure di Creative Lab
Input del prototipo
Immagine prototipo della statuina in stile chibi generata dalla foto originale
Output del prototipo

POST/openapi/creative-lab/figure/v1/build

Crea un'attività di build della statuina

Genera la statuina 3D texturizzata finale a partire da un'attività prototipo completata con successo. La build esegue la stessa pipeline immagine-in-3D di Immagine in 3D, quindi il formato dell'oggetto di risposta e l'elenco degli URL di output corrispondono esattamente. Fai riferimento a L'oggetto Figure Build Task per la forma della risposta.

Parametri

  • Name
    input_task_id
    Type
    string
    Obbligatorio
    Description

    L'ID dell'attività di un'attività prototipo creata tramite questo stesso endpoint OpenAPI. Il prototipo deve essere stato creato con la stessa chiave API, deve aver raggiunto lo stato SUCCEEDED e deve aver prodotto esattamente un'immagine candidata.

    Le attività prototipo create tramite la webapp non sono accettate: l'endpoint di build accetta solo attività prototipo prodotte da POST /openapi/creative-lab/figure/v1/prototype e rifiuta qualsiasi altra origine con 404.

  • Name
    name
    Type
    string
    Description

    Nome facoltativo dell'attività per scopi di visualizzazione. Massimo 100 caratteri.

Valori restituiti

La proprietà result della risposta contiene l'id dell'attività della statuina appena creata. Esegui il polling dell'endpoint Get a Task o iscriviti allo stream finché l'attività non raggiunge lo stato SUCCEEDED, quindi scarica il GLB texturizzato da model_urls.glb (oppure la coppia OBJ + MTL da model_urls.obj e model_urls.mtl se la tua pipeline a valle preferisce OBJ).

Modalità di errore

  • Name
    400 - Bad Request
    Description

    La richiesta non era accettabile. Cause comuni:

    • Parametro mancante: input_task_id è obbligatorio.
    • UUID non valido: input_task_id non è un UUID valido.
    • Task padre non completato: l'attività prototipo referenziata non ha ancora raggiunto lo stato SUCCEEDED.
    • Nessun candidato: l'attività prototipo è stata completata con successo ma non ha prodotto alcuna immagine candidata.
  • Name
    401 - Unauthorized
    Description

    Autenticazione non riuscita. Controlla la tua chiave API.

  • Name
    402 - Payment Required
    Description

    Crediti insufficienti per eseguire questa attività.

  • Name
    404 - Not Found
    Description

    L'attività prototipo referenziata non esiste, appartiene a un utente diverso o è stata creata tramite la webapp (solo le attività prototipo in modalità API possono essere concatenate a una build).

  • Name
    429 - Too Many Requests
    Description

    Hai superato il tuo limite di frequenza.

Request

POST
/openapi/creative-lab/figure/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/figure/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Esempio di build
L'attività di build trasforma l'immagine prototipo selezionata in un modello 3D texturizzato scaricabile.
Anteprima del modello di build della statuina Creative Lab
Anteprima del modello di build

GET/openapi/creative-lab/figure/v1/(prototype|build)/:id

Recuperare un task di statuina

Recupera un task di prototipo o di build dato un id di task valido. Il percorso URL deve corrispondere alla fase del task — un task di build recuperato tramite /prototype/:id restituisce 404, e viceversa.

Fai riferimento a The Figure Prototype Task Object e The Figure Build Task Object per le forme delle risposte.

Parametri

  • Name
    id
    Type
    path
    Description

    Identificatore univoco del task di statuina da recuperare.

Restituisce

La risposta contiene l'oggetto del task di statuina. La forma dipende da quale fase è stata richiesta.

Request

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

# Build
curl https://api.meshy.ai/openapi/creative-lab/figure/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-figure-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-figure-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 20,
  "prompt": "",
  "negative_prompt": "",
  "texture_prompt": "",
  "texture_image_url": "",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.mtl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/preview.png?Expires=***",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/texture_0.png?Expires=***"
    }
  ]
}

DELETE/openapi/creative-lab/figure/v1/(prototype|build)/:id

Elimina un'attività Figure

Annulla un'attività di tipo statuina. Se l'attività è ancora in stato PENDING, i crediti consumati al momento della creazione vengono rimborsati. Le attività già IN_PROGRESS vengono annullate senza rimborso (il worker potrebbe già essere impegnato a consumare risorse). Le attività che hanno già raggiunto uno stato terminale (SUCCEEDED, FAILED, CANCELED) non possono essere annullate.

Il percorso dell'URL deve corrispondere alla fase dell'attività — DELETE su /prototype/:buildId restituisce 404.

Parametri del percorso

  • Name
    id
    Type
    path
    Description

    Identificatore univoco dell'attività di tipo statuina da annullare.

Valori restituiti

Restituisce 204 No Content in caso di successo con un corpo vuoto.

Modalità di errore

  • Name
    400 - Bad Request
    Description

    L'attività si trova già in uno stato terminale e non può essere annullata.

  • Name
    404 - Not Found
    Description

    L'attività non esiste, appartiene a un altro utente, oppure la sua fase non corrisponde al percorso dell'URL.

Request

DELETE
/openapi/creative-lab/figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/figure/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 204 No Content on success (empty body).

GET/openapi/creative-lab/figure/v1/(prototype|build)/:id/stream

Stream a Figure Task

Riceve in streaming gli aggiornamenti in tempo reale di un task di statuina tramite Server-Sent Events (SSE). Il percorso dell'URL deve corrispondere alla fase del task: aprire uno stream su /prototype/:buildId/stream emette un unico event: error payload con status_code: 404 e chiude lo stream.

Parametri

  • Name
    id
    Type
    path
    Description

    Identificatore univoco del task di statuina da cui ricevere lo stream.

Restituisce

Restituisce uno stream di oggetti task Figure Prototype o Figure Build come Server-Sent Events. Ogni frame contiene l'oggetto task completo per la fase corrente — la stessa struttura restituita dall' endpoint Get — quindi, mentre il task è PENDING o IN_PROGRESS, i campi di output semplicemente non sono ancora popolati (null, [] o {}) e finished_at è null.

Request

GET
/openapi/creative-lab/figure/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/figure/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (wrong stage or task not found)
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-figure-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "task_error": null,
  "consumed_credits": 20,
  "prompt": "",
  "negative_prompt": "",
  "texture_prompt": "",
  "texture_image_url": "",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.mtl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/preview.png?Expires=***",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/texture_0.png?Expires=***"
    }
  ]
}

GET/openapi/creative-lab/figure/v1/(prototype|build)

Elenca attività statuina

Recupera un elenco paginato delle tue attività statuina per una singola fase. Il percorso URL seleziona la fase — /prototype restituisce le attività di prototipo; /build restituisce le attività di build. Le attività dell'altra fase non sono incluse in nessuna delle due risposte.

Parametri del percorso

  • Name
    stage
    Type
    path
    Obbligatorio
    Description

    prototype o build. La raccolta restituisce solo le attività la cui fase corrisponde all'URL — recuperare /prototype non restituisce mai attività di build e viceversa.

Parametri della query

  • Name
    page_num
    Type
    integer
    predefinito 1
    Description

    Numero di pagina per la paginazione.

  • Name
    page_size
    Type
    integer
    predefinito 10
    Description

    Limite della dimensione della pagina. Il massimo consentito è 100 elementi.

  • Name
    sort_by
    Type
    string
    predefinito -created_at
    Description

    Campo per l'ordinamento. Valori disponibili:

    • +created_at: Ordina per data di creazione in ordine crescente.
    • -created_at: Ordina per data di creazione in ordine decrescente.

Restituisce

Restituisce un elenco paginato dell'oggetto attività specifico per fase — o l'oggetto attività di prototipo statuina quando si elenca /prototype oppure l'oggetto attività di build statuina quando si elenca /build.

Request

GET
/openapi/creative-lab/figure/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/figure/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/figure/v1/build?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-figure-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123486000,
    "expires_at": 1729382686000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 6,
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

L'oggetto Task del Prototipo statuina

L'oggetto Task del Prototipo statuina è un'unità di lavoro che Meshy tiene traccia per generare un'immagine concept in stile chibi a partire da una foto sorgente. L'output di questa fase viene concatenato con la fase di build tramite input_task_id.

Proprietà

  • Name
    id
    Type
    string
    Description

    Identificatore univoco del task. Sebbene per gli id dei task utilizziamo un UUID k-sortable come dettaglio implementativo, non dovresti fare alcuna assunzione sul formato dell'id.

  • Name
    type
    Type
    string
    Description

    Tipo del task. Il valore è creative-lab-figure-prototype.

  • Name
    name
    Type
    string
    Description

    Il nome del task fornito al momento della creazione. Stringa vuota se non è stato fornito alcun nome.

  • Name
    status
    Type
    string
    Description

    Stato del task. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Avanzamento del task. Se il task non è ancora iniziato, questa proprietà sarà 0. Una volta che il task è andato a buon fine, diventerà 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato creato, in millisecondi.

  • Name
    started_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato avviato, in millisecondi. Se il task non è ancora stato avviato, questa proprietà sarà 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato completato, in millisecondi. Se il task non è ancora stato completato, questa proprietà sarà 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Timestamp di quando il risultato del task scade, in millisecondi.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Il conteggio dei task precedenti.

  • Name
    task_error
    Type
    object
    Description

    Dettagli dell'errore per i task falliti. Consulta Errori per il riferimento completo dell'oggetto task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Il numero di crediti consumati da questo task. Presente quando lo stato del task è PENDING, IN_PROGRESS o SUCCEEDED. Restituisce 0 per i task FAILED (i crediti vengono rimborsati in caso di fallimento).

  • Name
    image_urls
    Type
    array of strings
    Description

    URL scaricabili per i candidati dell'immagine concept generati da questo task di prototipazione. Attualmente l'API restituisce sempre esattamente un candidato; il campo è un array in modo che revisioni future possano fornire più candidati senza introdurre un breaking change.

Example Figure Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-figure-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

The Figure Build Task Object

L'oggetto Figure Build Task è un'unità di lavoro che Meshy tiene traccia per generare una statuina 3D con texture a partire da un task prototipo riuscito con successo. Esegue la stessa pipeline da immagine a 3D utilizzata da Immagine in 3D, quindi i campi di output rispecchiano l'oggetto task di quell'endpoint.

Proprietà

  • Name
    id
    Type
    string
    Description

    Identificatore univoco del task.

  • Name
    type
    Type
    string
    Description

    Tipo del task. Il valore è creative-lab-figure-build.

  • Name
    name
    Type
    string
    Description

    Il nome del task fornito al momento della creazione. Stringa vuota se non è stato fornito alcun nome.

  • Name
    status
    Type
    string
    Description

    Stato del task. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progresso del task. Se il task non è ancora iniziato, questa proprietà sarà 0. Una volta che il task ha avuto successo, diventerà 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato creato, in millisecondi.

  • Name
    started_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato avviato, in millisecondi.

  • Name
    finished_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato completato, in millisecondi.

  • Name
    expires_at
    Type
    timestamp
    Description

    Timestamp di quando il risultato del task scade, in millisecondi.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Il conteggio dei task precedenti. Significativo solo quando lo status è PENDING.

  • Name
    task_error
    Type
    object
    Description

    Dettagli dell'errore per i task falliti. Consulta Errori per il riferimento completo dell'oggetto task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Il numero di crediti consumati da questo task. Restituisce 0 per i task FAILED (i crediti vengono rimborsati in caso di fallimento).

  • Name
    prompt
    Type
    string
    Description

    Sempre vuoto per il figure build. Presente per compatibilità cross-endpoint con la struttura condivisa V2ImageTo3DTaskResponse utilizzata da Immagine in 3D.

  • Name
    negative_prompt
    Type
    string
    Description

    Sempre vuoto per il figure build. Presente per compatibilità cross-endpoint.

  • Name
    texture_prompt
    Type
    string
    Description

    Sempre vuoto per il figure build. Presente per compatibilità cross-endpoint.

  • Name
    texture_image_url
    Type
    string
    Description

    Sempre vuoto per il figure build. Presente per compatibilità cross-endpoint.

  • Name
    model_urls
    Type
    object
    Description

    URL scaricabili per il modello 3D generato. Il figure build produce un GLB con texture più la coppia OBJ + MTL per le pipeline che preferiscono il Wavefront OBJ. La forma del campo corrisponde all'oggetto model_urls di Immagine in 3D, in modo che future aggiunte di formati si integrino senza modifiche incompatibili.

    • Name
      glb
      Type
      string
      Description

      URL scaricabile per il file GLB con texture.

    • Name
      obj
      Type
      string
      Description

      URL scaricabile per il file Wavefront OBJ (geometria + UV).

    • Name
      mtl
      Type
      string
      Description

      URL scaricabile per il file materiale MTL associato all'OBJ. Da abbinare a obj e alla voce di texture_urls[0].base_color.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL scaricabile per l'immagine miniatura del file del modello.

  • Name
    texture_urls
    Type
    array
    Description

    Un array di oggetti URL delle texture generati da questo task. Attualmente contiene un singolo oggetto con la mappa del colore base.

    • Name
      base_color
      Type
      string
      Description

      URL scaricabile per l'immagine della mappa del colore base.

Example Figure Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-figure-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 20,
  "prompt": "",
  "negative_prompt": "",
  "texture_prompt": "",
  "texture_image_url": "",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.mtl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/preview.png?Expires=***",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/texture_0.png?Expires=***"
    }
  ]
}