Creative Lab — API de figura

Transforme uma fotografia de origem numa figura 3D colecionável em estilo chibi em duas fases: protótipo gera uma imagem conceptual estilizada a partir da sua fotografia de entrada e, em seguida, construção transforma essa imagem conceptual num modelo 3D com mapas de textura. As duas fases estão ligadas através de input_task_id.

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

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

Criar uma tarefa de protótipo de figura

Gere uma única imagem conceptual em estilo chibi a partir da fotografia de origem. O ID da tarefa devolvido é o que passa como input_task_id para o endpoint de build. Consulte O objeto de tarefa de protótipo de figura para a estrutura da resposta.

Parâmetros

  • Name
    image_url
    Type
    string
    Obrigatório
    Description

    Fotografia de origem para a Meshy estilizar como uma figura chibi. Atualmente suportamos os formatos .jpg, .jpeg, .png e .webp.

    Existem duas formas de fornecer a imagem:

    • URL acessível publicamente: Um URL acessível a partir da internet pública.
    • Data URI: Um Data URI codificado em base64 da imagem. Exemplo de um Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
  • Name
    name
    Type
    string
    Description

    Nome opcional da tarefa para fins de apresentação. Máximo de 100 caracteres.

Devoluções

A propriedade result da resposta contém o id da tarefa da tarefa de protótipo de figura recém-criada. Faça polling ao endpoint Obter uma tarefa ou subscreva o stream até a tarefa atingir SUCCEEDED; em seguida, passe esse ID para o endpoint de build como input_task_id.

Modos de falha

  • Name
    400 - Bad Request
    Description

    O pedido não foi aceitável. Causas comuns:

    • Parâmetro em falta: image_url é obrigatório.
    • Formato de imagem inválido: O image_url fornecido não está num formato suportado (.jpg, .jpeg, .png, .webp).
    • Dimensões da imagem fora do intervalo: A imagem é demasiado pequena, excede o tamanho máximo de ficheiro ou excede a contagem máxima de píxeis.
    • URL inacessível: Não foi possível transferir o image_url (404 ou timeout).
    • Data URI inválido: A string base64 está malformada.
    • Conteúdo sinalizado: A imagem de entrada foi sinalizada por moderation de NSFW ou propriedade intelectual.
  • Name
    401 - Unauthorized
    Description

    A autenticação falhou. Verifique a sua chave de API.

  • Name
    402 - Payment Required
    Description

    Créditos insuficientes para executar esta tarefa.

  • Name
    429 - Too Many Requests
    Description

    Excedeu o seu limite de taxa.

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"
}
Prototype example
Start with a source portrait, then generate the prototype image used by the build stage.
Retrato de origem usado como entrada de figura do Creative Lab
Prototype input
Imagem de protótipo de figura em estilo chibi gerada a partir da fotografia de origem
Prototype output

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

Criar uma Tarefa de Build de figura

Gere a figura 3D texturizada final a partir de uma tarefa de protótipo bem-sucedida. O build executa o mesmo pipeline de imagem para 3D que Imagem para 3D, pelo que o formato do objeto de resposta e a lista de URLs de saída correspondem exatamente. Consulte O Objeto da Tarefa de Build de figura para a estrutura da resposta.

Parâmetros

  • Name
    input_task_id
    Type
    string
    Obrigatório
    Description

    O ID de tarefa de uma tarefa de protótipo criada através deste mesmo endpoint OpenAPI. O protótipo deve ter sido criado com a mesma chave de API, deve ter atingido SUCCEEDED e deve ter produzido exatamente uma imagem candidata.

    As tarefas de protótipo criadas através da webapp não são aceites — o endpoint de build aceita apenas tarefas de protótipo produzidas por POST /openapi/creative-lab/figure/v1/prototype e recusa qualquer outra origem com 404.

  • Name
    name
    Type
    string
    Description

    Nome opcional da tarefa para fins de apresentação. Máximo de 100 caracteres.

Devolve

A propriedade result da resposta contém o id de tarefa da tarefa de build de figura recém-criada. Consulte periodicamente o endpoint Obter uma Tarefa ou subscreva o stream até a tarefa atingir SUCCEEDED; em seguida, descarregue o GLB texturizado a partir de model_urls.glb (ou o par OBJ + MTL a partir de model_urls.obj e model_urls.mtl se o seu pipeline a jusante preferir OBJ).

Modos de Falha

  • Name
    400 - Bad Request
    Description

    O pedido não era aceitável. Causas comuns:

    • Parâmetro em falta: input_task_id é obrigatório.
    • UUID inválido: O input_task_id não é um UUID válido.
    • Elemento pai sem sucesso: A tarefa de protótipo referenciada ainda não atingiu SUCCEEDED.
    • Sem candidato: A tarefa de protótipo foi bem-sucedida, mas não produziu nenhuma imagem candidata.
  • Name
    401 - Unauthorized
    Description

    A autenticação falhou. Verifique a sua chave de API.

  • Name
    402 - Payment Required
    Description

    Créditos insuficientes para executar esta tarefa.

  • Name
    404 - Not Found
    Description

    A tarefa de protótipo referenciada não existe, pertence a um utilizador diferente ou foi criada através da webapp (apenas tarefas de protótipo em modo API podem ser encadeadas para build).

  • Name
    429 - Too Many Requests
    Description

    Excedeu o seu limite de taxa.

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"
}
Build example
The build task turns the selected prototype image into a downloadable textured 3D model.
Pré-visualização do modelo de build de figura do Creative Lab
Build model preview

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

Obter uma tarefa de figura

Obtenha uma tarefa de protótipo ou de build através de um id de tarefa válido. O caminho do URL deve corresponder à etapa da tarefa — uma tarefa de build obtida através de /prototype/:id devolve 404, e vice-versa.

Consulte O objeto de tarefa de protótipo de figura e O objeto de tarefa de build de figura para os formatos da resposta.

Parâmetros

  • Name
    id
    Type
    path
    Description

    Identificador único da tarefa de figura a obter.

Devolve

A resposta contém o objeto da tarefa de figura. O formato depende da etapa solicitada.

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

Eliminar uma tarefa de figura

Cancela uma tarefa de figura. Se a tarefa ainda estiver PENDING, os créditos consumidos no momento da criação são reembolsados. As tarefas que já estejam IN_PROGRESS são canceladas sem reembolso (o worker pode já estar a consumir recursos). As tarefas que já tenham atingido um estado terminal (SUCCEEDED, FAILED, CANCELED) não podem ser canceladas.

O caminho do URL deve corresponder à fase da tarefa — DELETE em /prototype/:buildId devolve 404.

Parâmetros do caminho

  • Name
    id
    Type
    path
    Description

    Identificador único da tarefa de figura a cancelar.

Devoluções

Devolve 204 No Content em caso de sucesso, com um corpo vazio.

Modos de falha

  • Name
    400 - Bad Request
    Description

    A tarefa já está num estado terminal e não pode ser cancelada.

  • Name
    404 - Not Found
    Description

    A tarefa não existe, pertence a um utilizador diferente ou a sua fase não corresponde ao caminho do 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

Transmitir uma tarefa de figura em fluxo

Transmita atualizações em tempo real para uma tarefa de figura através de Server-Sent Events (SSE). O caminho do URL deve corresponder à fase da tarefa — abrir uma transmissão em fluxo em /prototype/:buildId/stream emite um único payload event: error com status_code: 404 e fecha a transmissão em fluxo.

Parâmetros

  • Name
    id
    Type
    path
    Description

    Identificador único da tarefa de figura a transmitir em fluxo.

Devolve

Devolve uma transmissão em fluxo de objetos de tarefa Protótipo de figura ou Construção de figura como Server-Sent Events. Para tarefas PENDING ou IN_PROGRESS, a transmissão em fluxo da resposta incluirá apenas os campos progress e status necessários.

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

Listar tarefas de figura

Recupera uma lista paginada das suas tarefas de figura para uma única fase. O caminho do URL seleciona a fase — /prototype devolve tarefas de protótipo; /build devolve tarefas de build. As tarefas da outra fase não são incluídas em nenhuma resposta.

Parâmetros de caminho

  • Name
    stage
    Type
    path
    Obrigatório
    Description

    prototype ou build. A coleção devolve apenas tarefas cuja fase corresponde ao URL — obter /prototype nunca devolve tarefas de build e vice-versa.

Parâmetros de consulta

  • Name
    page_num
    Type
    integer
    predefinição 1
    Description

    Número da página para paginação.

  • Name
    page_size
    Type
    integer
    predefinição 10
    Description

    Limite de tamanho da página. O máximo permitido é 50 itens.

  • Name
    sort_by
    Type
    string
    predefinição -created_at
    Description

    Campo pelo qual ordenar. Valores disponíveis:

    • +created_at: Ordenar pela hora de criação por ordem ascendente.
    • -created_at: Ordenar pela hora de criação por ordem descendente.

Devolve

Devolve uma lista paginada do objeto de tarefa por fase — ou o objeto de tarefa de protótipo de figura ao listar /prototype ou o objeto de tarefa de build de figura ao listar /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=***"
    ]
  }
]

O objeto de tarefa de protótipo de figura

O objeto de tarefa de protótipo de figura é uma unidade de trabalho que a Meshy acompanha para gerar uma imagem conceptual de estilo chibi a partir de uma fotografia de origem. O resultado desta fase é encadeado para a fase de construção através de input_task_id.

Propriedades

  • Name
    id
    Type
    string
    Description

    Identificador único da tarefa. Embora utilizemos um UUID k-ordenável para IDs de tarefa como detalhe de implementação, não deve fazer quaisquer pressupostos sobre o formato do id.

  • Name
    type
    Type
    string
    Description

    Tipo da tarefa. O valor é creative-lab-figure-prototype.

  • Name
    name
    Type
    string
    Description

    O nome da tarefa fornecido quando a tarefa foi criada. Cadeia vazia se não tiver sido fornecido nenhum nome.

  • Name
    status
    Type
    string
    Description

    Estado da tarefa. Os valores possíveis são um de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    O progress da tarefa. Se a tarefa ainda não tiver sido iniciada, esta propriedade será 0. Assim que a tarefa tiver sido concluída com sucesso, passará a 100.

  • Name
    created_at
    Type
    timestamp
    Description

    O carimbo de data/hora de quando a tarefa foi criada, em milissegundos.

  • Name
    started_at
    Type
    timestamp
    Description

    O carimbo de data/hora de quando a tarefa foi iniciada, em milissegundos. Se a tarefa ainda não tiver sido iniciada, esta propriedade será 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    O carimbo de data/hora de quando a tarefa foi concluída, em milissegundos. Se a tarefa ainda não estiver concluída, esta propriedade será 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    O carimbo de data/hora de quando o resultado da tarefa expira, em milissegundos.

  • Name
    preceding_tasks
    Type
    integer
    Description

    O número de tarefas precedentes.

  • Name
    task_error
    Type
    object
    Description

    Detalhes do erro para tarefas falhadas. Consulte Erros para a referência completa do objeto task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    O número de créditos consumidos por esta tarefa. Presente quando o estado da tarefa é PENDING, IN_PROGRESS ou SUCCEEDED. Devolve 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).

  • Name
    image_urls
    Type
    array of strings
    Description

    URLs descarregáveis para as candidatas de imagem de conceito geradas por esta tarefa de protótipo. Atualmente, a API devolve sempre exatamente uma candidata; o campo é uma matriz para que revisões futuras possam disponibilizar várias candidatas sem uma alteração incompatível.

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

O Objeto de Tarefa de Construção de figura

O objeto Figure Build Task é uma unidade de trabalho que a Meshy acompanha para gerar uma figura 3D com textura a partir de uma tarefa de protótipo bem-sucedida. Executa o mesmo pipeline de imagem para 3D usado por Imagem para 3D, por isso os campos de saída refletem o objeto de tarefa desse endpoint.

Propriedades

  • Name
    id
    Type
    string
    Description

    Identificador único da tarefa.

  • Name
    type
    Type
    string
    Description

    Tipo da tarefa. O valor é creative-lab-figure-build.

  • Name
    name
    Type
    string
    Description

    O nome da tarefa fornecido quando a tarefa foi criada. Cadeia vazia se não tiver sido fornecido nenhum nome.

  • Name
    status
    Type
    string
    Description

    Estado da tarefa. Os valores possíveis são um de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress da tarefa. Se a tarefa ainda não tiver sido iniciada, esta propriedade será 0. Assim que a tarefa tiver sido bem-sucedida, passará a 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Carimbo de data/hora de quando a tarefa foi criada, em milissegundos.

  • Name
    started_at
    Type
    timestamp
    Description

    Carimbo de data/hora de quando a tarefa foi iniciada, em milissegundos.

  • Name
    finished_at
    Type
    timestamp
    Description

    Carimbo de data/hora de quando a tarefa foi concluída, em milissegundos.

  • Name
    expires_at
    Type
    timestamp
    Description

    Carimbo de data/hora de quando o resultado da tarefa expira, em milissegundos.

  • Name
    preceding_tasks
    Type
    integer
    Description

    A contagem de tarefas precedentes. Só é significativo quando o estado é PENDING.

  • Name
    task_error
    Type
    object
    Description

    Detalhes do erro para tarefas falhadas. Consulte Erros para a referência completa do objeto task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    O número de créditos consumidos por esta tarefa. Devolve 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).

  • Name
    prompt
    Type
    string
    Description

    Sempre vazio para a construção de figura. Presente para compatibilidade entre endpoints com a forma partilhada V2ImageTo3DTaskResponse utilizada por Imagem para 3D.

  • Name
    negative_prompt
    Type
    string
    Description

    Sempre vazio para a construção de figura. Presente para compatibilidade entre endpoints.

  • Name
    texture_prompt
    Type
    string
    Description

    Sempre vazio para a construção de figura. Presente para compatibilidade entre endpoints.

  • Name
    texture_image_url
    Type
    string
    Description

    Sempre vazio para a construção de figura. Presente para compatibilidade entre endpoints.

  • Name
    model_urls
    Type
    object
    Description

    URLs descarregáveis para o modelo 3D gerado. A construção de figura emite um GLB com textura, mais o par OBJ + MTL para pipelines que preferem Wavefront OBJ. A forma do campo corresponde ao objeto Imagem para 3D model_urls, para que futuras adições de formatos possam ser integradas sem uma alteração disruptiva.

    • Name
      glb
      Type
      string
      Description

      URL descarregável para o ficheiro GLB com textura.

    • Name
      obj
      Type
      string
      Description

      URL descarregável para o ficheiro Wavefront OBJ (geometria + UV).

    • Name
      mtl
      Type
      string
      Description

      URL descarregável para o ficheiro de material MTL complementar do OBJ. Emparelhe com obj e a entrada de texture_urls[0].base_color.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL descarregável para a imagem de miniatura do ficheiro do modelo.

  • Name
    texture_urls
    Type
    array
    Description

    Uma matriz de objetos de URL de textura gerados por esta tarefa. Atualmente contém um único objeto com o mapa de cor base.

    • Name
      base_color
      Type
      string
      Description

      URL descarregável para a imagem do mapa de cor 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=***"
    }
  ]
}