Creative Lab — API Statuina

Trasforma una foto sorgente in una statuina 3D da collezione in stile mattoncino in due fasi: prototipo genera un'immagine concettuale stilizzata dalla tua foto di input, quindi costruzione trasforma quell'immagine concettuale in un modello 3D con texture. Le due fasi sono collegate tramite input_task_id.

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

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

Crea un Task di Prototipo di Statuina

Genera un'immagine concettuale in stile mattoncino a partire dalla foto sorgente. L'ID del task restituito è quello che devi passare come input_task_id all'endpoint di build. Consulta L'Oggetto Task di Prototipo di Statuina per la struttura della risposta.

Parametri

  • Name
    image_url
    Type
    string
    Obbligatorio
    Description

    Foto sorgente che Meshy deve stilizzare come una statuina in mattoncini. 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 codificato in base64 dell'immagine. Esempio di un Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    name
    Type
    string
    Description

    Nome del task opzionale 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 un PNG RGBA trasparente con lo sfondo rimosso, in modo da poter comporre il soggetto su qualsiasi sfondo.

Restituisce

La proprietà result della risposta contiene l'ID del task id del nuovo task di prototipo di statuina. Interroga l'endpoint Ottieni un Task o iscriviti al stream finché il task non raggiunge SUCCEEDED, quindi passa quell'ID all'endpoint di build come input_task_id.

Modalità di Fallimento

  • Name
    400 - Bad Request
    Description

    La richiesta non era accettabile. Cause comuni:

    • Parametro mancante: image_url è richiesto.
    • Formato immagine non valido: L'image_url fornito non è un formato supportato (.jpg, .jpeg, .png, .webp).
    • Dimensioni immagine fuori intervallo: L'immagine è troppo piccola, supera la dimensione massima del file o supera il conteggio massimo di pixel.
    • URL irraggiungibile: L'image_url non può essere scaricato (404 o timeout).
    • Data URI non valido: La stringa base64 è malformata.
    • Contenuto segnalato: L'immagine di input è stata segnalata dalla moderation NSFW.
  • Name
    401 - Unauthorized
    Description

    Autenticazione fallita. Si prega di controllare la tua chiave API.

  • Name
    402 - Payment Required
    Description

    Crediti insufficienti per eseguire questo task.

  • Name
    403 - Forbidden
    Description

    L'immagine di input è stata segnalata per violazione della proprietà intellettuale.

  • Name
    429 - Too Many Requests
    Description

    Hai superato il tuo limite di frequenza.

Richiesta

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

Risposta

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

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

Creare un Task di Costruzione di una Statuina di Mattoni

Genera la statuina di mattoni 3D finale con texture da un task prototipo riuscito. La costruzione esegue la stessa pipeline immagine-in-3D come Immagine in 3D, quindi il formato dell'oggetto di risposta e l'elenco degli URL di output corrispondono esattamente. Fare riferimento a L'oggetto Task di Costruzione della Statuina di Mattoni per la forma della risposta.

Parametri

  • Name
    input_task_id
    Type
    string
    Obbligatorio
    Description

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

    I task prototipo creati tramite l'app web non sono accettati — l'endpoint di costruzione accetta solo task prototipo prodotti da POST /openapi/creative-lab/brick-figure/v1/prototype e rifiuta qualsiasi altra fonte con 404.

  • Name
    name
    Type
    string
    Description

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

Restituisce

La proprietà result della risposta contiene l'id del task del nuovo task di costruzione della statuina di mattoni creato. Interroga l'endpoint Ottieni un Task o iscriviti al flusso fino a quando il task raggiunge SUCCEEDED, quindi scarica il GLB con texture da model_urls.glb (o la coppia OBJ + MTL da model_urls.obj e model_urls.mtl se la tua pipeline a valle preferisce OBJ).

Modalità di Fallimento

  • Name
    400 - Bad Request
    Description

    La richiesta non era accettabile. Cause comuni:

    • Parametro mancante: input_task_id è richiesto.
    • UUID non valido: L'input_task_id non è un UUID valido.
    • Genitore non riuscito: Il task prototipo di riferimento non ha ancora raggiunto SUCCEEDED.
    • Nessun candidato: Il task prototipo è riuscito ma non ha prodotto alcuna immagine candidata.
  • Name
    401 - Unauthorized
    Description

    Autenticazione fallita. Si prega di controllare la tua chiave API.

  • Name
    402 - Payment Required
    Description

    Crediti insufficienti per eseguire questo task.

  • Name
    404 - Not Found
    Description

    Il task prototipo di riferimento non esiste, appartiene a un altro utente o è stato creato tramite l'app web (solo i task prototipo in modalità API si concatenano nella costruzione).

  • Name
    429 - Too Many Requests
    Description

    Hai superato il tuo limite di frequenza.

Request

POST
/openapi/creative-lab/brick-figure/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/brick-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"
}

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

Recupera un compito di Statuina

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

Consulta L'oggetto Compito Prototipo di Statuina e L'oggetto Compito di Costruzione di Statuina per le forme di risposta.

Parametri

  • Name
    id
    Type
    path
    Description

    Identificatore univoco per il compito di statuina da recuperare.

Restituisce

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

Richiesta

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

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

Risposta Prototipo

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-brick-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=***"
  ]
}

Risposta Costruzione

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-brick-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": 30,
  "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/brick-figure/v1/(prototype|build)/:id

Elimina un'attività di statuina di mattoni

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

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

Parametri del Percorso

  • Name
    id
    Type
    path
    Description

    Identificatore univoco per l'attività di statuina di mattoni da annullare.

Restituisce

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

Modalità di Fallimento

  • Name
    400 - Bad Request
    Description

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

  • Name
    404 - Not Found
    Description

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

Richiesta

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

Risposta

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

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

Trasmetti un'attività di Statuina a Mattoncini

Trasmetti aggiornamenti in tempo reale per un'attività di statuina a mattoncini tramite Server-Sent Events (SSE). Il percorso URL deve corrispondere alla fase dell'attività — aprire un flusso su /prototype/:buildId/stream emette un singolo event: error payload con status_code: 404 e chiude il flusso.

Parametri

  • Name
    id
    Type
    path
    Description

    Identificatore univoco per l'attività di statuina a mattoncini da trasmettere.

Restituisce

Restituisce un flusso di oggetti attività Prototipo di Statuina a Mattoncini o Costruzione di Statuina a Mattoncini come Server-Sent Events. Per le attività PENDING o IN_PROGRESS, il flusso di risposta includerà solo i campi necessari progress e status.

Richiesta

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

Flusso di Risposta

// 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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
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-brick-figure-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "task_error": null,
  "consumed_credits": 30,
  "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/brick-figure/v1/(prototype|build)

Elenco delle attività delle statuine di mattoncini

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

Parametri del percorso

  • Name
    stage
    Type
    path
    Obbligatorio
    Description

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

Parametri di query

  • Name
    page_num
    Type
    integer
    predefinito 1
    Description

    Numero di pagina per la paginazione.

  • Name
    page_size
    Type
    integer
    predefinito 10
    Description

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

  • Name
    sort_by
    Type
    string
    predefinito -created_at
    Description

    Campo per l'ordinamento. Valori disponibili:

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

Restituisce

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

Richiesta

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

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

Risposta (Elenco delle attività di prototipo)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-brick-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 di Statuina

L'oggetto Task del Prototipo di Statuina è un'unità di lavoro che Meshy tiene traccia per generare un'immagine concettuale in stile mattoncino da una foto sorgente. L'output di questa fase è collegato alla fase di costruzione tramite input_task_id.

Proprietà

  • Name
    id
    Type
    string
    Description

    Identificatore univoco per il task. Anche se utilizziamo un UUID ordinabile per id dei task come dettaglio di implementazione, non dovresti fare alcuna supposizione sul formato dell'id.

  • Name
    type
    Type
    string
    Description

    Tipo di task. Il valore è creative-lab-brick-figure-prototype.

  • Name
    name
    Type
    string
    Description

    Il nome del task fornito quando il task è stato creato. Stringa vuota se non è stato fornito alcun nome.

  • Name
    status
    Type
    string
    Description

    Stato del task. I valori possibili sono uno di 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 è riuscito, 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 iniziato, questa proprietà sarà null.

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • 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 degli errori per i task falliti. Vedi Errori per il riferimento completo all'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 all'immagine concettuale generati da questo task prototipo. Attualmente l'API restituisce sempre esattamente un candidato; il campo è un array in modo che le revisioni future possano mostrare più candidati senza una modifica dirompente.

Esempio di Oggetto Task del Prototipo di Statuina

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-brick-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 di Costruzione della Statuina di Mattoni

L'oggetto Task di Costruzione della Statuina di Mattoni è un'unità di lavoro che Meshy tiene traccia per generare una statuina di mattoni 3D texturizzata da un task prototipo riuscito. Utilizza la stessa pipeline immagine-in-3D usata da Immagine in 3D, quindi i campi di output rispecchiano l'oggetto task di quell'endpoint.

Proprietà

  • Name
    id
    Type
    string
    Description

    Identificatore univoco per il task.

  • Name
    type
    Type
    string
    Description

    Tipo di task. Il valore è creative-lab-brick-figure-build.

  • Name
    name
    Type
    string
    Description

    Il nome del task fornito quando il task è stato creato. Stringa vuota se non è stato fornito alcun nome.

  • Name
    status
    Type
    string
    Description

    Stato del task. I valori possibili sono uno di 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 è riuscito, 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 stato è PENDING.

  • Name
    task_error
    Type
    object
    Description

    Dettagli degli errori per i task falliti. Vedi Errori per il riferimento completo all'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 la costruzione della statuina di mattoni. Presente per la compatibilità tra endpoint con la forma condivisa V2ImageTo3DTaskResponse usata da Immagine in 3D.

  • Name
    negative_prompt
    Type
    string
    Description

    Sempre vuoto per la costruzione della statuina di mattoni. Presente per la compatibilità tra endpoint.

  • Name
    texture_prompt
    Type
    string
    Description

    Sempre vuoto per la costruzione della statuina di mattoni. Presente per la compatibilità tra endpoint.

  • Name
    texture_image_url
    Type
    string
    Description

    Sempre vuoto per la costruzione della statuina di mattoni. Presente per la compatibilità tra endpoint.

  • Name
    model_urls
    Type
    object
    Description

    URL scaricabili per il modello 3D generato. La costruzione della statuina di mattoni emette un GLB texturizzato più la coppia OBJ + MTL per pipeline che preferiscono Wavefront OBJ. La forma del campo corrisponde all'oggetto model_urls Immagine in 3D in modo che le aggiunte di formato future si inseriscano senza un cambiamento radicale.

    • Name
      glb
      Type
      string
      Description

      URL scaricabile per il file GLB texturizzato.

    • 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 compagno dell'OBJ. Abbina con obj e l'elemento da 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 di 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.

Esempio di Oggetto Task di Costruzione della Statuina di Mattoni

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-brick-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": 30,
  "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=***"
    }
  ]
}