A API de Retexturizar é 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 usar 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.
Parâmetros
Apenas um de 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 concluída de Imagem para 3D ou Texto para 3D que pretende retexturizar.
Esta tarefa deve ser uma das seguintes tarefas: Pré-visualização de Texto para 3D, Refinamento de Texto para 3D, 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.
Existem duas formas de fornecer o modelo:
URL acessível publicamente: Um URL que é acessível a partir da internet pública.
Data URI: Um Data URI do modelo codificado em base64. Use o MIME type application/octet-stream. Exemplo: data:application/octet-stream;base64,<your base64-encoded model data>.
Apenas um de text_style_prompt ou image_style_url é obrigatório. Se ambos forem fornecidos, image_style_url tem prioridade.
Name
text_style_prompt
Type
string
Obrigatório
Description
Descreva o estilo de textura pretendido do 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 suportamos os formatos .jpg, .jpeg e .png.
Existem duas formas de fornecer a imagem:
URL acessível publicamente: Um URL que é acessível a partir da internet pública
Data URI: Um Data URI da imagem codificado em base64. Exemplo de um Data URI: data:image/jpeg;base64,<your base64-encoded image data>
A texturização por imagem pode não funcionar de forma ideal se existirem diferenças substanciais de geometria entre o asset original e a imagem carregada.
Name
ai_model
Type
string
predefinição latest
Description
ID do modelo de IA a usar para retexturizar. Valores disponíveis: meshy-5, meshy-6, latest (Meshy 6).
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 que a Meshy gerou (via input_task_id, ou um model_url que aponta para um resultado da Meshy), defina isto como true para reutilizar a sua disposição UV otimizada.
Se estiver a retexturizar um modelo de terceiros que carregou, defina true quando este já tiver UVs boas que queira manter, ou deixe como false para permitir que a Meshy desembrulhe UVs novas (melhor para modelos sem mapeamento UV adequado).
Name
enable_pbr
Type
boolean
predefinição false
Description
Gera mapas PBR (metálico, rugosidade, normal) além da cor base. Também é incluído um mapa de emissão quando ai_model é meshy-6 ou latest.
Name
hd_texture
Type
boolean
predefinição false
Description
Gera a textura de cor base em resolução 4K (4096×4096) para maior detalhe.
Suportado apenas quando ai_model é meshy-6 ou latest. Os mapas PBR são sempre gerados a 2K.
Name
remove_lighting
Type
boolean
predefinição true
Description
Remove brilhos e sombras da textura de cor base, produzindo um resultado mais limpo que funciona melhor com configurações de iluminação personalizadas.
Suportado apenas quando ai_model é meshy-6 ou latest.
Name
target_formats
Type
string[]
Description
Especifica quais os formatos de ficheiro 3D a 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, todos os formatos exceto 3mf são gerados. 3mf só é incluído quando explicitamente especificado.
Name
alpha_thumbnail
Type
boolean
predefinição false
Description
Quando definido como true, a tarefa renderiza adicionalmente uma versão com fundo transparente (RGBA) da pré-visualização e devolve-a como alpha_thumbnail_url na resposta GET. O campo existente thumbnail_url permanece inalterado.
Devolve
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 não era aceitável. Causas comuns:
Parâmetro em falta: Deve ser fornecido model_url ou input_task_id.
Estilo em falta: Deve ser fornecido text_style_prompt ou image_style_url.
Tarefa de entrada inválida: O input_task_id deve referir-se a uma tarefa bem-sucedida de um modelo suportado.
Formato de modelo inválido: O model_url aponta para um ficheiro com uma extensão não suportada.
URL inacessível: Não foi possível descarregar o model_url ou image_style_url.
Name
401 - Unauthorized
Description
A autenticação falhou. Verifique a sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para executar esta tarefa.
Name
429 - Too Many Requests
Description
Excedeu o 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-lhe obter uma tarefa de Retexturizar dado um id de tarefa válido.
Consulte O objeto de tarefa Retexturizar para ver que
propriedades estão incluídas no objeto de tarefa Retexturizar.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de Retexturizar a obter.
{"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 de Retexturizar é uma unidade de trabalho que a Meshy utiliza 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 único da tarefa. Embora usemos um UUID ordenável por k para os ids das tarefas como
detalhe de implementação, não deve fazer quaisquer suposições sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa Retexturizar. O valor é retexture.
Name
model_urls
Type
object
Description
URL de transferência para o ficheiro de modelo 3D com textura gerado pela Meshy.
Name
glb
Type
string
Description
URL de transferência para o ficheiro GLB.
Name
fbx
Type
string
Description
URL de transferência para o ficheiro FBX.
Name
obj
Type
string
Description
URL de transferência para o ficheiro OBJ.
Name
usdz
Type
string
Description
URL de transferência para o ficheiro USDZ.
Name
mtl
Type
string
Description
URL de transferência para o ficheiro MTL, devolvido juntamente com exportações OBJ quando existem texturas.
Name
stl
Type
string
Description
URL de transferência para o ficheiro STL.
Name
3mf
Type
string
Description
URL de transferência para o ficheiro 3MF. Presente apenas quando 3mf foi solicitado através de 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 imagem de entrada que foi usada para criar a tarefa de texturização.
Name
thumbnail_url
Type
string
Description
URL de transferência para a imagem de miniatura do ficheiro do modelo.
Name
alpha_thumbnail_url
Type
string
Description
URL de transferência para 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. Assim que a tarefa tiver sido concluída com sucesso, 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 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
Um array de objetos de URL de textura que são gerados a partir da tarefa. Normalmente, 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 transferência para a imagem do mapa de cor base.
Name
metallic
Type
string
Description
URL de transferência 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 de transferência 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 de transferência 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 de transferência para a 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ó 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","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}