A API de Texto para 3D é uma funcionalidade que lhe permite integrar as capacidades de Texto para 3D 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.
O Texto para 3D utiliza um fluxo de trabalho em dois passos. Primeiro, crie uma tarefa de preview (mode: "preview") para gerar uma malha 3D sem textura, para que possa avaliar a forma. Em seguida, passe o ID da tarefa de preview concluída para uma tarefa de refine (mode: "refine") para aplicar textura à malha. Ambos os passos partilham o mesmo endpoint.
Este endpoint cria uma tarefa de preview de Texto para 3D, que gera uma malha 3D sem textura (apenas geometria) a partir de um prompt de texto. Este é o primeiro passo do fluxo de trabalho em duas etapas. Assim que o preview for concluído com sucesso, utilize o ID da tarefa devolvido para criar uma tarefa refine para aplicar texturas. Consulte
O Objeto de Tarefa de Texto para 3D para o esquema completo da resposta.
Parâmetros
Name
mode
Type
string
Obrigatório
Description
Este campo deve ser definido como "preview" ao criar uma tarefa de preview.
Name
prompt
Type
string
Obrigatório
Description
Descreva que tipo de objeto é o modelo 3D. Máximo de 800 caracteres.
Name
model_type
Type
string
predefinição standard
Description
Especifique o tipo de geração de malha 3D.
Valores disponíveis:
standard: Geração regular de malha 3D de alto detalhe.
smart-topology: Escolha o modelo Smart Topology com ai_model (meshy-t2).
lowpoly (obsoleto): Gera malha low-poly otimizada para polígonos mais limpos. Recomendamos usar smart-topology em vez disso.
Quando smart-topology é selecionado, should_remesh e decimation_mode são ignorados, e apenas topology: triangle é aceite.
Quando lowpoly é selecionado, ai_model, topology, target_polycount e should_remesh são ignorados.
Name
ai_model
Type
string
predefinição latest
Description
ID do modelo a utilizar. Os valores disponíveis dependem de model_type.
meshy-t2 (predefinição): o modelo Smart Topology — topology mais limpa, partes separadas nativamente, saída em triângulos, e uma contagem de faces que pode definir com target_polycount.
Name
geometry_resolution
Type
string
predefinição standard
Description
Passagem de geração de geometria. 2k executa a passagem Ultra a 2048³; 4k executa-a a
4096³ para o detalhe de superfície mais fino.
Valores disponíveis: standard, 2k, 4k
Apenas suportado no mode preview. Requer meshy-7.1 ou latest.
Name
ultra_mode
Type
boolean
⚠ obsoleto
predefinição false
Description
Utilize geometry_resolution em vez disso. ultra_mode: true é equivalente a geometry_resolution: "2k".
Name
should_remesh
Type
boolean
predefinição false (Meshy 6 and Meshy 7 models), true (others)
Description
Controla se a fase de remesh deve ser ativada. Para o modelo de maior qualidade, recomendamos definir should_remesh como false.
Aplica-se apenas quando should_remesh = true
Name
topology
Type
string
predefinição triangle
Description
Especifique a topology do modelo gerado.
Valores disponíveis:
quad: Gera uma malha predominantemente em quadriláteros.
triangle: Gera uma malha triangular decimada.
A saída do Smart Topology é apenas em triângulos. Solicitar quad juntamente com ai_model: meshy-t2 devolve um erro.
Name
decimation_mode
Type
integer
Description
Ative a decimação adaptativa definindo um nível de contagem de polígonos. Quando definido, target_polycount é ignorado.
Valores disponíveis:
1: Adaptativo — contagem de polígonos ultra.
2: Adaptativo — contagem de polígonos alta.
3: Adaptativo — contagem de polígonos média.
4: Adaptativo — contagem de polígonos baixa.
Name
target_polycount
Type
integer
Description
Número alvo de polígonos (faces) na saída. A contagem real pode desviar-se do alvo dependendo da geometria.
target_polycount tem efeito em dois casos independentes:
Remesh — com should_remesh: true num modelo standard. A malha é remeshed (decimada) para aproximadamente esta contagem. Intervalo de 100 a 300 000, predefinição 30 000. Se decimation_mode estiver definido, tem prioridade e target_polycount é ignorado.
Smart Topology — com model_type: smart-topology e ai_model: meshy-t2. O modelo é gerado diretamente com esta contagem de faces; nenhum remesh é executado e should_remesh não é necessário. Intervalo de 100 a 15 000, predefinição 4 000.
Name
symmetry_mode
Type
string
⚠ obsoleto
predefinição auto
Description
Obsoleto. Este parâmetro já não afeta a saída.
O campo symmetry_mode controla o comportamento da simetria durante o processo de geração do modelo.
Os valores válidos são:
off: Desativa a simetria.
auto: Determina e aplica automaticamente a simetria com base na geometria de entrada.
Utilize pose_mode em vez disso. Se deve gerar o modelo numa pose A/T.
Name
art_style
Type
string
⚠ obsoleto
predefinição realistic
Description
Não suportado pelo Meshy-6. Os pedidos que utilizem o Meshy-6 irão ignorar art_style, e algumas combinações podem causar erros. Valores disponíveis: realistic, sculpture.
enable_pbr deve ser definido como false ao utilizar o estilo Sculpture, uma vez que o estilo Sculpture gera o seu próprio conjunto de mapas PBR.
Name
moderation
Type
boolean
predefinição false
Description
Quando definido como true, o conteúdo de entrada será automaticamente analisado em busca de conteúdo potencialmente prejudicial. Se for detetado conteúdo prejudicial, a tarefa não avançará para a geração.
O texto de prompt será analisado.
Name
target_formats
Type
string[]
Description
Especifica quais os formatos de ficheiro 3D a incluir na saída. 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. 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) do preview e devolve-a como alpha_thumbnail_url na resposta GET. O campo existente thumbnail_url permanece inalterado.
Name
auto_size
Type
boolean
predefinição false
Description
Quando definido como true, o serviço utiliza visão de IA para estimar automaticamente a altura real do objeto e redimensionar o modelo em conformidade. A origem terá como predefinição bottom, a menos que origin_at seja explicitamente definido.
Aplica-se apenas quando auto_size = true
Name
origin_at
Type
string
predefinição bottom
Description
Posição da origem quando auto_size está ativado.
Valores disponíveis: bottom, center.
Retorno
A propriedade result da resposta contém o id da tarefa da nova tarefa de Texto para 3D criada.
Modos de falha
Name
400 - Bad Request
Description
O pedido foi inaceitável. Causas comuns:
Parâmetro em falta: Falta um parâmetro obrigatório (por exemplo, prompt, mode).
Parâmetro inválido: art_style não é um dos valores permitidos.
Prompt demasiado longo: O prompt excede o limite de caracteres.
Modelo não suportado para low poly: ai_model: "meshy-6-lite" não suporta model_type: "lowpoly".
Modelo não suportado para Ultra: geometry_resolution requer meshy-7.1 ou latest.
Name
401 - Unauthorized
Description
A autenticação falhou. Verifique a sua chave de API.
Este endpoint cria uma tarefa de refine de Texto para 3D, que aplica textura a uma malha de pré-visualização concluída. Deve fornecer o preview_task_id de uma tarefa de pré-visualização bem-sucedida. Este é o segundo passo do fluxo de trabalho de dois passos.
Parâmetros
Name
mode
Type
string
Obrigatório
Description
Este campo deve ser definido como "refine" ao criar uma tarefa de refine.
Name
preview_task_id
Type
string
Obrigatório
Description
O id da tarefa de pré-visualização correspondente.
O estado da tarefa de pré-visualização indicada deve ser SUCCEEDED.
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 (não é produzido nenhum mapa de emissão). meshy-6-lite, meshy-7.1 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. Uma das seguintes: 2k (2048×2048), 4k (4096×4096) ou 8k (8192×8192). Resoluções mais altas capturam mais detalhe de superfície. Aplica-se apenas ao mode refine.
4k e 8k requerem ai_modelmeshy-6, meshy-7.1 ou latest. Em 8k, não é produzido nenhum mapa de emissão.
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
texture_prompt
Type
string
Description
Forneça um prompt de texto adicional para guiar o processo de texturização. Máximo de 800 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 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,<your base64-encoded image data>
A texturização por imagem pode não funcionar de forma ótima se existirem diferenças de geometria substanciais entre o asset original e a imagem carregada. Apenas um dos parâmetros 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 por defeito para texturizar o modelo.
Omita este parâmetro para herdar o modelo usado pela tarefa de pré-visualização, o que mantém uma pré-visualização e o seu refine no mesmo modelo do início ao fim. Passe um valor explícito para substituir essa herança.
Um latest explícito resolve-se aqui exatamente como na tarefa de pré-visualização (atualmente Meshy 7.1), pelo que uma pré-visualização latest e o seu refine latest acabam sempre no mesmo modelo de textura.
Name
moderation
Type
boolean
predefinição false
Description
Quando definido como true, o conteúdo de entrada será automaticamente analisado em busca de conteúdo potencialmente prejudicial. Se for detetado conteúdo prejudicial, a tarefa não avançará para a geração.
Tanto o texto de texture_prompt como a imagem de texture_image_url serão analisados.
Name
remove_lighting
Type
boolean
predefiniçã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.
Só tem efeito quando ai_model é meshy-6; outros modelos ignoram-no.
Name
target_formats
Type
string[]
Description
Especifica quais formatos de ficheiro 3D incluir na saída. 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. 3mf só é incluído quando especificado explicitamente.
Name
alpha_thumbnail
Type
boolean
predefinição false
Description
Quando definido como true, a tarefa também renderiza uma versão com fundo transparente (RGBA) da pré-visualização e devolve-a como alpha_thumbnail_url na resposta GET. O campo thumbnail_url existente permanece inalterado.
Name
auto_size
Type
boolean
predefinição false
Description
Quando definido como true, o serviço usa visão por IA para estimar automaticamente a altura real do objeto e redimensionar o modelo em conformidade. A origem terá como valor predefinido bottom, a menos que origin_at seja definido explicitamente.
Aplica-se apenas quando auto_size = true
Name
origin_at
Type
string
predefinição bottom
Description
Posição da origem quando auto_size está ativado.
Valores disponíveis: bottom, center.
Retorno
A propriedade result da resposta contém o id da tarefa da nova tarefa de Texto para 3D criada.
Modos de Falha
Name
400 - Bad Request
Description
O pedido era inaceitável. Causas comuns:
ID de tarefa inválido: o preview_task_id é inválido ou não existe.
Tarefa não pronta: a tarefa de pré-visualização ainda não foi concluída com sucesso.
Incompatibilidade de modelo: o modelo de IA da tarefa de pré-visualização é incompatível com o modelo de refine solicitado.
Name
401 - Unauthorized
Description
A autenticação falhou. Por favor, verifique a sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para realizar esta tarefa.
Name
404 - Not Found
Description
A tarefa de pré-visualização especificada por preview_task_id não foi encontrada.
Este endpoint permite obter uma tarefa de Texto para 3D com base num id de tarefa válido.
Consulte O Objeto de Tarefa de Texto para 3D para ver quais
propriedades estão incluídas no objeto de tarefa de Texto para 3D.
Este endpoint funciona tanto para tarefas de preview como de refine.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de Texto para 3D a obter.
Este endpoint elimina permanentemente uma tarefa de Texto para 3D, incluindo todos os modelos e dados associados. Esta ação é irreversível.
Parâmetros de Caminho
Name
id
Type
path
Description
O ID da tarefa de Texto para 3D 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 em execução. 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 que atinja o estado SUCCEEDED, FAILED ou CANCELED,
e só depois elimine-a.
Uma tarefa num estado terminal (SUCCEEDED, FAILED ou CANCELED) é
eliminada sem reembolso.
Devolve
Devolve 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."}
O objeto de tarefa Text to 3D é uma unidade de trabalho que a Meshy mantém para gerar um modelo 3D a partir de uma entrada em texto. Existem dois estágios da API Texto para 3D, preview e refine. O estágio de preview serve para gerar um modelo 3D apenas com a malha, e o estágio refine serve para gerar um modelo 3D texturizado com base no resultado do estágio de preview.
O objeto tem as seguintes propriedades:
Propriedades
Name
id
Type
string
Description
Identificador único da tarefa. Embora utilizemos um UUID ordenável por k como detalhe de
implementação para os ids das tarefas, não deve fazer nenhuma suposição sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa Texto para 3D. Os valores possíveis são text-to-3d-preview para tarefas do estágio de preview e text-to-3d-refine para tarefas do estágio refine.
Name
model_urls
Type
object
Description
URL para descarregar o ficheiro do modelo 3D texturizado gerado pela Meshy. A propriedade de um formato será omitida se esse formato não for gerado, em vez de devolver uma string vazia.
Name
glb
Type
string
Description
URL para descarregar o ficheiro GLB.
Name
fbx
Type
string
Description
URL para descarregar o ficheiro FBX.
Name
usdz
Type
string
Description
URL para descarregar o ficheiro USDZ.
Name
obj
Type
string
Description
URL para descarregar o ficheiro OBJ.
Name
mtl
Type
string
Description
URL para descarregar o ficheiro MTL.
Name
stl
Type
string
Description
URL para descarregar o ficheiro STL.
Name
3mf
Type
string
Description
URL para descarregar o ficheiro 3MF. Apenas presente quando 3mf foi solicitado através de target_formats.
Name
prompt
Type
string
Description
Este é o prompt não modificado que foi utilizado para criar a tarefa.
Name
negative_prompt
Type
string
⚠ obsoleto
Description
Mantido para compatibilidade com versões anteriores. Este campo não tem qualquer impacto funcional nos modelos gerados.
Name
art_style
Type
string
⚠ obsoleto
Description
O art_style não modificado que foi utilizado para criar a tarefa de preview. Não é suportado pelo Meshy-6.
Name
texture_richness
Type
string
⚠ obsoleto
Description
Mantido para compatibilidade com versões anteriores. Este campo não tem qualquer impacto funcional nos modelos gerados.
Name
texture_prompt
Type
string
Description
Prompt de texto adicional fornecido para orientar o processo de texturização durante o estágio refine.
Name
ultra_mode
Type
boolean
⚠ obsoleto
Description
Obsoleto; consulte antes geometry_resolution.
Name
geometry_resolution
Type
string
Description
O nível Ultra em que a tarefa de preview foi executada (2k ou 4k); omitido para standard.
Name
texture_image_url
Type
string
Description
URL para descarregar a imagem de textura que foi utilizada para orientar o processo de texturização.
Name
thumbnail_url
Type
string
Description
URL para descarregar a imagem em miniatura do ficheiro do modelo.
Name
alpha_thumbnail_url
Type
string
Description
URL para descarregar 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 renderizada com sucesso; caso contrário, este campo é omitido.
Name
video_url
Type
string
⚠ obsoleto
Description
URL para descarregar o vídeo de pré-visualização. Será removido numa versão futura.
Name
progress
Type
integer
Description
Progresso da tarefa. Se a tarefa ainda não tiver começado, esta propriedade será 0. Assim que a tarefa for 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 começado, 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
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 terminado, 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 gerados pela 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 para descarregar a imagem do mapa de cor base.
Name
metallic
Type
string
Description
URL para descarregar 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 para descarregar 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 para descarregar 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 para descarregar a imagem do mapa de emissão.
Se a tarefa for criada com enable_pbr: false, ou se ai_model for meshy-6-lite, esta propriedade será omitida.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas precedentes.
O valor deste campo só tem significado se o estado da tarefa for 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 Text to 3D Task Object
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"text-to-3d-preview","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=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?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=***" },"prompt":"a monster mask","texture_prompt":"green slimy skin with scales and warts","texture_image_url":"","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"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":20}