A API de Retexturizar é um recurso que permite integrar os recursos de retexturização por IA da Meshy ao seu próprio aplicativo. Nesta seção, você encontrará todas as informações
necessárias para começar a usar esta API.
Este endpoint permite criar uma nova tarefa de Retexturizar. Consulte
O objeto da tarefa de Retexturizar para ver quais
propriedades estão incluídas no objeto da tarefa de Retexturizar.
Parâmetros
Apenas um entre input_task_id ou model_url é obrigatório. Se ambos forem fornecidos, input_task_id terá prioridade.
Name
input_task_id
Type
string
Obrigatório
Description
O ID da tarefa concluída de Imagem para 3D ou Texto para 3D que você deseja retexturizar.
Esta tarefa deve ser uma das seguintes: prévia de Texto para 3D, refinamento de Texto para 3D, Imagem para 3D ou Remesh. Além disso, ela deve ter um status SUCCEEDED.
Name
model_url
Type
string
Obrigatório
Description
Forneça um modelo 3D para a Meshy texturizar. Formatos compatíveis: .glb, .gltf, .obj, .fbx, .stl.
Há duas formas de fornecer o modelo:
URL acessível publicamente: uma URL acessível pela internet pública.
Data URI: uma Data URI codificada em base64 do modelo. Use o MIME type application/octet-stream. Exemplo: data:application/octet-stream;base64,<your base64-encoded model data>.
Apenas um entre text_style_prompt ou image_style_url é obrigatório. Se ambos forem fornecidos, image_style_url terá prioridade.
Name
text_style_prompt
Type
string
Obrigatório
Description
Descreva o estilo de textura desejado para o objeto usando texto. Máximo de 600 caracteres.
Name
image_style_url
Type
string
Obrigatório
Description
Forneça uma imagem 2D para orientar o processo de texturização. Atualmente, oferecemos suporte aos formatos .jpg, .jpeg e .png.
Há duas formas de fornecer a imagem:
URL acessível publicamente: uma URL acessível pela internet pública
Data URI: uma Data URI codificada em base64 da imagem. Exemplo de uma Data URI: data:image/jpeg;base64,<your base64-encoded image data>
A texturização por imagem pode não funcionar de forma ideal se houver diferenças substanciais de geometria entre o asset original e a imagem enviada.
Name
ai_model
Type
string
padrão latest
Description
ID do modelo de IA a ser usado para retexturização. Valores disponíveis: meshy-5, meshy-6, latest (Meshy 6).
Name
enable_original_uv
Type
boolean
padrão false
Description
Mantenha o layout UV existente do modelo em vez de gerar um novo.
Se você estiver retexturizando um modelo gerado pela Meshy (via input_task_id ou um model_url que aponta para uma saída da Meshy), defina isto como true para reutilizar seu layout UV otimizado.
Se você estiver retexturizando um modelo de terceiros que enviou, defina true quando ele já tiver UVs boas que você deseja manter, ou deixe como false para permitir que a Meshy gere novas UVs (ideal para modelos que não têm mapeamento UV adequado).
Name
enable_pbr
Type
boolean
padrã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 ou latest.
Name
hd_texture
Type
boolean
padrão false
Description
Gera a textura de cor base em resolução 4K (4096×4096) para maior nível de detalhe.
Compatível somente quando ai_model é meshy-6 ou latest. Mapas PBR são sempre gerados em 2K.
Name
remove_lighting
Type
boolean
padrão true
Description
Remove realces e sombras da textura de cor base, produzindo um resultado mais limpo que funciona melhor em configurações de iluminação personalizadas.
Compatível somente quando ai_model é meshy-6 ou latest.
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 compatíveis são incluídos.
Quando omitido, todos os formatos, exceto 3mf, são gerados. 3mf só é incluído quando especificado explicitamente.
Name
alpha_thumbnail
Type
boolean
padrão false
Description
Quando definido como true, a tarefa renderiza adicionalmente uma versão da prévia com fundo transparente (RGBA) e a retorna 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
A solicitação não foi aceitável. Causas comuns:
Parâmetro ausente: model_url ou input_task_id deve ser fornecido.
Estilo ausente: text_style_prompt ou image_style_url deve ser fornecido.
Tarefa de entrada inválida: o input_task_id deve se referir a uma tarefa bem-sucedida de um modelo compatível.
Formato de modelo inválido: o model_url aponta para um arquivo com uma extensão não compatível.
URL inacessível: o model_url ou image_style_url não pôde ser baixado.
Name
401 - Unauthorized
Description
Falha na autenticação. Verifique sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para executar esta tarefa.
Name
429 - Too Many Requests
Description
Você excedeu seu limite de taxa.
Request
POST
/openapi/v1/retexture
# Retexture with text promptcurl https://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 PBRcurl https://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": "https://cdn.meshy.ai/image/example_image.jpg", "ai_model": "latest", "enable_pbr": true, "enable_original_uv": true }'
Este endpoint permite recuperar uma tarefa Retexturizar dado um id de tarefa válido.
Consulte O objeto de tarefa Retexturizar para ver quais
propriedades estão incluídas no objeto de tarefa Retexturizar.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa Retexturizar a ser recuperada.
{"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","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"task_error": {"message":"" },"consumed_credits":10}
[ {"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","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":10 }]
O objeto de Tarefa Retexturizar é uma unidade de trabalho que o Meshy usa para gerar uma textura 3D a partir de entradas de texto ou imagem.
O modelo tem as seguintes propriedades:
Propriedades
Name
id
Type
string
Description
Identificador exclusivo da tarefa. Embora usemos um UUID k-ordenável para ids de tarefa como
detalhe de implementação, você não deve fazer nenhuma suposição sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa de Retexturizar. O valor é retexture.
Name
model_urls
Type
object
Description
URL para download do arquivo de modelo 3D texturizado gerado pela Meshy.
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 junto com exportações OBJ quando há texturas 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
text_style_prompt
Type
string
Description
Este é o prompt de texto que foi usado para criar a tarefa de texturização.
Name
image_style_url
Type
string
Description
Esta é a entrada de imagem que foi usada para criar a tarefa de texturização.
Name
thumbnail_url
Type
string
Description
URL para download da imagem em miniatura do arquivo de modelo.
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 a pré-visualização transparente foi renderizada com sucesso; caso contrário, este campo é omitido.
Name
progress
Type
integer
Description
Progresso da tarefa. Se a tarefa ainda não tiver sido iniciada, esta propriedade será 0. Quando a tarefa for concluída com sucesso, 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 é representada 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 finalizada, em milissegundos. Se a tarefa ainda não tiver sido finalizada, esta propriedade será 0.
Name
status
Type
string
Description
Status 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 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, esta propriedade será omitida.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas anteriores.
Esta propriedade só é apresentada quando o status da tarefa é PENDING.
Name
task_error
Type
object
Description
Detalhes do erro para tarefas com falha. 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 status da tarefa é PENDING, IN_PROGRESS ou SUCCEEDED. Retorna 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","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":10}