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á todas as informações de que necessita para começar a trabalhar com esta API.
Texto para 3D utiliza um fluxo de trabalho em duas etapas. Primeiro, crie uma tarefa de pré-visualização (mode: "preview") para gerar uma malha 3D sem textura, para que possa avaliar a forma. Depois, passe o ID da tarefa de pré-visualização concluída para uma tarefa de refinamento (mode: "refine") para aplicar textura à malha. Ambas as etapas partilham o mesmo endpoint.
Este endpoint cria uma tarefa de pré-visualização de Texto para 3D, que gera uma malha 3D sem textura (apenas geometria) a partir de um texto prompt. Este é o primeiro passo do fluxo de trabalho de duas etapas. Assim que a pré-visualização for bem-sucedida, utilize o ID da tarefa retornado para criar uma tarefa de refinamento para texturização. Consulte
O Objeto de Tarefa de Texto para 3D para ver o esquema de resposta completo.
Parâmetros
Name
mode
Type
string
Obrigatório
Description
Este campo deve ser definido como "preview" ao criar uma tarefa de pré-visualização.
Name
prompt
Type
string
Obrigatório
Description
Descreva que tipo de objeto é o modelo 3D. Máximo de 600 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 alta 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 é aceito.
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 usar. Os valores disponíveis dependem de model_type.
meshy-t2 (padrão): o modelo Smart Topology — geometria mais limpa, partes separadas nativamente, saída em triângulo, e uma contagem de faces que pode ser definida com target_polycount.
Name
ultra_mode
Type
boolean
predefinição false
Description
Ativa a geração Ultra para uma geometria de alta fidelidade com maior detalhe de superfície. A geração demora mais tempo e consome 5 créditos.
Só é suportado quando ai_model é meshy-7 (ou latest), e apenas no modo preview.
Controla se deve habilitar a fase de Remesh. Para o modelo de mais alta 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 dominante de quadrados.
triangle: Gera uma malha de triângulos decimada.
A saída Smart Topology é apenas em triângulos. Solicitar quad juntamente com ai_model: meshy-t2 retorna um erro.
Name
decimation_mode
Type
integer
Description
Habilita a decimação adaptativa definindo um nível de contagem de polígonos. Quando definido, target_polycount é ignorado.
Valores disponíveis:
1: Adaptativo — contagem ultra de polígonos.
2: Adaptativo — contagem alta de polígonos.
3: Adaptativo — contagem média de polígonos.
4: Adaptativo — contagem baixa de polígonos.
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, padrão 30.000. Se decimation_mode for definido, ele tem prioridade e target_polycount é ignorado.
Smart Topology — com model_type: smart-topology e ai_model: meshy-t2. O modelo é gerado diretamente nesta contagem de faces; nenhum remesh é executado e should_remesh não é necessário. Intervalo de 100 a 15.000, padrão 4.000.
Name
symmetry_mode
Type
string
⚠ obsoleto
predefinição auto
Description
Obsoleto. Este parâmetro não afeta mais a saída.
O campo symmetry_mode controla o comportamento de 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.
Use pose_mode em vez disso. Indica se deve gerar o modelo numa pose A/T.
Name
art_style
Type
string
⚠ obsoleto
predefinição realistic
Description
Não suportado por Meshy-6. As solicitações que usam 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 usar o estilo Sculpture, pois o estilo Sculpture gera 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 rastreado para conteúdo potencialmente prejudicial. Se for detectado conteúdo prejudicial, a tarefa não prosseguirá para geração.
O texto do prompt será rastreado.
Name
target_formats
Type
string[]
Description
Especifica quais formatos de arquivo 3D incluir na saída. Apenas os formatos solicitados serão gerados e retornados, 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 é incluído apenas quando explicitamente especificado.
Name
alpha_thumbnail
Type
boolean
predefinição false
Description
Quando definido como true, a tarefa renderiza adicionalmente uma versão de fundo transparente (RGBA) da pré-visualização e retorna-a como alpha_thumbnail_url na resposta GET. O campo thumbnail_url existente não é alterado.
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 de acordo. A origem será por padrã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.
Retornos
A propriedade result da resposta contém o id da tarefa recém-criada de Texto para 3D.
Modos de Falha
Name
400 - Bad Request
Description
O pedido era inaceitável. Causas comuns:
Parâmetro em falta: Um parâmetro obrigatório (por exemplo, prompt, mode) está em falta.
Parâmetro inválido: art_style não é um dos valores permitidos.
Prompt muito longo: O prompt excede o limite de caracteres.
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
Você excedeu o seu limite de taxa.
Request
POST
/openapi/v2/text-to-3d
# Pré-visualização simples com apenas os parâmetros obrigatórioscurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a monster mask"}'# Pré-visualização com Remesh e Posição Acurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "a futuristic robot warrior", "should_remesh": true, "target_polycount": 100000, "pose_mode": "a-pose", "target_formats": ["glb"]}'
Este endpoint cria uma tarefa de refinamento 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 duas etapas.
Parâmetros
Name
mode
Type
string
Obrigatório
Description
Este campo deve ser definido como "refine" ao criar uma tarefa de refinamento.
Name
preview_task_id
Type
string
Obrigatório
Description
O ID da tarefa de pré-visualização correspondente.
O status da tarefa de pré-visualização fornecida deve ser SUCCEEDED.
Name
enable_pbr
Type
boolean
predefinição false
Description
Gere Mapas PBR (metálico, rugosidade, normais) além da cor base. Um mapa de emissão também é incluído quando ai_model é meshy-6, exceto em texture_resolution: 8k (nenhum mapa de emissão é produzido). meshy-7 (e latest) não produz um mapa de emissão.
Name
texture_resolution
Type
string
predefinição 2k
Description
Resolução de textura de cor base. Uma de 2k (2048×2048), 4k (4096×4096), ou 8k (8192×8192). Resoluções mais altas capturam mais detalhes da superfície. Aplica-se apenas ao modo refine.
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 estão definidos, texture_resolution tem precedência.
Name
texture_prompt
Type
string
Description
Forneça um texto prompt adicional para guiar o processo de texturização. Máximo de 600 caracteres.
Name
texture_image_url
Type
string
Description
Forneça uma imagem 2D para guiar o processo de texturização. Atualmente suportamos formatos .jpg, .jpeg, e .png.
Existem duas maneiras de fornecer a imagem:
URL acessível publicamente: Um URL acessível na internet pública
Data URI: Um Data URI codificado em base64 da imagem. Exemplo de um Data URI: data:image/jpeg;base64,<your base64-encoded image data>
A texturização de imagem pode não funcionar de maneira ideal se houver diferenças substanciais de geometria entre o asset original e a imagem carregada. Apenas um dos texture_image_url ou texture_prompt pode ser usado para guiar o processo de texturização. Se ambos os parâmetros forem fornecidos, o texture_prompt será usado para texturizar o modelo por padrão.
Name
ai_model
Type
string
predefinição latest
Description
ID do modelo a usar para o refinamento. Valores disponíveis: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
latest resolve aqui exatamente como faz na tarefa de pré-visualização (atualmente Meshy 7), portanto uma pré-visualização latest e seu refinamento latest sempre caem no mesmo modelo de textura.
Name
moderation
Type
boolean
predefinição false
Description
Quando definido como true, o conteúdo de entrada será automaticamente rastreado para conteúdo potencialmente prejudicial. Se for detectado conteúdo prejudicial, a tarefa não prosseguirá para geração.
Tanto o texto de texture_prompt quanto a imagem de texture_image_url serão rastreados.
Name
remove_lighting
Type
boolean
predefinição true
Description
Remove reflexos e sombras da textura da cor base, produzindo um resultado mais limpo que funciona melhor sob configurações de iluminação personalizadas.
Só tem efeito quando ai_model é meshy-6. Em meshy-7 (e latest) o parâmetro é aceito mas ignorado.
Name
target_formats
Type
string[]
Description
Especifica quais formatos de arquivo 3D incluir na saída. Apenas os formatos solicitados serão gerados e retornados, 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 é incluído apenas quando explicitamente especificado.
Name
alpha_thumbnail
Type
boolean
predefinição false
Description
Quando definido como true, a tarefa renderiza adicionalmente uma versão de fundo transparente (RGBA) da pré-visualização e retorna-a como alpha_thumbnail_url na resposta GET. O campo thumbnail_url existente não é alterado.
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 de acordo. A origem será por padrã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.
Retornos
A propriedade result da resposta contém o id da tarefa recém-criada de Texto para 3D.
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 bem-sucedida.
Incompatibilidade de modelo: O modelo de IA da tarefa de pré-visualização é incompatível com o modelo de refinamento solicitado.
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
404 - Not Found
Description
A tarefa de pré-visualização especificada por preview_task_id não foi encontrada.
Este endpoint permite que você obtenha uma tarefa de Texto para 3D dada um 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 para ambas as tarefas de pré-visualização e refinamento.
Parâmetros
Name
id
Type
path
Description
Identificador único para a tarefa de Texto para 3D a ser obtida.
// Exemplo de evento de erroevent: errordata: {"status_code": 404,"message": "Task not found"}// Exemplos de evento de mensagem ilustram o progresso da tarefa.// Para tarefas PENDING ou IN_PROGRESS, o fluxo de resposta não incluirá todos os campos.event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 0,"status": "PENDING"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 50,"status": "IN_PROGRESS"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","type": "text-to-3d-preview","progress": 100,"status": "SUCCEEDED","created_at": 1692771650657,"started_at": 1692771667037,"finished_at": 1692771669037,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"},"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}
O objeto de Tarefa de Texto para 3D é uma unidade de trabalho que a Meshy monitora para gerar um modelo 3D a partir de uma entrada texto. Existem duas etapas da API Texto para 3D, preview e refine. A etapa de visualização é para gerar um modelo 3D apenas com malha, e a etapa de refinamento é para gerar um modelo 3D texturizado com base no resultado da etapa de visualização.
O objeto tem as seguintes propriedades:
Propriedades
Name
id
Type
string
Description
Identificador único para a tarefa. Embora usemos um UUID ordenável por K 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 de tarefa de Texto para 3D. Os valores possíveis são text-to-3d-preview para tarefas de etapa de visualização e text-to-3d-refine para tarefas de etapa de refinamento.
Name
model_urls
Type
object
Description
URL para download do arquivo de modelo 3D texturizado gerado pela Meshy. A propriedade de um formato será omitida se o formato não for gerado, em vez de retornar uma string vazia.
Name
glb
Type
string
Description
URL para download do arquivo GLB.
Name
fbx
Type
string
Description
URL para download do arquivo FBX.
Name
usdz
Type
string
Description
URL para download do arquivo USDZ.
Name
obj
Type
string
Description
URL para download do arquivo OBJ.
Name
mtl
Type
string
Description
URL para download do arquivo MTL.
Name
stl
Type
string
Description
URL para download do arquivo STL.
Name
3mf
Type
string
Description
URL para download do arquivo 3MF. Apenas presente quando 3mf foi solicitado via target_formats.
Name
prompt
Type
string
Description
Este é o prompt não modificado que foi usado para criar a tarefa.
Name
negative_prompt
Type
string
⚠ obsoleto
Description
Mantido para compatibilidade com versões anteriores. Este campo não tem impacto funcional nos modelos gerados.
Name
art_style
Type
string
⚠ obsoleto
Description
O art_style não modificado que foi usado para criar a tarefa de pré-visualização. Não suportado pela Meshy-6.
Name
texture_richness
Type
string
⚠ obsoleto
Description
Mantido para compatibilidade com versões anteriores. Este campo não tem impacto funcional nos modelos gerados.
Name
texture_prompt
Type
string
Description
Texto prompt adicional fornecido para guiar o processo de texturização durante a etapa de refinamento.
Name
ultra_mode
Type
boolean
Description
Retorna o valor ultra_mode com a qual a tarefa de pré-visualização foi criada. Apenas presente para tarefas de visualização meshy-7 (ou latest) que definiram explicitamente ultra_mode; omitido caso contrário.
Name
texture_image_url
Type
string
Description
URL para download da imagem de textura que foi usada para guiar o processo de texturização.
Name
thumbnail_url
Type
string
Description
URL para download da miniatura do arquivo de modelo.
Name
alpha_thumbnail_url
Type
string
Description
URL para download de uma versão de 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 download do vídeo de pré-visualização. Será removido em uma versão futura.
Name
progress
Type
integer
Description
Progresso da tarefa. Se a tarefa ainda não foi iniciada, esta propriedade será 0. Uma vez que a tarefa tenha sido bem-sucedida, 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 foi iniciada, esta propriedade será 0.
Um timestamp 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 é representado como 1693569600000. Isso se aplica
a todos os carimbos de data/hora na API Meshy.
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 foi concluída, esta propriedade será 0.
Name
status
Type
string
Description
Status da tarefa. Os valores possíveis são PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Um array de objetos URL de textura que são gerados a partir da tarefa. Normalmente, isso contém apenas um objeto 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 normal map.
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 é meshy-5, esta propriedade será omitida.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas anteriores.
O valor deste campo é significativo apenas se o status da tarefa for PENDING.
Name
task_error
Type
object
Description
Detalhes de erro para tarefas falhadas. Veja 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 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}