API de Multi-imagem para 3D
Gere um modelo 3D a partir de uma a quatro imagens do mesmo objeto, captadas a partir de ângulos diferentes.
Criar uma tarefa Multi-imagem para 3D
Cria uma tarefa Multi-imagem para 3D. A tarefa é executada em segundo plano. Para saber quanto tempo uma tarefa costuma demorar, consulte Tempos de processamento. Para saber quais os campos que uma tarefa tem, consulte O objeto da tarefa Multi-imagem para 3D.
Request
# Simple request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_urls": [
"<your publicly accessible image url or base64-encoded data URI>",
"<your second publicly accessible image url or base64-encoded data URI>"
]
}'
# With Ultra 2K geometry, PBR texturing, and GLB format
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_urls": [
"<your publicly accessible image url or base64-encoded data URI>",
"<your second publicly accessible image url or base64-encoded data URI>"
],
"ai_model": "meshy-7.1",
"geometry_resolution": "2k",
"should_texture": true,
"enable_pbr": true,
"target_formats": ["glb"]
}'
# Textured with Meshy N1 from the input images, the first as the front view
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_urls": [
"<your front view image url or base64-encoded data URI>",
"<your back view image url or base64-encoded data URI>"
],
"ai_model": "meshy-7.1",
"texture_model": "meshy-n1"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Parâmetros
- Name
- input_task_id
- Type
- string
- Obrigatório
- Description
Obrigatório, exceto se enviar
image_urls. O ID de uma tarefa Texto para imagem ou Imagem para imagem, incluindo uma de multivista. O Meshy utiliza as suas uma a quatro imagens como entrada. A tarefa tem de ser uma que tenha criado com a API e que tenha o estadoSUCCEEDED.
- Name
- image_urls
- Type
- array
- Obrigatório
- Description
Obrigatório, exceto se enviar
input_task_id. Uma a quatro imagens, cada uma como um URL público ou um data URI, comodata:image/jpeg;base64,<your base64-encoded image data>. Se enviar ambos, o Meshy utilizainput_task_id.Cada imagem tem de ser um ficheiro
.jpg,.jpeg,.pngou.webpde no máximo 20 MB, com pelo menos 32 pixels de cada lado e no máximo 178 956 970 pixels (largura × altura). Mais do que quatro imagens devolve400.Para os melhores resultados, as imagens devem mostrar o mesmo objeto a partir de ângulos diferentes. Com
meshy-7.1oulatest, o Meshy utiliza a primeira imagem como vista frontal, e a ordem das restantes não importa.
- Name
- ai_model
- Type
- string
- predefinição latest
- Description
O modelo de IA que gera o modelo 3D.
Valores disponíveis:
latest: Meshy 7.1meshy-7.1meshy-6meshy-6-litemeshy-7: obsoleto, enviemeshy-7.1em alternativa
- Name
- geometry_resolution
- Type
- string
- predefinição standard
- Description
A quantidade de detalhe de geometria a gerar.
Valores disponíveis:
standard2k: executa a passagem Ultra a 2048³. Requermeshy-7.1,latestou omeshy-7obsoleto.
- Name
- ultra_mode
- Type
- boolean
- ⚠ obsoleto
- predefinição false
- Description
Envie
geometry_resolutionem alternativa.ultra_mode: trueé o mesmo quegeometry_resolution: "2k".
- Name
- should_texture
- Type
- boolean
- predefinição true
- Description
Se deve gerar texturas.
truedevolve um modelo texturizado, efalseignora o passo de texturização e devolve uma malha sem texturas.
should_texture = true- Name
- texture_model
- Type
- string
- predefinição depends on ai_model
- Description
O modelo de IA que texturiza o modelo 3D a partir de várias vistas, na mesma tarefa. Deixe-o de fora para utilizar o modelo de textura predefinido para o seu
ai_model. Não altera o custo em créditos.Valores disponíveis:
meshy-7: Meshy 7, com mapas PBR e texturas até 8Kmeshy-n1: Meshy N1, uma textura de cor base de 2K apenas a partir de imagens de referência
Cada
ai_modelaceita ambos. Um pedido texturizado commeshy-6oumeshy-6-litedevolve400, assim como uma opção que o modelo de textura escolhido não suporte. Comshould_texture: false, o Meshy ignoratexture_model, mas um valor desconhecido continua a devolver400.Com
meshy-n1, o Meshy texturiza a partir detexture_image_urlsoutexture_image_url, ou a partir das imagens de entrada quando não enviar nenhuma delas. A primeira imagem é a vista frontal. Um modelo gerado com mais de 7 999 999 triângulos falha a tarefa, e o Meshy reembolsa os respetivos créditos.Consulte Modelos para saber o que faz cada modelo de textura e qual escolher.
- Name
- enable_pbr
- Type
- boolean
- predefinição false
- Description
Se deve também gerar mapas de metalicidade, rugosidade e normais, além da cor base. O modelo de textura Meshy 6 também gera um mapa de emissão, exceto a
texture_resolution: 8k. Comtexture_model: meshy-n1,truedevolve400.
- Name
- texture_resolution
- Type
- string
- predefinição 2k
- Description
O tamanho da textura de cor base. Um tamanho maior capta mais detalhe de superfície.
Valores disponíveis:
2k: 2048×20484k: 4096×40968k: 8192×8192
4ke8krequerem o modelo de textura Meshy 7 ou Meshy 6, e devolvem400com os restantes. A8k, o Meshy não gera um mapa de emissão.
- Name
- hd_texture
- Type
- boolean
- ⚠ obsoleto
- predefinição false
- Description
Envie
texture_resolutionem alternativa.hd_texture: trueé o mesmo quetexture_resolution: "4k". Se enviar ambos, o Meshy utilizatexture_resolution.
- Name
- texture_prompt
- Type
- string
- Description
Texto que orienta a textura, até 800 carateres. Texto mais longo devolve
400. Comtexture_model: meshy-n1, enviá-lo devolve400.
- Name
- texture_image_url
- Type
- string
- Description
Uma imagem 2D que orienta a textura, como um URL público ou um data URI, como
data:image/jpeg;base64,<your base64-encoded image data>. A imagem tem de ser um ficheiro.jpg,.jpeg,.pngou.webpde no máximo 20 MB, com pelo menos 32 pixels de cada lado e no máximo 178 956 970 pixels (largura × altura).Se enviar
texture_image_urletexture_prompt, o Meshy utilizatexture_prompt. Comtexture_model: meshy-n1, o Meshy texturiza a partir desta imagem como a vista frontal.A textura pode não resultar bem quando a forma na imagem é muito diferente do modelo 3D.
- Name
- texture_image_urls
- Type
- string[]
- Description
Uma a quatro imagens do objeto a partir de diferentes vistas que orientam a textura. O Meshy utiliza a primeira imagem como a vista frontal. A ordem das restantes vistas (esquerda, trás, direita) não importa.
Cada imagem segue as mesmas regras que
texture_image_url. É um URL público ou um data URI, em formato.jpg,.jpeg,.pngou.webp, de no máximo 20 MB, com pelo menos 32 pixels de cada lado e no máximo 178 956 970 pixels (largura × altura).Estas imagens orientam apenas a textura e não dependem de
image_urls. As duas listas podem conter imagens diferentes e números diferentes de imagens.texture_image_urlsrequer o modelo de textura Meshy 7 ou Meshy N1. Envie-o com um dos seguintes:ai_modeldemeshy-7.1,latestou omeshy-7obsoletotexture_modeldemeshy-7oumeshy-n1
Não pode enviá-lo com
texture_image_urloutexture_prompt.
- Name
- should_remesh
- Type
- boolean
- predefinição true (meshy-6-lite), false (other models)
- Description
Se deve fazer remesh ao modelo após a geração. Para obter o modelo 3D com a mais alta qualidade, defina como
false.
should_remesh = true- Name
- topology
- Type
- string
- predefinição triangle
- Description
O tipo de face do modelo com remesh.
Valores disponíveis:
quad: uma malha predominantemente de quadriláterostriangle: uma malha de triângulos decimada
Com
texture_model: meshy-n1,quaddevolve400quando o modelo sofre remesh, o que omeshy-6-litefaz por predefinição.
- Name
- target_polycount
- Type
- integer
- predefinição 30000
- Description
O número de faces a atingir, de
100a300000. O resultado pode diferir do alvo, dependendo da geometria do modelo. Um valor fora do intervalo devolve400.
- Name
- decimation_mode
- Type
- integer
- Description
Número de faces adaptativo, por nível. Quando o definir, o Meshy ignora
target_polycount.Valores disponíveis:
1: ultra2: alto3: médio4: baixo
- Name
- save_pre_remeshed_model
- Type
- boolean
- predefinição false
- Description
Se deve também guardar o GLB anterior ao remesh, devolvido em
model_urls.pre_remeshed_glb.
- Name
- symmetry_mode
- Type
- string
- ⚠ obsoleto
- predefinição auto
- Description
Deixe de fora. Não afeta o resultado.
Valores disponíveis:
off: sem simetriaauto: simetria baseada na geometria de entradaon: simetria imposta
- Name
- pose_mode
- Type
- string
- predefinição ""
- Description
A pose do modelo gerado.
Valores disponíveis:
a-pose: uma pose em At-pose: uma pose em T""(cadeia vazia): sem pose específica
- Name
- is_a_t_pose
- Type
- boolean
- ⚠ obsoleto
- predefinição false
- Description
Envie
pose_modeem alternativa. Se deve gerar o modelo numa pose em A ou em T.
- Name
- image_enhancement
- Type
- boolean
- predefinição true
- Description
Se deve otimizar as imagens de entrada antes de gerar.
falsemantém o aspeto exato das imagens de entrada, sem processamento de estilo. Suportado apenas commeshy-6,meshy-7.1oulatest. Enviá-lo commeshy-6-litedevolve400.
- Name
- remove_lighting
- Type
- boolean
- predefinição true
- Description
Se deve remover realces e sombras da textura de cor base. O resultado mais limpo funciona melhor sob a sua própria iluminação. Apenas o modelo de textura Meshy 6 o utiliza, e a
texture_resolution: 8kremove sempre a iluminação. Comtexture_model: meshy-n1,truedevolve400. Comai_model: meshy-6-litee o seu modelo de textura predefinido, enviá-lo devolve400.
- Name
- moderation
- Type
- boolean
- predefinição false
- Description
Se deve analisar as entradas em busca de conteúdo nocivo. O Meshy analisa cada imagem de entrada,
texture_image_urlou cada imagem emtexture_image_urls, e o texto emtexture_prompt. Se o Meshy encontrar conteúdo nocivo, o pedido devolve400e o Meshy não cria a tarefa.
- Name
- target_formats
- Type
- string[]
- Description
Os formatos de ficheiro 3D a gerar. O Meshy gera e devolve apenas os formatos que listar, o que pode encurtar a tarefa.
Valores disponíveis:
glbobjfbxstlusdz3mf
Se o deixar de fora, o Meshy gera todos os formatos exceto
3mf. O Meshy gera3mfapenas quando o lista.
- Name
- auto_size
- Type
- boolean
- predefinição false
- Description
Se deve estimar a altura real do objeto com visão por IA e redimensionar o modelo em conformidade. O Meshy coloca a origem na base, exceto se definir
origin_at.
auto_size = true- Name
- origin_at
- Type
- string
- predefinição bottom
- Description
Onde colocar a origem do modelo,
bottomoucenter.
- Name
- alpha_thumbnail
- Type
- boolean
- predefinição false
- Description
Se deve também renderizar uma pré-visualização com fundo transparente (RGBA), devolvida em
alpha_thumbnail_urlquando obtém a tarefa.thumbnail_urlnão é alterado.
- Name
- multi_view_thumbnails
- Type
- boolean
- predefinição false
- Description
Se deve também renderizar pré-visualizações frontal, direita, traseira e esquerda, devolvidas em
thumbnail_urlsquando obtém a tarefa.thumbnail_urlnão é alterado e continua a mostrar a vista frontal. Isto acrescenta cerca de 5 segundos à tarefa.
Devoluções
O campo result da resposta contém o ID da nova tarefa Multi-imagem para 3D.
Modos de falha
- Name
400 - Bad Request- Description
O pedido não pode ser executado. A mensagem de erro indica qual o problema encontrado. Por exemplo:
- Parâmetro em falta: Não foi enviado
image_urlsneminput_task_id. - Tarefa de entrada inválida:
input_task_idnão é uma tarefa Texto para imagem ou Imagem para imagem com estadoSUCCEEDED, nem uma de multivista. - Número de imagens inválido:
image_urlsoutexture_image_urlsnão contém entre 1 e 4 imagens. - Formato de imagem inválido: Uma imagem em
image_urlsnão está num formato suportado. - Entradas de textura em conflito:
texture_image_urlsfoi enviado comtexture_image_url, comtexture_promptou comshould_texture: false. - Modelo não suportado para textura multivista:
texture_image_urlsfoi enviado comai_modeldemeshy-6oumeshy-6-lite, exceto setexture_modelformeshy-7oumeshy-n1. - URL inacessível: O Meshy não consegue transferir uma imagem em
image_urlsoutexture_image_urls. - Imagem demasiado grande: Uma imagem em
image_urls,texture_image_urloutexture_image_urlstem mais de 20 MB. - Tamanho de imagem inválido: Uma imagem em
image_urls,texture_image_urloutexture_image_urlstem um lado com menos de 32 pixels, ou mais de 178 956 970 pixels (largura × altura). - Resolução não suportada para entrada multi-imagem:
geometry_resolutioné"4k", que este endpoint não suporta. Utilize2koustandard. - Modelo não suportado para opções de imagem:
image_enhancementfoi enviado comai_model: "meshy-6-lite", ouremove_lightingfoi enviado comai_model: "meshy-6-lite"e o seu modelo de textura predefinido. - Modelo de textura inválido:
texture_modelnão é um nome de modelo de textura válido. - Modelo de textura não disponível: Um pedido texturizado enviou
texture_modeldemeshy-6oumeshy-6-lite. Multi-imagem para 3D aceita apenas os modelos de textura que texturizam a partir de várias vistas. Enviemeshy-7oumeshy-n1, ou deixetexture_modelde fora. - Opção não suportada para o modelo de textura: O pedido solicita ao modelo de textura uma opção que este não suporta, como
enable_pbr: truecommeshy-n1ou uma textura4kcommeshy-6-lite. Consulte Modelos.
Corrija o pedido e envie-o novamente. Consulte Erros.
- Parâmetro em falta: Não foi enviado
- Name
401 - Unauthorized- Description
A chave de API está em falta ou é inválida. Verifique o cabeçalho
Authorization.
- Name
402 - Payment Required- Description
Por exemplo:
- Créditos insuficientes: A conta não tem créditos suficientes para esta tarefa, ou a conta atingiu um limite de créditos. Verifique o seu saldo de créditos e tente novamente.
- Plano gratuito: Criar uma tarefa requer um plano pago. Atualize o seu plano nas definições de subscrição e tente novamente.
- Name
403 - Forbidden- Description
A moderação de conteúdo bloqueou o prompt ou uma imagem de entrada. Altere a entrada e tente novamente.
- Name
404 - Not Found- Description
input_task_idnão corresponde a nenhuma das suas tarefas. Verifique o ID da tarefa e envie o pedido novamente.
- Name
429 - Too Many Requests- Description
Excedeu o seu limite de taxa. Aguarde e tente novamente. Consulte Limites de taxa.
Obter uma tarefa de Multi-imagem para 3D
Devolve uma tarefa de Multi-imagem para 3D através do seu ID.
Request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-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"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa da resposta de criação.
Retorna
Eliminar uma tarefa de Multi-imagem para 3D
Elimina permanentemente uma tarefa de Multi-imagem para 3D, incluindo os seus modelos e dados. Não pode anular uma eliminação.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/multi-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 keeps 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."
}
Parâmetros de caminho
- Name
- id
- Type
- path
- Description
O ID da tarefa a eliminar.
Estado da tarefa
Eliminar uma tarefa PENDING reembolsa os créditos utilizados quando a criou.
Uma tarefa IN_PROGRESS não pode ser eliminada. O pedido devolve 409 Conflict,
e a tarefa continua a ser executada. A Meshy não reembolsa uma tarefa que já começou,
pelo que eliminá-la custar-lhe-ia tanto os créditos como o resultado. Aguarde que
atinja o estado SUCCEEDED, FAILED, ou CANCELED, e só depois elimine-a.
Eliminar uma tarefa num estado final (SUCCEEDED, FAILED, ou CANCELED)
não reembolsa os seus créditos.
Devolve
200 OK quando a tarefa é eliminada, ou 409 Conflict quando a tarefa está
IN_PROGRESS.
Listar tarefas de Multi-imagem para 3D
Devolve uma lista das suas tarefas de Multi-imagem para 3D.
Request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-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"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
]
Parâmetros
- Name
- page_num
- Type
- integer
- predefinição 1
- Description
O número de página a devolver, até
255. Um valor superior devolve400.
- Name
- page_size
- Type
- integer
- predefinição 10
- Description
O número de tarefas por página, até
100.
- Name
- sort_by
- Type
- string
- Description
A ordem de ordenação.
Valores disponíveis:
+created_at: mais antigas primeiro-created_at: mais recentes primeiro
Devolve
Uma lista paginada de objetos de tarefa de Multi-imagem para 3D.
Transmitir uma tarefa de Multi-imagem para 3D
Transmite as atualizações de uma tarefa de Multi-imagem para 3D como Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/multi-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.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-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"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa proveniente da resposta de criação.
Devolve
Um fluxo de objetos de tarefa de Multi-imagem para 3D como Server-Sent Events.
Cada evento contém o objeto de tarefa completo, com a mesma estrutura devolvida pelo endpoint Get. Enquanto a tarefa estiver em PENDING ou IN_PROGRESS, os campos de resultado ainda não têm valores.
O objeto de tarefa Multi-imagem para 3D
Um objeto de tarefa Multi-imagem para 3D descreve uma geração de um modelo 3D a partir de uma a quatro imagens de um objeto. Contém o estado, o progress e os ficheiros do modelo quando a tarefa é bem-sucedida.
Propriedades
Example Multi-Image to 3D Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "multi-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"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
- Name
- id
- Type
- string
- Description
O ID da tarefa. Trate-o como uma string opaca e não dependa do seu formato.
- Name
- type
- Type
- string
- Description
O tipo de tarefa, sempre
multi-image-to-3d.
- Name
- model_urls
- Type
- object
- Description
URLs de transferência para o modelo 3D gerado, uma por formato de ficheiro. Um formato que a tarefa não gerou não tem chave, em vez de uma string vazia.
- Name
glb- Type
- string
- Description
O ficheiro GLB.
- Name
fbx- Type
- string
- Description
O ficheiro FBX.
- Name
obj- Type
- string
- Description
O ficheiro OBJ.
- Name
usdz- Type
- string
- Description
O ficheiro USDZ.
- Name
mtl- Type
- string
- Description
O ficheiro MTL, devolvido com o ficheiro OBJ quando o modelo tem texturas.
- Name
stl- Type
- string
- Description
O ficheiro STL.
- Name
3mf- Type
- string
- Description
O ficheiro 3MF. Presente apenas quando
target_formatsinclui3mf.
- Name
pre_remeshed_glb- Type
- string
- Description
O ficheiro GLB anterior ao remesh. Presente apenas quando criou a tarefa com
should_remesh: trueesave_pre_remeshed_model: true.
- Name
- thumbnail_url
- Type
- string
- Description
URL de transferência para uma imagem de pré-visualização do modelo. É igual a
thumbnail_urls.frontquando esse campo está presente.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL de transferência para uma versão de
thumbnail_urlcom fundo transparente (RGBA). Presente apenas quando criou a tarefa comalpha_thumbnail: truee a Meshy renderizou a pré-visualização transparente.
- Name
- thumbnail_urls
- Type
- object
- Description
URLs de transferência para pré-visualizações do modelo 3D a partir de quatro lados. Cada uma é um URL assinado para um PNG de 512×512, renderizado com os mesmos materiais e iluminação que
thumbnail_url. Pode utilizá-las para pré-visualizar o modelo a partir de vários ângulos sem transferir o GLB.Presente apenas quando criou a tarefa com
multi_view_thumbnails: truee a tarefa atingiuSUCCEEDED. Uma tarefa criada semmulti_view_thumbnails: truenão tem este campo.- Name
- front
- Type
- string
- Description
A vista frontal, a 0° em torno do eixo vertical. Corresponde a
thumbnail_url.
- Name
- right
- Type
- string
- Description
A vista direita, a 90°.
- Name
- back
- Type
- string
- Description
A vista traseira, a 180°.
- Name
- left
- Type
- string
- Description
A vista esquerda, a 270°.
- Name
- texture_prompt
- Type
- string
- Description
O prompt de texto que guiou a textura.
- Name
- texture_image_urls
- Type
- string[]
- Description
URLs de transferência para as imagens de referência de textura com que criou a tarefa, pela ordem em que as enviou. Presente apenas quando criou a tarefa com
texture_image_urls.
- Name
- ultra_mode
- Type
- boolean
- ⚠ obsoleto
- Description
Consulte
geometry_resolutionem vez disso.
- Name
- geometry_resolution
- Type
- string
- Description
O nível Ultra em que a tarefa foi executada, que é
2k. Uma tarefastandardnão tem este campo.
- Name
- progress
- Type
- integer
- Description
Quanto da tarefa está concluído, em percentagem. É
0até a tarefa começar e100quando é bem-sucedida.
- Name
- started_at
- Type
- timestamp
- Description
Momento em que a tarefa começou, em milissegundos Unix. É
0até a tarefa começar.
- Name
- created_at
- Type
- timestamp
- Description
Momento em que a tarefa foi criada, em milissegundos Unix.
- Name
- expires_at
- Type
- timestamp
- Description
Momento em que os resultados da tarefa expiram, em milissegundos Unix.
- Name
- finished_at
- Type
- timestamp
- Description
Momento em que a tarefa terminou, em milissegundos Unix. É
0até a tarefa terminar.
- Name
- status
- Type
- string
- Description
O estado da tarefa, um de
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDouCANCELED.
- Name
- texture_urls
- Type
- array
- Description
URLs de transferência para os mapas de textura que a tarefa gerou, como um array de objetos. Normalmente contém um objeto. Cada objeto tem estes campos:
- Name
base_color- Type
- string
- Description
O mapa de cor base.
- Name
metallic- Type
- string
- Description
O mapa metálico. Não incluído quando criou a tarefa com
enable_pbr: false.
- Name
normal- Type
- string
- Description
O mapa de normais. Não incluído quando criou a tarefa com
enable_pbr: false.
- Name
roughness- Type
- string
- Description
O mapa de rugosidade. Não incluído quando criou a tarefa com
enable_pbr: false.
- Name
emission- Type
- string
- Description
O mapa de emissão. Incluído apenas quando criou a tarefa com tudo o seguinte:
ai_model: meshy-6, com o seu modelo de textura predefinidoenable_pbr: true- um
texture_resolutionde2kou4k
- Name
- preceding_tasks
- Type
- integer
- Description
O número de tarefas à frente desta na fila. O valor só é relevante enquanto a tarefa está
PENDING.
- Name
- task_error
- Type
- object
- Description
Os detalhes do erro quando a tarefa falha. É
nulla menos que o estado sejaFAILED. Consulte Erros.
- Name
- consumed_credits
- Type
- integer
- Description
O número de créditos que a tarefa utilizou. Presente quando o estado é
PENDING,IN_PROGRESSouSUCCEEDED. É0para uma tarefaFAILED, porque a Meshy reembolsa os créditos quando uma tarefa falha.