API de Texto para 3D
Gere modelos 3D a partir de prompts de texto na sua própria aplicação.
Texto para 3D funciona em dois passos. Primeiro, crie uma tarefa de preview (mode: "preview") para gerar uma malha 3D sem textura, para que possa verificar a forma. Depois, envie o ID da tarefa de preview bem-sucedida para uma tarefa de refine (mode: "refine") para aplicar textura à malha. Ambos os passos utilizam o mesmo endpoint.
Create a Text to 3D preview task
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. Após o sucesso do preview, envie o respetivo ID de tarefa numa tarefa de refine para aplicar textura à malha. Consulte Criar uma tarefa de refine de Texto para 3D. Para o esquema de resposta completo, consulte O objeto de tarefa de Texto para 3D.
A tarefa é executada em segundo plano. Para saber quanto tempo uma tarefa normalmente demora, consulte Tempos de processamento.
Request
# Simple preview with required params only
curl https://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"
}'
# Preview with Ultra 4K geometry, remesh, and A-pose
curl https://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",
"ai_model": "meshy-7.1",
"geometry_resolution": "4k",
"should_remesh": true,
"target_polycount": 100000,
"pose_mode": "a-pose",
"target_formats": ["glb"]
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Parâmetros
- Name
- mode
- Type
- string
- Obrigatório
- Description
A etapa do fluxo de trabalho em duas etapas. Envie
previewpara criar uma tarefa de preview.
- Name
- prompt
- Type
- string
- Obrigatório
- Description
Texto que descreve o objeto a gerar, até 800 caracteres. Um texto mais longo devolve
400.
- Name
- model_type
- Type
- string
- predefinição standard
- Description
O tipo de malha 3D a gerar.
Valores disponíveis:
standard: uma malha 3D de alto detalhesmart-topology: uma malha Smart Topology. Escolha o modelo comai_model(meshy-t2oumeshy-t2.5).
Com
smart-topology, a Meshy ignorashould_remeshedecimation_mode, e aceita apenastopology: triangle.
- Name
- ai_model
- Type
- string
- predefinição latest
- Description
O modelo de IA que gera o modelo 3D. Os valores disponíveis dependem de
model_type.Modelos standard (
model_type: standard):meshy-6-litemeshy-6meshy-7.1latest: Meshy 7.1meshy-7(obsoleto): enviemeshy-7.1em alternativa
Modelos Smart Topology (
model_type: smart-topology):meshy-t2: topologia mais limpa, partes separadas nativamente, output em triângulos e uma contagem de faces definida comtarget_polycountmeshy-t2.5(predefinição): detalhe mais nítido para assets de jogos, output em triângulos e uma contagem de faces definida comtarget_polycount
- Name
- geometry_resolution
- Type
- string
- predefinição standard
- Description
A passagem de geração de geometria. Aplica-se apenas a tarefas de preview. Um refine com este parâmetro devolve
400.Valores disponíveis:
standard2k: executa a passagem Ultra a 2048³4k: executa a passagem Ultra a 4096³, para um detalhe de superfície mais fino
2krequermeshy-7.1,latest, ou omeshy-7obsoleto.4krequermeshy-7.1oulatest. Outros modelos devolvem400.
- Name
- ultra_mode
- Type
- boolean
- ⚠ obsoleto
- predefinição false
- Description
Envie
geometry_resolutionem alternativa.ultra_mode: trueé equivalente ageometry_resolution: "2k".
- Name
- should_remesh
- Type
- boolean
- predefinição true (meshy-6-lite), false (other models)
- Description
Se o modelo deve ser remeshed após a geração. Para obter o modelo 3D de maior qualidade, envie
false.
should_remesh = true- Name
- topology
- Type
- string
- predefinição triangle
- Description
O tipo de face do modelo remeshed.
Valores disponíveis:
quad: uma malha predominantemente de quadriláterostriangle: uma malha triangular decimada
O output do Smart Topology é apenas em triângulos. Enviar
quadcomai_modelmeshy-t2oumeshy-t2.5devolve400.
- Name
- decimation_mode
- Type
- integer
- Description
Contagem de faces adaptativa, por nível. Quando a define, a Meshy ignora
target_polycount.Valores disponíveis:
1: ultra2: alto3: médio4: baixo
- Name
- target_polycount
- Type
- integer
- Description
O número de faces a atingir. O resultado pode diferir do alvo, dependendo da geometria. Aplica-se em dois casos distintos:
- Remesh: com
should_remesh: truenum modelostandard. A Meshy aplica remesh (decima) a malha para aproximadamente esta contagem. Se definirdecimation_mode, a Meshy utiliza-o e ignoratarget_polycount. - Smart Topology: com
model_type: smart-topologyeai_modelmeshy-t2oumeshy-t2.5. A Meshy gera o modelo diretamente com esta contagem de faces. Não é executado nenhum remesh, e não precisa deshould_remesh.
A tabela seguinte mostra o intervalo e a predefinição para cada caso:
Caso Intervalo Predefinição Remesh 100a30000030000meshy-t2100a150004000meshy-t2.5100a3000015000Um valor fora do intervalo devolve
400.- Remesh: com
- Name
- symmetry_mode
- Type
- string
- ⚠ obsoleto
- predefinição auto
- Description
Não o inclua. Este parâmetro não afeta o resultado.
Valores disponíveis:
off: desativa a simetriaauto: aplica simetria com base na geometria de entradaon: impõe simetria durante a geração
- Name
- pose_mode
- Type
- string
- predefinição ""
- Description
A pose do modelo gerado.
Valores disponíveis:
a-pose: uma pose At-pose: uma pose T""(string vazia): sem pose específica
- Name
- is_a_t_pose
- Type
- boolean
- ⚠ obsoleto
- predefinição false
- Description
Envie
pose_modeem alternativa. Se o modelo deve ser gerado numa pose A ou numa pose T.
- Name
- art_style
- Type
- string
- ⚠ obsoleto
- predefinição realistic
- Description
Não o inclua. A Meshy ignora-o.
- Name
- moderation
- Type
- boolean
- predefinição false
- Description
Se deve verificar
promptpara detetar conteúdo prejudicial antes de gerar. Se a Meshy detetar conteúdo prejudicial, o pedido devolve400e a Meshy não cria a tarefa.
- Name
- target_formats
- Type
- string[]
- Description
Os formatos de ficheiro a gerar. A Meshy gera e devolve apenas estes formatos, o que pode encurtar a tarefa. Se não o incluir, a Meshy gera todos os formatos exceto
3mf, que apenas gera quando é solicitado.Valores disponíveis:
glbobjfbxstlusdz3mf
- Name
- alpha_thumbnail
- Type
- boolean
- predefinição false
- Description
Se deve também renderizar um preview com fundo transparente (RGBA), devolvido em
alpha_thumbnail_urlao obter a tarefa.thumbnail_urlnão é alterado.
- Name
- auto_size
- Type
- boolean
- predefinição false
- Description
Se deve estimar a altura real do objeto com visão por IA e redimensionar o modelo em conformidade. A Meshy coloca a origem na base, a menos que defina
origin_at.
auto_size = true- Name
- origin_at
- Type
- string
- predefinição bottom
- Description
Onde colocar a origem do modelo,
bottomoucenter.
Devolve
O campo result da resposta contém o ID da nova tarefa de Texto para 3D.
Modos de falha
- Name
400 - Bad Request- Description
O pedido não pode ser executado. A mensagem de erro indica qual o problema encontrado. Por exemplo:
- Parâmetro em falta: Falta um parâmetro obrigatório, como
promptoumode. - Prompt demasiado longo:
promptexcede o limite de caracteres. - Modelo não suportado para Ultra:
geometry_resolutioné2kou4k, com umai_modelque não o consegue executar.
Corrija o pedido e envie-o novamente. Consulte Erros.
- Parâmetro em falta: Falta um parâmetro obrigatório, como
- Name
401 - Unauthorized- Description
A chave de API está em falta ou é inválida. Verifique o cabeçalho
Authorization.
- Name
402 - Payment Required- Description
Por exemplo:
- Créditos insuficientes: A conta não tem créditos suficientes para esta tarefa, ou a conta atingiu um limite de créditos. Verifique o seu saldo de créditos e tente novamente.
- Plano gratuito: Criar uma tarefa requer um plano pago. Atualize o seu plano nas definições de subscrição e tente novamente.
- Name
403 - Forbidden- Description
A moderação de conteúdo bloqueou o prompt ou uma imagem de entrada. Altere a entrada e tente novamente.
- Name
429 - Too Many Requests- Description
Excedeu o seu limite de taxa. Aguarde e tente novamente. Consulte Limites de taxa.
Criar uma tarefa de refine de Texto para 3D
Cria uma tarefa de refine de Texto para 3D, que texturiza a malha de uma tarefa de preview concluída. Envie o ID de uma tarefa de preview bem-sucedida como preview_task_id. Consulte Criar uma tarefa de preview de Texto para 3D. Este é o segundo passo do fluxo de trabalho de dois passos.
A tarefa é executada em segundo plano. Para saber quanto tempo uma tarefa costuma demorar, consulte Tempos de processamento.
Request
# Basic refine task
curl https://api.meshy.ai/openapi/v2/text-to-3d \
-H 'Authorization: Bearer ${YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"mode": "refine",
"preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"enable_pbr": true
}'
# Refine with auto-size and GLB format
curl https://api.meshy.ai/openapi/v2/text-to-3d \
-H 'Authorization: Bearer ${YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"mode": "refine",
"preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"target_formats": ["glb"],
"auto_size": true
}'
# Refine with Meshy N1 from the preview's stored reference image
curl https://api.meshy.ai/openapi/v2/text-to-3d \
-H 'Authorization: Bearer ${YOUR_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"mode": "refine",
"preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"ai_model": "meshy-n1"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Parâmetros
- Name
- mode
- Type
- string
- Obrigatório
- Description
O passo do fluxo de trabalho de dois passos. Envie
refinepara criar uma tarefa de refine.
- Name
- preview_task_id
- Type
- string
- Obrigatório
- Description
O ID da tarefa de preview a texturizar. A tarefa de preview tem de ter o estado
SUCCEEDED.
- Name
- enable_pbr
- Type
- boolean
- predefinição false
- Description
Se também deve gerar mapas PBR (metallic, roughness e normal) juntamente com a cor base.
Com
ai_modelmeshy-6, a Meshy também gera um mapa de emissão, exceto emtexture_resolution: 8k.meshy-6-lite,meshy-7,meshy-7.1elatestnão geram mapa de emissão. Também não o faz um refine de um previewmeshy-t2oumeshy-t2.5que não definaai_model. Comai_model: meshy-n1,truedevolve400.
- Name
- texture_resolution
- Type
- string
- predefinição 2k
- Description
A resolução da textura de cor base. Aplica-se apenas a tarefas de refine. Um preview com este parâmetro devolve
400.Valores disponíveis:
2k: 2048×20484k: 4096×40968k: 8192×8192
Resoluções mais altas captam mais detalhe de superfície.
4ke8krequeremai_modelmeshy-6,meshy-7.1oulatest. Commeshy-n1, devolvem400. Em8k, a Meshy não gera mapa de emissão.
- Name
- hd_texture
- Type
- boolean
- ⚠ obsoleto
- predefinição false
- Description
Envie
texture_resolutionem vez disto.hd_texture: trueé o mesmo quetexture_resolution: "4k". Se enviar ambos, a Meshy usatexture_resolution.
- Name
- texture_prompt
- Type
- string
- Description
Texto que orienta a texturização, até 800 caracteres. Texto mais longo devolve
400. Envietexture_promptoutexture_image_url, não ambos. Se enviar ambos, a Meshy usatexture_prompt. Comai_model: meshy-n1, enviá-lo devolve400.
- Name
- texture_image_url
- Type
- string
- Description
Uma imagem 2D que orienta a texturização, como um URL público ou um Data URI codificado em base64, como
data:image/jpeg;base64,<os seus dados de imagem codificados em base64>.A imagem tem de ser um ficheiro
.jpg,.jpeg,.pngou.webpde, no máximo, 20 MB, pelo menos 32 pixels em cada lado e, no máximo, 178 956 970 pixels (largura × altura).Com
ai_model: meshy-n1, a Meshy texturiza a partir desta imagem como vista frontal.A texturização a partir de uma imagem pode não funcionar bem quando a forma na imagem difere muito do modelo.
- Name
- ai_model
- Type
- string
- predefinição inherited from the preview task
- Description
O modelo de IA que texturiza a malha.
Valores disponíveis:
meshy-6-litemeshy-6meshy-7.1latest: Meshy 7.1meshy-n1: uma textura de cor base em 2K apenas a partir de uma imagem de referência. Sem prompt de texto, sem mapas PBR, sem 4K ou 8K.meshy-7(obsoleto): enviemeshy-7.1em vez disto
Omita para usar o modelo da tarefa de preview, de forma a que o preview e o seu refine corram no mesmo modelo do início ao fim. Envie um valor para o substituir. Um
latestexplícito resolve-se da mesma forma que na tarefa de preview, pelo que um previewlateste o seu refinelatestusam sempre o mesmo modelo de textura.Com
meshy-n1, a Meshy texturiza a partir detexture_image_url. Sem ele, a Meshy usa a imagem de referência que um previewmeshy-7.1oulatestarmazena. Qualquer outro preview devolve400a menos que envietexture_image_url. O preview pode ter, no máximo, 7 999 999 triângulos. Um preview remeshed para quads devolve400.
- Name
- moderation
- Type
- boolean
- predefinição false
- Description
Se deve verificar
texture_promptetexture_image_urlem busca de conteúdo prejudicial antes de gerar. Se a Meshy detetar conteúdo prejudicial, o pedido devolve400e a Meshy não cria a tarefa.
- Name
- remove_lighting
- Type
- boolean
- predefinição true
- Description
Se deve remover realces e sombras da textura de cor base. O resultado mais limpo funciona melhor sob iluminação personalizada.
Só tem efeito quando
ai_modelémeshy-6.meshy-7.1elatestaceitam-no e ignoram-no, assim como um refine de um previewmeshy-t2oumeshy-t2.5que não definaai_model. Enviá-lo commeshy-6-litedevolve400. Commeshy-n1,truedevolve400.
- Name
- target_formats
- Type
- string[]
- Description
Os formatos de ficheiro a gerar. A Meshy gera e devolve apenas estes formatos, o que pode encurtar a tarefa. Se o omitir, a Meshy gera todos os formatos exceto
3mf, que só gera quando o solicita.Valores disponíveis:
glbobjfbxstlusdz3mf
- Name
- alpha_thumbnail
- Type
- boolean
- predefinição false
- Description
Se também deve renderizar um preview com fundo transparente (RGBA), devolvido em
alpha_thumbnail_urlao obter a tarefa.thumbnail_urlnão muda.
- Name
- auto_size
- Type
- boolean
- predefinição false
- Description
Se deve estimar a altura real do objeto com visão de IA e redimensionar o modelo em conformidade. A Meshy coloca a origem na base, a menos que defina
origin_at.
auto_size = true- Name
- origin_at
- Type
- string
- predefinição bottom
- Description
Onde colocar a origem do modelo,
bottomoucenter.
Retorno
O campo result da resposta contém o ID da nova tarefa de Texto para 3D.
Modos de falha
- Name
400 - Bad Request- Description
O pedido não pode ser executado. A mensagem de erro indica qual o problema encontrado. Por exemplo:
- ID de tarefa inválido:
preview_task_idé inválido, ou não corresponde a nenhuma das suas tarefas de preview. - Tarefa não pronta: A tarefa de preview ainda não foi concluída com sucesso.
- Incompatibilidade de modelo: O modelo de IA da tarefa de preview não funciona com o modelo de refine solicitado.
- Modelo não suportado para remove_lighting:
remove_lightingfoi enviado comai_model: "meshy-6-lite". - Sem imagem de referência para o Meshy N1:
ai_model: meshy-n1foi enviado semtexture_image_url, e o preview não tem nenhuma imagem de referência que o Meshy N1 possa usar. Envietexture_image_url. - Preview em quads para o Meshy N1:
ai_model: meshy-n1foi enviado para um preview remeshed para quads. Faça o refine com outroai_model. - Demasiados triângulos para o Meshy N1: Com
ai_model: meshy-n1, o preview tem mais de 7 999 999 triângulos. Faça o refine com outroai_model. - Opção não suportada para o Meshy N1:
ai_model: meshy-n1foi enviado com uma destas opções:texture_promptenable_pbr: truetexture_resolutionde4kou8khd_texture: truesemtexture_resolutionremove_lighting: true
Corrija o pedido e envie-o novamente. Consulte Erros.
- ID de tarefa inválido:
- Name
401 - Unauthorized- Description
A chave de API está em falta ou é inválida. Verifique o cabeçalho
Authorization.
- Name
402 - Payment Required- Description
Por exemplo:
- Créditos insuficientes: A conta não tem créditos suficientes para esta tarefa, ou a conta atingiu um limite de créditos. Verifique o seu saldo de créditos e tente novamente.
- Plano gratuito: Criar uma tarefa requer um plano pago. Atualize o seu plano nas definições de subscrição e tente novamente.
- Name
403 - Forbidden- Description
A moderação de conteúdo bloqueou o prompt ou uma imagem de entrada. Altere a entrada e tente novamente.
- Name
429 - Too Many Requests- Description
Excedeu o seu limite de taxa. Aguarde e tente novamente. Consulte Limites de taxa.
Obter uma tarefa de Texto para 3D
Devolve uma tarefa de Texto para 3D pelo seu ID. Funciona tanto para tarefas de preview como de refine.
Request
curl https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"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=***",
"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=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?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=***",
"prompt": "a monster mask",
"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=***"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 20
}
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa proveniente da resposta de criação.
Devolve
O objeto de tarefa de Texto para 3D.
Exemplos
A tabela seguinte mostra um modelo de exemplo para cada mode.
| Mode | Modelo de exemplo |
|---|---|
| Preview | ![]() |
| Refine | ![]() |
Eliminar uma tarefa de Texto para 3D
Elimina permanentemente uma tarefa de Texto para 3D, incluindo os seus modelos e dados. Não é possível anular uma eliminação.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps 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."
}
Parâmetros de caminho
- Name
- id
- Type
- path
- Description
O ID da tarefa a eliminar.
Estado da tarefa
Eliminar uma tarefa PENDING reembolsa os créditos que foram utilizados quando a criou.
Uma tarefa IN_PROGRESS não pode ser eliminada. O pedido devolve 409 Conflict,
e a tarefa continua a ser executada. A Meshy não reembolsa uma tarefa que já começou,
pelo que eliminá-la custar-lhe-ia tanto os créditos como o resultado. Aguarde até que
atinja o estado SUCCEEDED, FAILED ou CANCELED e, só depois, elimine-a.
Eliminar uma tarefa num estado final (SUCCEEDED, FAILED ou CANCELED)
não reembolsa os seus créditos.
Devolve
200 OK quando a tarefa é eliminada, ou 409 Conflict quando a tarefa está
IN_PROGRESS.
Listar tarefas de Texto para 3D
Devolve uma lista das suas tarefas de Texto para 3D.
Request
curl https://api.meshy.ai/openapi/v2/text-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"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=***",
"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=***",
"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=***",
"prompt": "a monster mask",
"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=***"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 20
}
]
Parâmetros
- Name
- page_num
- Type
- integer
- predefinição 1
- Description
O número da página a devolver, até
255. Um valor superior devolve400.
- Name
- page_size
- Type
- integer
- predefinição 10
- Description
O número de tarefas por página, até
100.
- Name
- sort_by
- Type
- string
- Description
A ordem de ordenação.
Valores disponíveis:
+created_at: mais antigas primeiro-created_at: mais recentes primeiro
Devolve
Uma lista paginada de objetos de tarefa Texto para 3D.
Transmitir em stream uma tarefa Texto para 3D
Transmite as atualizações de uma tarefa Texto para 3D como Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 50,
"status": "IN_PROGRESS"
}
event: message
data: {
"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": null,
"consumed_credits": 20
}
Parâmetros
- Name
- id
- Type
- path
- Description
O ID da tarefa proveniente da resposta de criação.
Devolve
Um stream de objetos de tarefa Texto para 3D como Server-Sent Events.
Cada evento contém o objeto de tarefa completo, no mesmo formato devolvido pelo endpoint Get. Enquanto a tarefa estiver PENDING ou IN_PROGRESS, os seus campos de resultado ainda não têm valores.
O objeto de tarefa de Texto para 3D
Um objeto de tarefa de Texto para 3D descreve uma tarefa que gera um modelo 3D a partir de um prompt de texto. Contém o estado, o progresso e os ficheiros do modelo quando a tarefa é bem-sucedida. O Texto para 3D tem duas fases, preview e refine. Uma tarefa de preview gera um modelo 3D apenas com malha, e uma tarefa de refine gera um modelo 3D texturizado a partir do resultado do preview.
Propriedades
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": null,
"consumed_credits": 20
}
- Name
- id
- Type
- string
- Description
O ID da tarefa. Trate-o como uma string opaca e não dependa do seu formato.
- Name
- type
- Type
- string
- Description
O tipo de tarefa,
text-to-3d-previewpara uma tarefa de preview outext-to-3d-refinepara uma tarefa de refine.
- Name
- model_urls
- Type
- object
- Description
URLs de transferência para o modelo 3D gerado, um por formato de ficheiro. Um formato que a tarefa não gerou não tem chave, em vez de uma string vazia.
- Name
glb- Type
- string
- Description
O ficheiro GLB.
- Name
fbx- Type
- string
- Description
O ficheiro FBX.
- Name
usdz- Type
- string
- Description
O ficheiro USDZ.
- Name
obj- Type
- string
- Description
O ficheiro OBJ.
- Name
mtl- Type
- string
- Description
O ficheiro MTL.
- Name
stl- Type
- string
- Description
O ficheiro STL.
- Name
3mf- Type
- string
- Description
O ficheiro 3MF. Presente apenas quando
target_formatsinclui3mf.
- Name
- prompt
- Type
- string
- Description
O
promptque enviou para criar a tarefa, sem modificações.
- Name
- texture_prompt
- Type
- string
- Description
O prompt de texto que enviou para orientar a texturização na fase de refine.
- Name
- ultra_mode
- Type
- boolean
- ⚠ obsoleto
- Description
Consulte
geometry_resolutionem vez disto.
- Name
- geometry_resolution
- Type
- string
- Description
O nível Ultra em que a tarefa de preview foi executada,
2kou4k. O campo está ausente parastandard.
- Name
- texture_image_url
- Type
- string
- Description
URL de transferência para a imagem que enviou para orientar a texturização.
- Name
- thumbnail_url
- Type
- string
- Description
URL de transferência para uma imagem de miniatura do modelo 3D.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL de transferência para uma versão de
thumbnail_urlcom fundo transparente (RGBA). Presente apenas quando criou a tarefa comalpha_thumbnail: truee a Meshy renderizou a pré-visualização transparente.
- Name
- progress
- Type
- integer
- Description
Quanto da tarefa está concluído, em percentagem. É
0até a tarefa começar e100quando é bem-sucedida.
- Name
- started_at
- Type
- timestamp
- Description
Hora a que a tarefa começou, em milissegundos Unix. É
0até a tarefa começar.
- Name
- created_at
- Type
- timestamp
- Description
Hora a que a tarefa foi criada, em milissegundos Unix.
- Name
- finished_at
- Type
- timestamp
- Description
Hora a que a tarefa terminou, em milissegundos Unix. É
0até a tarefa terminar.
- Name
- status
- Type
- string
- Description
O estado da tarefa, um de
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDouCANCELED.
- Name
- texture_urls
- Type
- array
- Description
URLs de transferência para os mapas de textura gerados, como um array de objetos. Normalmente contém um objeto. Cada objeto tem estes campos:
- Name
base_color- Type
- string
- Description
O mapa de cor base.
- Name
metallic- Type
- string
- Description
O mapa metálico. Ausente quando criou a tarefa com
enable_pbr: false.
- Name
normal- Type
- string
- Description
O mapa de normais. Ausente quando criou a tarefa com
enable_pbr: false.
- Name
roughness- Type
- string
- Description
O mapa de rugosidade. Ausente quando criou a tarefa com
enable_pbr: false.
- Name
emission- Type
- string
- Description
O mapa de emissão. Ausente em qualquer um destes casos:
- Criou a tarefa com
enable_pbr: false. ai_modelémeshy-6-lite,meshy-7,meshy-7.1oulatest.texture_resolutioné8k.- A tarefa refina um preview
meshy-t2oumeshy-t2.5sem definirai_model.
- Criou a tarefa com
- Name
- preceding_tasks
- Type
- integer
- Description
O número de tarefas à frente desta na fila. O valor só é significativo enquanto a tarefa está
PENDING.
- Name
- task_error
- Type
- object
- Description
Os detalhes do erro quando a tarefa falha. É
nulla menos que o estado sejaFAILED. Consulte Erros.
- Name
- consumed_credits
- Type
- integer
- Description
O número de créditos que a tarefa utilizou. Presente quando o estado é
PENDING,IN_PROGRESSouSUCCEEDED. É0para uma tarefaFAILED, porque a Meshy reembolsa os créditos quando uma tarefa falha.

