lowpoly avvecklas den 30 okt. 2026. Byt modell före dessa datum för att undvika fel i förfrågningar.

Creative Lab — Brick Figure API

Förvandla ett källfoto till en samlarfigur i 3D med brick-stil i två steg: prototype genererar en stiliserad konceptbild utifrån din inmatade bild, och sedan build omvandlar den konceptbilden till en texturerad 3D-modell. De två stegen länkas ihop via 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

Skapa en figur-prototyp-uppgift (Brick Figure)

Generera en enda konceptbild i tegelstensstil från källfotot. Det returnerade uppgifts-ID:t är det du skickar som input_task_id till build-endpointen. Se The Brick Figure Prototype Task Object för svarets struktur.

Parametrar

  • Name
    image_url
    Type
    string
    Obligatorisk
    Description

    Källfoto som Meshy ska stilisera som en tegelstensfigur (minifigure). Vi stöder för närvarande formaten .jpg, .jpeg, .png och .webp.

    Maximal filstorlek: 20 MB.

    Det finns två sätt att tillhandahålla bilden:

    • Offentligt tillgänglig URL: En URL som är tillgänglig från det publika internet.
    • Data URI: En base64-kodad data-URI av bilden. Exempel på en data-URI: data:image/jpeg;base64,<din base64-kodade bilddata>.
  • Name
    name
    Type
    string
    Description

    Valfritt uppgiftsnamn för visningsändamål. Maximalt 100 tecken.

  • Name
    remove_background
    Type
    boolean
    standard false
    Description

    När detta sätts till true returneras prototypbilden som en transparent RGBA-PNG med bakgrunden borttagen, så att du kan sammanfoga motivet mot valfri bakgrund.

Returnerar

Svarets egenskap result innehåller uppgifts-id för den nyligen skapade figur-prototyp-uppgiften. Fråga Get a Task-endpointen eller prenumerera på stream tills uppgiften når SUCCEEDED, och skicka sedan det ID:t till build-endpointen som input_task_id.

Felscenarier

  • Name
    400 - Bad Request
    Description

    Begäran var inte godtagbar. Vanliga orsaker:

    • Saknad parameter: image_url krävs.
    • Ogiltigt bildformat: Den angivna image_url har inte ett format som stöds (.jpg, .jpeg, .png, .webp).
    • Bilddimensioner utanför tillåtet intervall: Bilden är för liten, överskrider den maximala filstorleken eller överskrider det maximala antalet pixlar.
    • Onåbar URL: image_url kunde inte laddas ner (404 eller timeout).
    • Ogiltig Data URI: Base64-strängen är felaktigt formaterad.
    • Innehåll flaggat: Inmatningsbilden flaggades av NSFW-moderation.
  • Name
    401 - Unauthorized
    Description

    Autentisering misslyckades. Kontrollera din API-nyckel.

  • Name
    402 - Payment Required
    Description

    Otillräckligt med credits för att utföra denna uppgift.

  • Name
    403 - Forbidden
    Description

    Inmatningsbilden flaggades för intrång i immateriella rättigheter.

  • Name
    429 - Too Many Requests
    Description

    Du har överskridit din hastighetsgräns.

Request

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

Response

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

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

Skapa en byggnadsuppgift för klosskaraktärer

Genererar den slutliga texturerade 3D-klosskaraktären från en lyckad prototyp-uppgift. Byggnadsprocessen kör samma bild-till-3D-pipeline som Bild till 3D, så svarsobjektets format och listan över output-URL:er matchar exakt. Se Objektet för byggnadsuppgift för klosskaraktärer för svarets struktur.

Parametrar

  • Name
    input_task_id
    Type
    string
    Obligatorisk
    Description

    Uppgifts-ID för en prototyp-uppgift skapad via samma OpenAPI-endpoint. Prototypen måste ha skapats med samma API-nyckel, måste ha nått SUCCEEDED, och måste ha producerat exakt en kandidatbild.

    Prototyp-uppgifter skapade via webbappen accepteras inte — build-endpointen accepterar endast prototyp-uppgifter som producerats av POST /openapi/creative-lab/brick-figure/v1/prototype och avvisar alla andra källor med 404.

  • Name
    name
    Type
    string
    Description

    Valfritt uppgiftsnamn för visningsändamål. Maximalt 100 tecken.

Returer

Egenskapen result i svaret innehåller id för den nyskapade byggnadsuppgiften för klosskaraktären. Fråga Hämta en uppgift-endpointen eller prenumerera på strömmen tills uppgiften når SUCCEEDED, och ladda sedan ner den texturerade GLB-filen från model_urls.glb (eller OBJ + MTL-paret från model_urls.obj och model_urls.mtl om din nedströmspipeline föredrar OBJ).

Felmodes

  • Name
    400 - Bad Request
    Description

    Begäran kunde inte godtas. Vanliga orsaker:

    • Saknad parameter: input_task_id krävs.
    • Ogiltig UUID: input_task_id är inte en giltig UUID.
    • Överordnad har inte lyckats: Den refererade prototyp-uppgiften har ännu inte nått SUCCEEDED.
    • Ingen kandidat: Prototyp-uppgiften lyckades men producerade ingen kandidatbild.
  • Name
    401 - Unauthorized
    Description

    Autentiseringen misslyckades. Kontrollera din API-nyckel.

  • Name
    402 - Payment Required
    Description

    Otillräckliga credits för att utföra denna uppgift.

  • Name
    404 - Not Found
    Description

    Den refererade prototyp-uppgiften finns inte, tillhör en annan användare eller skapades via webbappen (endast prototyp-uppgifter i API-mode kan kedjas till en byggnadsuppgift).

  • Name
    429 - Too Many Requests
    Description

    Du har överskridit din hastighetsgräns.

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

Hämta en Brick Figure-uppgift

Hämta en prototyp- eller byggnadsuppgift givet ett giltigt uppgifts-id. URL-sökvägen måste matcha uppgiftens steg — en byggnadsuppgift som hämtas via /prototype/:id returnerar 404, och vice versa.

Se Brick Figure-prototypuppgiftsobjektet och Brick Figure-byggnadsuppgiftsobjektet för svarens format.

Parametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för brick figure-uppgiften som ska hämtas.

Retur

Svaret innehåller brick figure-uppgiftsobjektet. Formatet beror på vilket steg som begärdes.

Request

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

Prototype Response

{
  "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=***"
  ]
}

Build Response

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

Ta bort en Brick Figure-uppgift

Avbryt en brick figure-uppgift. Om uppgiften fortfarande är PENDING återbetalas de credits som förbrukades vid skapandet. Uppgifter som redan är IN_PROGRESS avbryts utan återbetalning (arbetaren kan redan hålla på att förbruka resurser). Uppgifter som redan har nått ett slutgiltigt tillstånd (SUCCEEDED, FAILED, CANCELED) kan inte avbrytas.

URL-sökvägen måste matcha uppgiftens fas — DELETE på /prototype/:buildId returnerar 404.

Sökvägsparametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för den brick figure-uppgift som ska avbrytas.

Returer

Returnerar 204 No Content vid lyckad begäran med en tom body.

Felscenarier

  • Name
    400 - Bad Request
    Description

    Uppgiften befinner sig redan i ett slutgiltigt tillstånd och kan inte avbrytas.

  • Name
    404 - Not Found
    Description

    Uppgiften finns inte, tillhör en annan användare, eller dess fas matchar inte URL-sökvägen.

Request

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

Response

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

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

Streama en Brick Figure-uppgift

Streama uppdateringar i realtid för en brick figure-uppgift via Server-Sent Events (SSE). URL-sökvägen måste matcha uppgiftens steg — att öppna en ström vid /prototype/:buildId/stream genererar en enda event: error-payload med status_code: 404 och stänger sedan strömmen.

Parametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för den brick figure-uppgift som ska streamas.

Returer

Returnerar en ström av Brick Figure Prototype- eller Brick Figure Build-uppgiftsobjekt som Server-Sent Events. Varje frame innehåller hela uppgiftsobjektet för steget — samma form som Get-endpointen returnerar — så medan uppgiften är PENDING eller IN_PROGRESS är utdatafälten helt enkelt ännu inte ifyllda (null, [] eller {}) och finished_at är null.

Request

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

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-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)

List Brick Figure Tasks

Hämta en paginerad lista över dina brick figure-uppgifter för ett enda steg. URL-sökvägen väljer steget — /prototype returnerar prototyp-uppgifter; /build returnerar build-uppgifter. Uppgifter från det andra steget ingår inte i något av svaren.

Sökvägsparametrar

  • Name
    stage
    Type
    path
    Obligatorisk
    Description

    Antingen prototype eller build. Samlingen returnerar endast uppgifter vars steg matchar URL:en — att hämta /prototype returnerar aldrig build-uppgifter och vice versa.

Frågeparametrar

  • Name
    page_num
    Type
    integer
    standard 1
    Description

    Sidnummer för paginering.

  • Name
    page_size
    Type
    integer
    standard 10
    Description

    Sidstorleksgräns. Maximalt tillåtet är 100 objekt.

  • Name
    sort_by
    Type
    string
    standard -created_at
    Description

    Fält att sortera efter. Tillgängliga värden:

    • +created_at: Sortera efter skapelsetid i stigande ordning.
    • -created_at: Sortera efter skapelsetid i fallande ordning.

Returer

Returnerar en paginerad lista över uppgiftsobjektet för respektive steg — antingen brick figure-prototypuppgiftens objekt vid listning av /prototype eller brick figure-builduppgiftens objekt vid listning av /build.

Request

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

Response (List Prototype Tasks)

[
  {
    "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=***"
    ]
  }
]

Objektet Brick Figure Prototype Task

Objektet Brick Figure Prototype Task är en arbetsenhet som Meshy håller reda på för att generera en konceptbild i tegelstensstil från en källbild. Resultatet av detta steg kedjas vidare till byggsteget via input_task_id.

Egenskaper

  • Name
    id
    Type
    string
    Description

    Unik identifierare för uppgiften. Även om vi använder en k-sorterbar UUID för uppgifts-id som implementationsdetalj bör du inte göra några antaganden om id:ts format.

  • Name
    type
    Type
    string
    Description

    Uppgiftens typ. Värdet är creative-lab-brick-figure-prototype.

  • Name
    name
    Type
    string
    Description

    Uppgiftens namn som angavs när uppgiften skapades. Tom sträng om inget namn angavs.

  • Name
    status
    Type
    string
    Description

    Uppgiftens status. Möjliga värden är ett av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Uppgiftens progress. Om uppgiften ännu inte har startat är denna egenskap 0. När uppgiften har lyckats blir den 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften skapades, i millisekunder.

  • Name
    started_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften startades, i millisekunder. Om uppgiften ännu inte har startat är denna egenskap null.

  • Name
    finished_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften ännu inte är avslutad är denna egenskap null.

  • Name
    expires_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiftens resultat upphör att gälla, i millisekunder.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Antalet föregående uppgifter.

  • Name
    task_error
    Type
    object
    Description

    Feldetaljer för misslyckade uppgifter. Se Fel för den fullständiga referensen för objektet task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Antalet credits som förbrukats av denna uppgift. Finns när uppgiftens status är PENDING, IN_PROGRESS eller SUCCEEDED. Returnerar 0 för FAILED-uppgifter (credits återbetalas vid misslyckande).

  • Name
    image_urls
    Type
    array of strings
    Description

    Nedladdningsbara URL:er för de konceptbildskandidater som genererats av denna prototyp-uppgift. För närvarande returnerar API:et alltid exakt en kandidat; fältet är en array så att framtida revisioner kan tillhandahålla flera kandidater utan en brytande ändring.

Example Brick Figure Prototype Task Object

{
  "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=***"
  ]
}

The Brick Figure Build Task Object

The Brick Figure Build Task-objektet är en arbetsenhet som Meshy håller reda på för att generera en texturerad 3D-figur av byggklossar från en lyckad prototyp-uppgift. Den kör samma image-to-3D-pipeline som används av Bild till 3D, så utdatafälten speglar den endpointens task-objekt.

Egenskaper

  • Name
    id
    Type
    string
    Description

    Unik identifierare för uppgiften.

  • Name
    type
    Type
    string
    Description

    Typ av uppgift. Värdet är creative-lab-brick-figure-build.

  • Name
    name
    Type
    string
    Description

    Uppgiftens namn som angavs när uppgiften skapades. Tom sträng om inget namn angavs.

  • Name
    status
    Type
    string
    Description

    Uppgiftens status. Möjliga värden är ett av PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Uppgiftens progress. Om uppgiften inte har startat ännu kommer denna egenskap att vara 0. När uppgiften har lyckats blir den 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften skapades, i millisekunder.

  • Name
    started_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften startades, i millisekunder.

  • Name
    finished_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiften avslutades, i millisekunder.

  • Name
    expires_at
    Type
    timestamp
    Description

    Tidsstämpel för när uppgiftens resultat upphör att gälla, i millisekunder.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Antalet föregående uppgifter. Meningsfullt endast när status är PENDING.

  • Name
    task_error
    Type
    object
    Description

    Felinformation för misslyckade uppgifter. Se Fel för den fullständiga referensen till task_error-objektet.

  • Name
    consumed_credits
    Type
    integer
    Description

    Antalet credits som förbrukats av denna uppgift. Returnerar 0 för FAILED-uppgifter (credits återbetalas vid misslyckande).

  • Name
    prompt
    Type
    string
    Description

    Alltid tom för brick figure build. Finns för kompatibilitet mellan endpoints med den delade V2ImageTo3DTaskResponse-formen som används av Bild till 3D.

  • Name
    negative_prompt
    Type
    string
    Description

    Alltid tom för brick figure build. Finns för kompatibilitet mellan endpoints.

  • Name
    texture_prompt
    Type
    string
    Description

    Alltid tom för brick figure build. Finns för kompatibilitet mellan endpoints.

  • Name
    texture_image_url
    Type
    string
    Description

    Alltid tom för brick figure build. Finns för kompatibilitet mellan endpoints.

  • Name
    model_urls
    Type
    object
    Description

    Nedladdningsbara URL:er för den genererade 3D-modellen. Brick figure build genererar en texturerad GLB samt OBJ + MTL-paret för pipelines som föredrar Wavefront OBJ. Fältets form matchar Image to 3D model_urls-objektet så att framtida formattillägg passar in utan en brytande förändring.

    • Name
      glb
      Type
      string
      Description

      Nedladdningsbar URL till den texturerade GLB-filen.

    • Name
      obj
      Type
      string
      Description

      Nedladdningsbar URL till Wavefront OBJ-filen (geometri + UV).

    • Name
      mtl
      Type
      string
      Description

      Nedladdningsbar URL till OBJ-filens tillhörande MTL-materialfil. Para ihop med obj och posten från texture_urls[0].base_color.

  • Name
    thumbnail_url
    Type
    string
    Description

    Nedladdningsbar URL till miniatyrbilden för modellfilen.

  • Name
    texture_urls
    Type
    array
    Description

    En array med textur-URL-objekt som genererats av denna uppgift. Innehåller för närvarande ett enda objekt med baskarga (base color map).

    • Name
      base_color
      Type
      string
      Description

      Nedladdningsbar URL till baskarge-bilden (base color map).

Example Brick Figure Build Task Object

{
  "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=***"
    }
  ]
}