API de Imagem para 3D

A API de Imagem para 3D é uma funcionalidade que lhe permite integrar as capacidades de Imagem para 3D da Meshy na sua própria aplicação. Nesta secção, irá encontrar todas as informações de que necessita para começar a utilizar esta API.


POST/openapi/v1/image-to-3d

Criar uma tarefa de Imagem para 3D

Este endpoint permite-lhe criar uma nova tarefa de Imagem para 3D. Consulte O objeto de tarefa Imagem para 3D para ver quais propriedades estão incluídas no objeto de tarefa Imagem para 3D.

Parâmetros

  • Name
    input_task_id
    Type
    string
    Obrigatório
    Description

    O ID de uma tarefa de geração de imagem concluída cuja saída deve ser usada como imagem de entrada. Esta tarefa deve ser uma das seguintes: Texto para imagem ou Imagem para imagem. Além disso, deve ter sido executada através da API, ter um estado SUCCEEDED e produzir exatamente uma imagem.

  • Name
    image_url
    Type
    string
    Obrigatório
    Description

    Forneça uma imagem para o Meshy usar na criação do modelo. Atualmente suportamos os formatos .jpg, .jpeg e .png.

    Existem duas formas de fornecer a imagem:

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

    Especifique o tipo de geração de malha 3D.

    Valores disponíveis:

    • standard: Geração de malha 3D de alta qualidade normal.
    • smart-topology: Escolha um modelo Smart Topology com ai_model (meshy-t2).
    • lowpoly (obsoleto): Gera malha low-poly otimizada para polígonos mais limpos. Recomendamos usar smart-topology em alternativa.
  • Name
    ai_model
    Type
    string
    predefinição latest
    Description

    ID do modelo a usar. Os valores disponíveis dependem de model_type.

    Geração standard (model_type: standard):

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (obsoleto): use meshy-7.1 em alternativa.

    Geração Smart Topology (model_type: smart-topology):

    • meshy-t2 (predefinição): o modelo Smart Topology — topology mais limpa, partes separadas nativamente, saída em triângulos e uma contagem de faces que pode definir com target_polycount.
  • Name
    geometry_resolution
    Type
    string
    predefinição standard
    Description

    Passagem de geração de geometria. 2k executa a passagem Ultra a 2048³; 4k executa-a a 4096³ para o detalhe de superfície mais fino.

    Valores disponíveis: standard, 2k, 4k

  • Name
    ultra_mode
    Type
    boolean
    ⚠ obsoleto
    predefinição false
    Description

    Use geometry_resolution em alternativa. ultra_mode: true é equivalente a geometry_resolution: "2k".

  • Name
    should_texture
    Type
    boolean
    predefinição true
    Description

    Determina se as texturas são geradas. Definir como false ignora a fase de textura, fornecendo uma malha sem texturas.

Aplica-se apenas quando should_texture = true
  • Name
    enable_pbr
    Type
    boolean
    predefinição false
    Description

    Gera mapas PBR (metálico, rugosidade, normal) além da cor base. Um mapa de emissão também é incluído quando ai_model é meshy-6, exceto em texture_resolution: 8k. meshy-6-lite, meshy-7.1 e latest não produzem mapa de emissão.

  • Name
    texture_resolution
    Type
    string
    predefinição 2k
    Description

    Resolução da textura de cor base. Um dos valores 2k (2048×2048), 4k (4096×4096) ou 8k (8192×8192). Resoluções mais altas captam mais detalhe de superfície.

  • Name
    hd_texture
    Type
    boolean
    ⚠ obsoleto
    predefinição false
    Description

    Use texture_resolution em alternativa — equivalente a texture_resolution: "4k". Quando ambos estão definidos, texture_resolution tem precedência.

  • Name
    texture_prompt
    Type
    string
    Description

    Forneça um prompt de texto para orientar o processo de texturização. Máximo de 800 carateres.

  • Name
    texture_image_url
    Type
    string
    Description

    Forneça uma imagem 2D para orientar o processo de texturização. Atualmente suportamos os formatos .jpg, .jpeg e .png.

    Existem duas formas de fornecer a imagem:

    • URL publicamente acessível: Um URL acessível a partir da internet pública
    • Data URI: Um URI de dados da imagem codificado em base64. Exemplo de um Data URI: data:image/jpeg;base64,<your base64-encoded image data>
  • Name
    should_remesh
    Type
    boolean
    predefinição false (Meshy 6 and Meshy 7 models), true (others)
    Description

    Controla se a fase de remesh está ativada. Para obter o modelo de maior qualidade, recomendamos definir should_remesh como false.

Aplica-se apenas quando should_remesh = true
  • Name
    topology
    Type
    string
    predefinição triangle
    Description

    Especifique a topology do modelo gerado.

    Valores disponíveis:

    • quad: Gera uma malha predominantemente quad.
    • triangle: Gera uma malha triangular decimada.
  • Name
    decimation_mode
    Type
    integer
    Description

    Ative a decimação adaptativa definindo um nível de contagem de polígonos. Quando definido, target_polycount é ignorado.

    Valores disponíveis:

    • 1: Adaptativo — contagem de polígonos ultra.
    • 2: Adaptativo — contagem de polígonos alta.
    • 3: Adaptativo — contagem de polígonos média.
    • 4: Adaptativo — contagem de polígonos baixa.
  • Name
    save_pre_remeshed_model
    Type
    boolean
    predefinição false
    Description

    Quando definido como true, o Meshy também guarda um ficheiro GLB adicional antes da conclusão da fase de remesh.

  • Name
    target_polycount
    Type
    integer
    Description

    Número alvo de polígonos (faces) na saída. A contagem real pode divergir do alvo dependendo da geometria.

    target_polycount produz efeito em dois casos independentes:

    • Remesh — com should_remesh: true num modelo standard. A malha é submetida a remesh (decimada) para aproximadamente esta contagem. Intervalo de 100 a 300 000, predefinição 30 000. Se decimation_mode estiver definido, tem prioridade e target_polycount é ignorado.
    • Smart Topology — com model_type: smart-topology e ai_model: meshy-t2. O modelo é gerado diretamente com esta contagem de faces; não é executado nenhum remesh e should_remesh não é necessário. Intervalo de 100 a 15 000, predefinição 4 000.
  • Name
    symmetry_mode
    Type
    string
    ⚠ obsoleto
    predefinição auto
    Description

    Obsoleto. Este parâmetro já não afeta a saída.

    O campo symmetry_mode controla o comportamento de simetria durante o processo de geração do modelo.

    Os valores válidos são:

    • off: Desativa a simetria.
    • auto: Determina e aplica automaticamente a simetria com base na geometria de entrada.
    • on: Impõe simetria durante a geração.
  • Name
    pose_mode
    Type
    string
    predefinição ""
    Description

    Especifique o mode de pose do modelo gerado.

    Valores disponíveis:

    • a-pose: Gera o modelo numa pose A.
    • t-pose: Gera o modelo numa pose T.
    • "" (string vazia): Nenhuma pose específica aplicada.
  • Name
    is_a_t_pose
    Type
    boolean
    ⚠ obsoleto
    predefinição false
    Description

    Use pose_mode em alternativa. Se deve gerar o modelo numa pose A/T.

  • Name
    image_enhancement
    Type
    boolean
    predefinição true
    Description

    Otimiza a imagem de entrada para obter melhores resultados. Defina como false para preservar exatamente o aspeto da imagem de entrada sem qualquer processamento de estilo.

  • Name
    remove_lighting
    Type
    boolean
    predefinição true
    Description

    Remove realces e sombras da textura de cor base, produzindo um resultado mais limpo que funciona melhor com configurações de iluminação personalizadas.

  • Name
    moderation
    Type
    boolean
    predefinição false
    Description

    Quando definido como true, o conteúdo de entrada será automaticamente analisado para deteção de conteúdo potencialmente prejudicial. Se for detetado conteúdo prejudicial, a tarefa não avançará para a geração.

    O conteúdo das entradas image_url, texture_image_url e texture_prompt será analisado.

  • Name
    target_formats
    Type
    string[]
    Description

    Especifica quais formatos de ficheiro 3D incluir na saída. Apenas os formatos solicitados serão gerados e devolvidos, o que pode reduzir o tempo de conclusão da tarefa. Quando omitido, todos os formatos suportados são incluídos.

    Valores disponíveis: glb, obj, fbx, stl, usdz, 3mf

  • Name
    auto_size
    Type
    boolean
    predefinição false
    Description

    Quando definido como true, o serviço usa visão por IA para estimar automaticamente a altura real do objeto no mundo real e redimensionar o modelo em conformidade. A origem será, por predefinição, bottom, a menos que origin_at seja explicitamente definido.

  • Name
    alpha_thumbnail
    Type
    boolean
    predefinição false
    Description

    Quando definido como true, a tarefa também renderiza uma versão com fundo transparente (RGBA) da pré-visualização e devolve-a como alpha_thumbnail_url na resposta GET. O campo thumbnail_url existente permanece inalterado.

  • Name
    multi_view_thumbnails
    Type
    boolean
    predefinição false
    Description

    Quando definido como true, a tarefa também renderiza quatro miniaturas de vistas cardeais (frente, direita, atrás, esquerda) e devolve-as em thumbnail_urls na resposta GET. O campo thumbnail_url existente permanece inalterado e continua a apontar para a vista frontal, pelo que os clientes existentes não são afetados.

Aplica-se apenas quando auto_size = true
  • Name
    origin_at
    Type
    string
    predefinição bottom
    Description

    Posição da origem quando auto_size está ativado.

    Valores disponíveis: bottom, center.

Retorna

A propriedade result da resposta contém o id da tarefa da tarefa de Imagem para 3D recém-criada.

Modos de falha

  • Name
    400 - Bad Request
    Description

    O pedido foi inaceitável. Causas comuns:

    • Parâmetro em falta: É necessário fornecer image_url ou input_task_id.
    • Tarefa de entrada inválida: input_task_id deve referir-se a uma tarefa de Texto para imagem ou Imagem para imagem com estado SUCCEEDED que produza exatamente uma imagem.
    • Formato de imagem inválido: O image_url fornecido não está num formato suportado (.jpg, .jpeg, .png).
    • URL inacessível: Não foi possível descarregar o image_url (404 ou timeout).
    • Data URI inválido: A string base64 está malformada.
    • Combinação de parâmetros inválida: enable_pbr só é suportado quando should_texture é true.
    • Modelo não suportado para low poly: ai_model: "meshy-6-lite" não suporta model_type: "lowpoly".
    • Modelo não suportado para Ultra: geometry_resolution requer meshy-7.1 ou latest.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    Créditos insuficientes para realizar esta tarefa.

  • Name
    429 - Too Many Requests
    Description

    Excedeu o seu limite de taxa.

Request

POST
/openapi/v1/image-to-3d
# Simple request with required params
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -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>"
  }'

# With Ultra 4K geometry, remesh, PBR, and A-pose
curl https://api.meshy.ai/openapi/v1/image-to-3d \
  -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>",
    "ai_model": "meshy-7.1",
    "geometry_resolution": "4k",
    "enable_pbr": true,
    "should_remesh": true,
    "target_polycount": 100000,
    "should_texture": true,
    "pose_mode": "a-pose",
    "target_formats": ["glb"]
  }'

Response

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

GET/openapi/v1/image-to-3d/:id

Obter uma Tarefa de Imagem para 3D

Este endpoint permite obter uma tarefa de Imagem para 3D com base num id de tarefa válido. Consulte O Objeto de Tarefa Imagem para 3D para ver quais propriedades estão incluídas no objeto de tarefa Imagem para 3D.

Parâmetros

  • Name
    id
    Type
    path
    Description

    Identificador único da tarefa de Imagem para 3D a obter.

Retorna

A resposta contém o objeto de tarefa Imagem para 3D. Consulte a secção O Objeto de Tarefa Imagem para 3D para mais detalhes.

Request

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

DELETE/openapi/v1/image-to-3d/:id

Eliminar uma Tarefa de Imagem para 3D

Este endpoint elimina permanentemente uma tarefa de Imagem para 3D, incluindo todos os modelos e dados associados. Esta ação é irreversível.

Parâmetros de Caminho

  • Name
    id
    Type
    path
    Description

    O ID da tarefa de Imagem para 3D a eliminar.

Estado da Tarefa

Uma tarefa que ainda esteja PENDING é eliminada e os créditos consumidos no momento da criação são reembolsados.

Uma tarefa que já esteja IN_PROGRESS não pode ser eliminada: o pedido é rejeitado com 409 Conflict e a tarefa continua a ser executada. Os créditos de uma tarefa que o worker já tenha começado a processar não são reembolsáveis, pelo que eliminá-la a meio da execução far-lhe-ia perder tanto os créditos como o resultado. Aguarde que atinja o estado SUCCEEDED, FAILED ou CANCELED e só depois a elimine.

Uma tarefa num estado terminal (SUCCEEDED, FAILED ou CANCELED) é eliminada sem reembolso.

Devolve

Devolve 200 OK em caso de sucesso, ou 409 Conflict quando a tarefa está IN_PROGRESS.

Request

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

Response

// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
  "message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}

GET/openapi/v1/image-to-3d

Listar Tarefas de Imagem para 3D

Este endpoint permite obter uma lista de tarefas de Imagem para 3D.

Parâmetros

Atributos opcionais

  • Name
    page_num
    Type
    integer
    Description

    Número da página para paginação. Começa e assume por defeito 1.

  • Name
    page_size
    Type
    integer
    Description

    Limite do tamanho da página. O valor por defeito é 10 itens. O máximo permitido é 100 itens.

  • Name
    sort_by
    Type
    string
    Description

    Campo pelo qual ordenar. Valores disponíveis:

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

Retorna

Retorna uma lista paginada de Objetos de Tarefa de Imagem para 3D.

Request

GET
/openapi/v1/image-to-3d
curl https://api.meshy.ai/openapi/v1/image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "image-to-3d",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
      "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "thumbnail_urls": {
      "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
      "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
      "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
      "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
    },
    "texture_prompt": "",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "expires_at": 1692771679037,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
        "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
        "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
        "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
        "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {
      "message": ""
    },
    "consumed_credits": 30
  }
]

GET/openapi/v1/image-to-3d/:id/stream

Transmitir uma Tarefa de Imagem para 3D

Este endpoint transmite atualizações em tempo real para uma tarefa de Imagem para 3D utilizando Server-Sent Events (SSE).

Parâmetros

  • Name
    id
    Type
    path
    Description

    Identificador único da tarefa de Imagem para 3D a transmitir.

Devoluções

Devolve um fluxo de Objetos de Tarefa de Imagem para 3D como Server-Sent Events.

Para tarefas PENDING ou IN_PROGRESS, o fluxo de resposta incluirá apenas os campos progress e status necessários.

Request

GET
/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
  "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
  "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
  "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
  "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
  "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}

O Objeto Image to 3D Task

O objeto Image to 3D Task é uma unidade de trabalho que a Meshy mantém para gerar um modelo 3D a partir de uma entrada de imagem. O objeto tem as seguintes propriedades:

Propriedades

  • Name
    id
    Type
    string
    Description

    Identificador único da tarefa. Embora usemos um UUID k-sortable para os ids de tarefas como detalhe de implementação, não deve fazer suposições sobre o formato do id.

  • Name
    type
    Type
    string
    Description

    Tipo da tarefa Imagem para 3D. O valor é image-to-3d.

  • Name
    model_urls
    Type
    object
    Description

    URL de download para o ficheiro do modelo 3D com textura gerado pela Meshy. A propriedade de um formato será omitida se o formato não for gerado, em vez de devolver uma string vazia.

    • Name
      glb
      Type
      string
      Description

      URL de download para o ficheiro GLB.

    • Name
      fbx
      Type
      string
      Description

      URL de download para o ficheiro FBX.

    • Name
      obj
      Type
      string
      Description

      URL de download para o ficheiro OBJ.

    • Name
      usdz
      Type
      string
      Description

      URL de download para o ficheiro USDZ.

    • Name
      mtl
      Type
      string
      Description

      URL de download para o ficheiro MTL, devolvido juntamente com as exportações OBJ quando existem texturas.

    • Name
      stl
      Type
      string
      Description

      URL de download para o ficheiro STL.

    • Name
      3mf
      Type
      string
      Description

      URL de download para o ficheiro 3MF. Apenas presente quando 3mf foi solicitado através de target_formats.

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      URL de download para o resultado GLB original antes do remesh.

  • Name
    thumbnail_url
    Type
    string
    Description

    URL de download para a imagem de miniatura do ficheiro do modelo. Equivalente a thumbnail_urls.front quando presente, mantido para compatibilidade com versões anteriores.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    URL de download para uma versão com fundo transparente (RGBA) de thumbnail_url. Apenas presente quando a tarefa foi criada com alpha_thumbnail: true e a pré-visualização transparente foi renderizada com sucesso; caso contrário, este campo é omitido.

  • Name
    thumbnail_urls
    Type
    object
    Description

    URLs de download para quatro miniaturas de vistas cardeais do modelo 3D gerado. Cada valor é um URL assinado para um PNG de 512×512 renderizado com os mesmos materiais e iluminação que thumbnail_url. Útil para pré-visualizar o modelo a partir de vários ângulos em pipelines em lote sem ter de descarregar o GLB.

    • Name
      front
      Type
      string
      Description

      Vista frontal, rotação de 0° em torno do eixo vertical (corresponde a thumbnail_url).

    • Name
      right
      Type
      string
      Description

      Vista direita, rotação de 90°.

    • Name
      back
      Type
      string
      Description

      Vista posterior, rotação de 180°.

    • Name
      left
      Type
      string
      Description

      Vista esquerda, rotação de 270°.

  • Name
    texture_prompt
    Type
    string
    Description

    O prompt de texto que foi usado para orientar o processo de texturização.

  • Name
    texture_image_url
    Type
    string
    Description

    URL de download para a imagem de textura que foi usada para orientar o processo de texturização.

  • Name
    ultra_mode
    Type
    boolean
    ⚠ obsoleto
    Description

    Obsoleto; leia geometry_resolution em vez disso.

  • Name
    geometry_resolution
    Type
    string
    Description

    O nível Ultra em que a tarefa foi executada (2k ou 4k); omitido para standard.

  • Name
    progress
    Type
    integer
    Description

    Progresso da tarefa. Se a tarefa ainda não tiver começado, esta propriedade será 0. Uma vez que a tarefa tenha sido concluída com sucesso, esta propriedade passará a ser 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Carimbo de data/hora de quando a tarefa foi iniciada, em milissegundos. Se a tarefa ainda não tiver começado, esta propriedade será 0.

  • Name
    created_at
    Type
    timestamp
    Description

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

  • Name
    expires_at
    Type
    timestamp
    Description

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

  • Name
    finished_at
    Type
    timestamp
    Description

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

  • Name
    status
    Type
    string
    Description

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

  • Name
    texture_urls
    Type
    array
    Description

    Uma matriz de objetos de URL de textura gerados pela tarefa. Normalmente, esta matriz contém apenas um objeto de URL de textura. Cada URL de textura tem as seguintes propriedades:

    • Name
      base_color
      Type
      string
      Description

      URL de download para a imagem do mapa de cor base.

    • Name
      metallic
      Type
      string
      Description

      URL de download para a imagem do mapa metálico.

    • Name
      normal
      Type
      string
      Description

      URL de download para a imagem do mapa de normais.

    • Name
      roughness
      Type
      string
      Description

      URL de download para a imagem do mapa de rugosidade.

    • Name
      emission
      Type
      string
      Description

      URL de download para a imagem do mapa de emissão.

  • Name
    preceding_tasks
    Type
    integer
    Description

    A contagem 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).

Example Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "image-to-3d",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "texture_image_url": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {
    "message": ""
  },
  "consumed_credits": 30
}