lowpoly será descontinuado a 30/10/2026. Mude de modelo antes destas datas para evitar erros nos pedidos.
Retexture API
A Retexture API é uma funcionalidade que lhe permite integrar as capacidades de retexturização por IA da Meshy na sua própria aplicação. Nesta secção, encontrará toda a informação
de que precisa para começar a utilizar esta API.
Este endpoint permite-lhe criar uma nova tarefa de Retexturizar. Consulte
O objeto de tarefa Retexturizar para ver quais
propriedades estão incluídas no objeto de tarefa Retexturizar.
A tarefa é executada em segundo plano. Para saber quanto tempo normalmente demora, consulte Tempos de processamento.
Parâmetros
Apenas um dos input_task_id ou model_url é obrigatório. Se ambos forem fornecidos, input_task_id tem prioridade.
Name
input_task_id
Type
string
Obrigatório
Description
O ID da tarefa Imagem para 3D ou Texto para 3D concluída que deseja retexturizar.
Esta tarefa deve ser uma das seguintes: Texto para 3D Preview, Texto para 3D Refine, Imagem para 3D ou Remesh. Além disso, deve ter o estado SUCCEEDED.
Name
model_url
Type
string
Obrigatório
Description
Forneça um modelo 3D para a Meshy texturizar. Formatos suportados: .glb, .gltf, .obj, .fbx, .stl.
Tamanho máximo do ficheiro: 400 MB para um URL http ou https, 100 MB para um URI data:.
Um ficheiro GLB, glTF, FBX ou OBJ com mais de 100 MB pode ter no máximo 10.000.000 de faces. As faces são contadas como triângulos: um quadrilátero conta como 2, e uma malha desenhada mais de uma vez conta uma vez por cópia. Acima de 100 MB, um ficheiro FBX deve ser binário FBX 7.1 ou mais recente, e um ficheiro GLB ou glTF não pode usar compressão Draco.
Existem duas formas de fornecer o modelo:
URL publicamente acessível: Um URL acessível a partir da internet pública.
Data URI: Um URI de dados codificado em base64 do modelo. Use o MIME type application/octet-stream. Exemplo: data:application/octet-stream;base64,<os seus dados do modelo codificados em base64>.
É obrigatório exatamente um input de estilo: text_style_prompt, image_style_url, ou multiview_image_urls. multiview_image_urls não pode ser combinado com nenhum dos outros dois; se forem fornecidos tanto text_style_prompt como image_style_url, image_style_url tem prioridade.
Name
text_style_prompt
Type
string
Obrigatório
Description
Descreva o estilo de textura desejado para o objeto usando texto. Máximo de 800 caracteres.
Name
image_style_url
Type
string
Obrigatório
Description
Forneça uma imagem 2D para orientar o processo de texturização. Atualmente suportamos os formatos .jpg, .jpeg, .png e .webp.
Tamanho máximo do ficheiro: 20 MB.
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 codificado em base64 da imagem. Exemplo de um data URI: data:image/jpeg;base64,<os seus dados da imagem codificados em base64>
A texturização de imagem pode não funcionar de forma ótima se existirem diferenças significativas de geometria entre o asset original e a imagem carregada.
Name
multiview_image_urls
Type
string[]
Obrigatório
Description
Forneça entre 1 e 4 imagens que mostrem o mesmo objeto a partir de diferentes vistas para orientar a texturização. A primeira imagem é a vista principal (frontal); a ordem das restantes vistas (esquerda, trás, direita) não importa.
Cada elemento aceita os mesmos formatos que image_style_url (um URL publicamente acessível ou um data URI em base64, .jpg/.jpeg/.png/.webp).
Tamanho máximo do ficheiro: 20 MB por imagem.
Requer um ai_model: "meshy-7" explícito.
Name
ai_model
Type
string
predefinição latest
Description
ID do modelo de IA a utilizar para retexturizar. Valores disponíveis: meshy-6-lite, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
predefinição false
Description
Mantém a disposição UV existente do modelo em vez de gerar uma nova.
Se estiver a retexturizar um modelo gerado pela Meshy (através de input_task_id, ou de um model_url que aponte para um resultado da Meshy), defina como true para reutilizar a sua disposição UV otimizada.
Se estiver a retexturizar um modelo de terceiros que carregou, defina como true quando já possuir boas UVs que deseje manter, ou deixe como false para que a Meshy faça o unwrap de novas UVs (melhor para modelos sem um mapeamento UV adequado).
Name
enable_pbr
Type
boolean
predefinição false
Description
Gera mapas PBR (metallic, roughness, 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 e latest não produzem um mapa de emissão.
Name
texture_resolution
Type
string
predefinição 2k
Description
Resolução da textura de cor base. Um de 2k (2048×2048), 4k (4096×4096), ou 8k (8192×8192). Resoluções mais altas capturam mais detalhe de superfície.
4k e 8k requerem ai_modelmeshy-6, meshy-7 ou latest. Em 8k, nenhum mapa de emissão é produzido.
Name
hd_texture
Type
boolean
⚠ obsoleto
predefiniçã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
remove_lighting
Type
boolean
predefinição true
Description
Remove reflexos e sombras da textura de cor base, produzindo um resultado mais limpo que funciona melhor sob configurações de iluminação personalizadas.
Apenas aplicado quando ai_model é meshy-6 e texture_resolution é 2k ou 4k. Com meshy-7 ou latest, e em 8k, é aceite e ignorado. Com meshy-6-lite, enviá-lo com qualquer valor devolve 400.
Name
target_formats
Type
string[]
Description
Especifica quais formatos de ficheiro 3D incluir no resultado. 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.
Quando omitido, são gerados todos os formatos exceto 3mf. O 3mf só é incluído quando especificado explicitamente.
Name
alpha_thumbnail
Type
boolean
predefinição false
Description
Quando definido como true, a tarefa renderiza adicionalmente uma versão com fundo transparente (RGBA) do preview e devolve-a como alpha_thumbnail_url na resposta GET. O campo thumbnail_url existente permanece inalterado.
Retornos
A propriedade result da resposta contém o id da tarefa de Retexturizar recém-criada.
Modos de falha
Name
400 - Bad Request
Description
O pedido foi inaceitável. Causas comuns:
Parâmetro em falta: Deve ser fornecido model_url ou input_task_id.
Estilo em falta: Deve ser fornecido um de text_style_prompt, image_style_url ou multiview_image_urls.
Inputs de estilo em conflito: multiview_image_urls não pode ser combinado com text_style_prompt ou image_style_url.
Modelo não suportado para multivista: multiview_image_urls requer um ai_model: "meshy-7" explícito.
Modelo não disponível: ai_model: "meshy-7" e ai_model: "meshy-6-lite" estão a ser disponibilizados progressivamente e podem ainda não estar ativados para a sua conta.
Tarefa de input inválida: input_task_id deve referir-se a uma tarefa bem-sucedida de um modelo suportado.
Formato de modelo inválido: model_url aponta para um ficheiro com uma extensão não suportada.
URL inacessível: Não foi possível transferir model_url, image_style_url ou um elemento de multiview_image_urls.
Ficheiro de modelo demasiado grande: O ficheiro de model_url excede 400 MB (URL http ou https) ou 100 MB (URI data:).
Demasiadas faces: O ficheiro de model_url tem mais de 100 MB e mais de 10.000.000 de faces. Reduza o número de faces e envie o ficheiro novamente.
FBX ASCII acima de 100 MB: O ficheiro de model_url é um FBX ASCII acima de 100 MB. Envie-o como FBX binário ou GLB.
Ficheiro de modelo ilegível: O ficheiro de model_url tem mais de 100 MB e o seu cabeçalho não pode ser lido, por exemplo um GLB ou glTF comprimido com Draco, ou um FBX binário anterior à versão 7.1.
Cabeçalho do modelo demasiado complexo: O ficheiro de model_url tem mais de 100 MB e o seu cabeçalho tem demasiadas malhas, nós ou registos para verificar. Reduza o número de objetos no ficheiro e envie-o novamente.
Imagem demasiado grande: A imagem de image_style_url ou um elemento de multiview_image_urls excede 20 MB.
Name
401 - Unauthorized
Description
Falha na autenticação. 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/retexture
# Retexture with text promptcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style", "enable_original_uv": true, "enable_pbr": true }'# Retexture with image style and PBRcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "image_style_url": "<your publicly accessible image url or base64-encoded data URI>", "ai_model": "latest", "enable_pbr": true, "enable_original_uv": true }'
Este endpoint permite obter uma tarefa de Retexturizar a partir de um id de tarefa válido.
Consulte O Objeto de Tarefa Retexture para ver quais
propriedades estão incluídas no objeto de tarefa Retexture.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de Retexturizar a obter.
Devolve
A resposta contém o objeto de tarefa Retexture. Consulte a secção
O Objeto de Tarefa Retexture para mais detalhes.
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","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=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","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" } ],"task_error": {"message":"" },"consumed_credits":10}
Este endpoint elimina permanentemente uma tarefa de retexturização, incluindo todos os modelos e dados associados. Esta ação é irreversível.
Parâmetros de Path
Name
id
Type
path
Description
O ID da tarefa de retexturização 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 iniciado não são reembolsáveis, pelo que
eliminá-la a meio da execução custar-lhe-ia tanto os créditos como o
resultado. Aguarde até 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.
Retorna
Retorna 200 OK em caso de sucesso, ou 409 Conflict quando a tarefa está
IN_PROGRESS.
// 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."}
[ {"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","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=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","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": {"message":"" },"consumed_credits":10 }]
O objeto Retexture Task é uma unidade de trabalho que a Meshy utiliza para gerar uma textura 3D a partir de entradas de texto ou de imagem.
O modelo tem as seguintes propriedades:
Propriedades
Name
id
Type
string
Description
Identificador único da tarefa. Embora utilizemos um UUID k-sortable para os ids de tarefas como
pormenor de implementação, não deve fazer quaisquer suposições sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa Retexture. O valor é retexture.
Name
model_urls
Type
object
Description
URL transferível para o ficheiro do modelo 3D texturizado gerado pela Meshy.
Name
glb
Type
string
Description
URL transferível para o ficheiro GLB.
Name
fbx
Type
string
Description
URL transferível para o ficheiro FBX.
Name
obj
Type
string
Description
URL transferível para o ficheiro OBJ.
Name
usdz
Type
string
Description
URL transferível para o ficheiro USDZ.
Name
mtl
Type
string
Description
URL transferível para o ficheiro MTL, devolvido juntamente com as exportações OBJ quando existem texturas.
Name
stl
Type
string
Description
URL transferível para o ficheiro STL.
Name
3mf
Type
string
Description
URL transferível para o ficheiro 3MF. Apenas presente quando 3mf foi solicitado através de target_formats.
Name
text_style_prompt
Type
string
Description
Este é o prompt de texto que foi utilizado para criar a tarefa de texturização.
Name
image_style_url
Type
string
Description
Esta é a imagem de entrada que foi utilizada para criar a tarefa de texturização.
Name
multiview_image_urls
Type
string[]
Description
URLs transferíveis para as imagens de referência em Multivista que foram utilizadas para criar a tarefa de texturização. Apenas presente quando a tarefa foi criada com multiview_image_urls.
Name
thumbnail_url
Type
string
Description
URL transferível para a imagem de miniatura do ficheiro do modelo.
Name
alpha_thumbnail_url
Type
string
Description
URL transferível 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 gerada com sucesso; caso contrário, este campo é omitido.
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 for bem-sucedida, 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 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
a norma RFC 3339.
Por exemplo, sexta-feira, 1 de setembro de 2023 12:00:00 PM GMT é representado como 1693569600000. Isto aplica-se
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
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 a partir da tarefa. Normalmente, esta contém apenas um objeto de URL de textura. Cada URL de textura tem as seguintes propriedades:
Name
base_color
Type
string
Description
URL transferível para a imagem do mapa de cor base.
Name
metallic
Type
string
Description
URL transferível para a imagem do mapa metálico.
Se a tarefa for criada com enable_pbr: false, esta propriedade será omitida.
Name
normal
Type
string
Description
URL transferível para a imagem do mapa de normais.
Se a tarefa for criada com enable_pbr: false, esta propriedade será omitida.
Name
roughness
Type
string
Description
URL transferível para a imagem do mapa de rugosidade.
Se a tarefa for criada com enable_pbr: false, esta propriedade será omitida.
Name
emission
Type
string
Description
URL transferível para a imagem do mapa de emissão.
Se a tarefa for criada com enable_pbr: false, com ai_modelmeshy-6-lite, meshy-7 ou latest, ou com texture_resolution: 8k, esta propriedade será omitida.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas precedentes.
Esta propriedade apenas está presente quando o estado da tarefa é 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. 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 Retexture Task Model
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","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=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","image_style_url":"https://assets.meshy.ai/***/image/example_image.jpg?Expires=***","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","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": {"message":"" },"consumed_credits":10}