A API de Imagem para 3D é um recurso que permite integrar as capacidades de Imagem para 3D da Meshy no seu próprio aplicativo. Nesta seção, você encontrará todas as informações
que precisa para começar a usar esta API.
Este endpoint permite criar uma nova tarefa de Imagem para 3D. Consulte o
Objeto de Tarefa de Imagem para 3D para ver quais
propriedades estão incluídas com o objeto de tarefa de Imagem para 3D.
Parâmetros
Apenas um de input_task_id ou image_url é obrigatório. Se ambos forem fornecidos, input_task_id tem prioridade.
Name
input_task_id
Type
string
Obrigatório
Description
O ID de uma tarefa de geração de imagem concluída cujo resultado deve ser usado 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 via a API, ter status de SUCCEEDED e produzir exatamente uma imagem.
Name
image_url
Type
string
Obrigatório
Description
Forneça uma imagem para a Meshy usar na criação do modelo. Atualmente, suportamos os formatos .jpg, .jpeg e .png.
Existem duas maneiras de fornecer a imagem:
URL publicamente acessível: 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
model_type
Type
string
padrão standard
Description
Especifique o tipo de geração de malha 3D.
Valores disponíveis:
standard: Geração de malha 3D de alta definição regular.
smart-topology: Escolha um modelo Smart Topology com ai_model (meshy-t1 ou meshy-t2).
lowpoly (obsoleto): Gera uma malha low-poly otimizada para polígonos mais limpos. Recomendamos o uso de smart-topology em vez disso.
Quando smart-topology é selecionado, topology, should_remesh e save_pre_remeshed_model são ignorados.
Quando lowpoly é selecionado, ai_model, topology, target_polycount, should_remesh e save_pre_remeshed_model são ignorados.
Name
ai_model
Type
string
padrão latest
Description
ID do modelo a ser usado. Os valores disponíveis dependem de model_type.
meshy-t2 (padrão, recomendado): o modelo Smart Topology — topology mais limpa, peças nativamente separadas, saída em triângulos e uma contagem de faces que você pode definir com target_polycount.
meshy-t1: o antigo modelo low-poly; não suporta definir uma contagem de faces com target_polycount.
Name
ultra_mode
Type
boolean
padrão false
Description
Habilita a geração Ultra para geometria de maior fidelidade com detalhes de superfície mais finos.
Suportado apenas quando ai_model é meshy-7 (ou latest).
Name
should_texture
Type
boolean
padrão true
Description
Determina se texturas são geradas. Definindo como false pula a fase de textura, fornecendo uma malha sem texturas.
Aplica-se somente quando should_texture = true
Name
enable_pbr
Type
boolean
padrã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 for meshy-6, exceto em texture_resolution: 8k. meshy-7 e latest não produzem um mapa de emissão.
Name
texture_resolution
Type
string
padrão 2k
Description
Resolução da textura de cor base. Uma de 2k (2048×2048), 4k (4096×4096) ou 8k (8192×8192). Resoluções mais altas capturam mais detalhes de superfície.
4k e 8k não estão disponíveis com ai_model: meshy-5. Em 8k, nenhum mapa de emissão é produzido.
Name
hd_texture
Type
boolean
⚠ obsoleto
padrão false
Description
Use texture_resolution em vez disso — equivalente a texture_resolution: "4k". Quando ambos são definidos, texture_resolution tem precedência.
Name
texture_prompt
Type
string
Description
Forneça um prompt de texto para guiar o processo de texturização. Máximo de 600 caracteres.
Name
texture_image_url
Type
string
Description
Forneça uma imagem 2D para guiar o processo de texturização. Atualmente, suportamos os formatos .jpg, .jpeg e .png.
Existem duas maneiras de fornecer a imagem:
URL publicamente acessível: 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>
A texturização da imagem pode não funcionar de forma ideal se houver diferenças substanciais de geometria entre o asset original e a imagem carregada. Apenas um de texture_image_url ou texture_prompt pode ser usado para guiar o processo de texturização. Se ambos os parâmetros forem fornecidos, então texture_prompt será usado para texturizar o modelo por padrão. Texturizar via texto ou imagem custará 10 créditos por tarefa.
Name
should_remesh
Type
boolean
padrão false (meshy-6, meshy-7), true (outros)
Description
Controla se a fase Remesh deve ser habilitada. Para o modelo de mais alta qualidade, recomendamos definir should_remesh como false.
Aplica-se somente quando should_remesh = true
Name
topology
Type
string
padrão triangle
Description
Especifica a topology do modelo gerado.
Valores disponíveis:
quad: Gera uma malha dominante em quads.
triangle: Gera uma malha de triângulos decimada.
Name
decimation_mode
Type
integer
Description
Habilita a decimação adaptativa definindo um nível de contagem de polígonos. Quando definido, target_polycount é ignorado.
Valores disponíveis:
1: Adaptativo — contagem ultra de polígonos.
2: Adaptativo — contagem alta de polígonos.
3: Adaptativo — contagem média de polígonos.
4: Adaptativo — contagem baixa de polígonos.
Name
save_pre_remeshed_model
Type
boolean
padrão false
Description
Quando definido como true, a Meshy também armazena um arquivo GLB extra antes que a fase Remesh seja concluída.
Name
target_polycount
Type
integer
Description
Número alvo de polígonos (faces) na saída. A contagem real pode desviar do alvo dependendo da geometria.
target_polycount tem efeito em dois casos independentes:
Remesh — com should_remesh: true em um modelo standard. A malha é remesh (decimada) para aproximadamente essa contagem. Intervalo de 100 a 300.000, padrão de 30.000. Se decimation_mode for definido, ele tem prioridade e target_polycount é ignorado.
Smart Topology — com model_type: smart-topology e ai_model: meshy-t2. O modelo é gerado diretamente nessa contagem de faces; nenhuma remesh é executada e should_remesh não é necessário. Intervalo de 100 a 15.000, padrão de 4.000.
Name
symmetry_mode
Type
string
⚠ obsoleto
padrão auto
Description
Obsoleto. Este parâmetro não afeta mais 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: Desabilita a simetria.
auto: Determina e aplica a simetria automaticamente com base na geometria de entrada.
Use pose_mode em vez disso. Se deve gerar o modelo em pose A/T.
Name
image_enhancement
Type
boolean
padrão true
Description
Otimiza a imagem de entrada para melhores resultados. Defina como false para preservar a aparência exata da imagem de entrada sem qualquer processamento de estilo.
Suportado apenas quando ai_model é meshy-6, meshy-7 ou latest.
Name
remove_lighting
Type
boolean
padrão true
Description
Remove destaques e sombras da textura de cor base, produzindo um resultado mais limpo que funciona melhor em configurações de iluminação personalizadas.
Suportado apenas quando ai_model é meshy-6.
Name
moderation
Type
boolean
padrão false
Description
Quando definido como true, o conteúdo de entrada será automaticamente filtrado para possível conteúdo prejudicial. Se conteúdo prejudicial for detectado, a tarefa não prosseguirá para a geração.
O conteúdo das entradas image_url, texture_image_url e texture_prompt será verificado.
Name
target_formats
Type
string[]
Description
Especifica quais formatos de arquivo 3D incluir na saída. Somente os formatos solicitados serão gerados e retornados, o que pode reduzir o tempo de conclusão da tarefa. Quando omitido, todos os formatos suportados são incluídos.
Quando omitido, todos os formatos exceto 3mf são gerados. 3mf só é incluído quando especificado explicitamente.
Name
auto_size
Type
boolean
padrão false
Description
Quando definido como true, o serviço usa visão de IA para estimar automaticamente a altura real do objeto e redimensiona o modelo de acordo. A origem será bottom por padrão, a menos que origin_at seja definido explicitamente.
Name
alpha_thumbnail
Type
boolean
padrão false
Description
Quando definido como true, a tarefa também renderiza uma versão com fundo transparente (RGBA) do preview e a retorna como alpha_thumbnail_url na resposta GET. O campo thumbnail_url existente permanece inalterado.
Name
multi_view_thumbnails
Type
boolean
padrão false
Description
Quando definido como true, a tarefa também renderiza quatro miniaturas de visualização nos pontos cardeais (frente, direita, traseira, esquerda) e as retorna em thumbnail_urls na resposta GET. O campo thumbnail_url existente permanece inalterado e continua apontando para a visualização frontal, para que clientes existentes não sejam afetados.
Adiciona aproximadamente 3 segundos à latência da tarefa.
Aplica-se somente quando auto_size = true
Name
origin_at
Type
string
padrão bottom
Description
Posição da origem quando auto_size está habilitado.
Valores disponíveis: bottom, center.
Retornos
A propriedade result da resposta contém o id da tarefa recém-criada de Imagem para 3D.
Modos de Falha
Name
400 - Bad Request
Description
A requisição não foi aceitável. Causas comuns:
Parâmetro ausente: É necessário fornecer image_url ou input_task_id.
Tarefa de entrada inválida: O input_task_id deve se referir a uma tarefa de Texto para Imagem ou Imagem para Imagem SUCCEEDED que produza exatamente uma imagem.
Formato de imagem inválido: O image_url fornecido não é um formato suportado (.jpg, .jpeg, .png).
URL inacessível: O image_url não pôde ser baixado (404 ou timeout).
Data URI inválido: A string base64 está malformada.
Combinação de parâmetros inválida: enable_pbr é suportado somente quando should_texture é verdade.
Name
401 - Unauthorized
Description
A autenticação falhou. Verifique sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarefa.
Name
429 - Too Many Requests
Description
Você excedeu seu limite de taxa.
Requisição
POST
/openapi/v1/image-to-3d
# Solicitação simples com parâmetros obrigatórioscurlhttps://api.meshy.ai/openapi/v1/image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'# Com Remesh, PBR e pose Acurlhttps://api.meshy.ai/openapi/v1/image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>", "enable_pbr": true, "should_remesh": true, "target_polycount": 100000, "should_texture": true, "pose_mode": "a-pose", "target_formats": ["glb"] }'
Este endpoint permite obter uma tarefa de Imagem para 3D fornecido um id de tarefa válido.
Consulte o Objeto de Tarefa de Imagem para 3D para ver quais
propriedades estão incluídas com o objeto de tarefa de Imagem para 3D.
Parâmetros
Name
id
Type
path
Description
Identificador único para a tarefa de Imagem para 3D a recuperar.
// Exemplo de evento de erroevent: errordata: {"status_code": 404,"message": "Task not found"}// Exemplos de evento de mensagem ilustram o progresso da tarefa.// Para tarefas PENDING ou IN_PROGRESS, a transmissão de resposta não incluirá todos os campos.event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 0,"status": "PENDING"}event: messagedata: {"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 de Tarefa de Imagem para 3D é uma unidade de trabalho que a Meshy rastreia para gerar um modelo 3D a partir de uma entrada de imagem.
O objeto possui as seguintes propriedades:
Propriedades
Name
id
Type
string
Description
Identificador único para a tarefa. Enquanto usamos um UUID classificável k para ids de tarefa como detalhe de implementação, você não deve fazer suposições sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa de Imagem para 3D. O valor é image-to-3d.
Name
model_urls
Type
object
Description
URL para download do arquivo de modelo 3D texturizado gerado pela Meshy. A propriedade de um formato será omitida se o formato não for gerado, em vez de retornar uma string vazia.
Name
glb
Type
string
Description
URL para download do arquivo GLB.
Name
fbx
Type
string
Description
URL para download do arquivo FBX.
Name
obj
Type
string
Description
URL para download do arquivo OBJ.
Name
usdz
Type
string
Description
URL para download do arquivo USDZ.
Name
mtl
Type
string
Description
URL para download do arquivo MTL, retornado ao lado das exportações OBJ quando texturas estão presentes.
Name
stl
Type
string
Description
URL para download do arquivo STL.
Name
3mf
Type
string
Description
URL para download do arquivo 3MF. Presente apenas quando 3mf foi solicitado via target_formats.
Name
pre_remeshed_glb
Type
string
Description
URL para download da saída GLB original antes do remeshing.
Disponível apenas quando a tarefa foi criada com should_remesh: true e save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
URL para download da imagem em miniatura do arquivo de modelo. Equivalente a thumbnail_urls.front quando presente, mantido para compatibilidade retroativa.
Name
alpha_thumbnail_url
Type
string
Description
URL para download de uma versão com fundo transparente (RGBA) de thumbnail_url. Presente apenas quando a tarefa foi criada com alpha_thumbnail: true e o preview transparente foi renderizado com sucesso; caso contrário, este campo é omitido.
Name
thumbnail_urls
Type
object
Description
URLs para download de quatro miniaturas de visualização nos pontos cardeais do modelo 3D gerado. Cada valor é um URL assinado para uma PNG de 512×512 renderizada com os mesmos materiais e iluminação de thumbnail_url. Útil para visualizar o modelo de múltiplos ângulos em pipelines de lote sem baixar o GLB.
Presente apenas quando a tarefa foi criada com multi_view_thumbnails: true e alcançou SUCCEEDED. Tarefas antigas e tarefas criadas sem a opção não incluirão este campo.
Name
front
Type
string
Description
Vista frontal, 0° de rotação ao redor do eixo vertical (corresponde a thumbnail_url).
Name
right
Type
string
Description
Vista direita, 90° de rotação.
Name
back
Type
string
Description
Vista traseira, 180° de rotação.
Name
left
Type
string
Description
Vista esquerda, 270° de rotação.
Name
texture_prompt
Type
string
Description
O prompt de texto que foi usado para guiar o processo de texturização.
Name
texture_image_url
Type
string
Description
URL para download da imagem de textura que foi usada para guiar o processo de texturização.
Name
ultra_mode
Type
boolean
Description
Ecoa o valor de ultra_mode com o qual a tarefa foi criada. Presente apenas para tarefas meshy-7 (ou latest) que definem ultra_mode explicitamente; omitido caso contrário.
Name
progress
Type
integer
Description
Progresso da tarefa. Se a tarefa ainda não tiver sido iniciada, esta propriedade será 0. Uma vez que a tarefa tenha sido bem-sucedida, isso se tornará 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 sido iniciada, esta propriedade será 0.
Um carimbo de data/hora representa o número de milissegundos decorridos desde 1 de janeiro de 1970 UTC, seguindo o padrão RFC 3339. Por exemplo, sexta-feira, 1 de setembro de 2023, 12:00:00 PM GMT é representado como 1693569600000. Isso se aplica a todos os carimbos de data/hora na Meshy API.
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 sido concluída, esta propriedade será 0.
Name
status
Type
string
Description
Status da tarefa. Possíveis valores são um de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Uma matriz de objetos de URL de textura que são gerados a partir da tarefa. Normalmente, isso contém apenas um objeto de URL de textura. Cada URL de textura tem as seguintes propriedades:
Name
base_color
Type
string
Description
URL para download da imagem do mapa de cor base.
Name
metallic
Type
string
Description
URL para download da imagem do mapa metálico.
Se a tarefa for criada com enable_pbr: false, esta propriedade será omitida.
Name
normal
Type
string
Description
URL para download da imagem do mapa de normais.
Se a tarefa for criada com enable_pbr: false, esta propriedade será omitida.
Name
roughness
Type
string
Description
URL para download da imagem do mapa de rugosidade.
Se a tarefa for criada com enable_pbr: false, esta propriedade será omitida.
Name
emission
Type
string
Description
URL para download da imagem do mapa de emissão.
Se a tarefa for criada com enable_pbr: false, ou ai_model for meshy-5, meshy-7 ou latest, esta propriedade será omitida.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas precedentes.
O valor deste campo é significativo apenas se o status da tarefa for PENDING.
Name
task_error
Type
object
Description
Detalhes de erro para tarefas com falha. Veja 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 status da tarefa é PENDING, IN_PROGRESS ou SUCCEEDED. Retorna 0 para tarefas FAILED (créditos são reembolsados em caso de falha).