Transforme uma fotografia de origem numa figura colecionável em estilo de blocos, um minifigure 3D, em duas fases:
prototype gera uma imagem conceptual estilizada a partir da sua fotografia de entrada, depois a fase
build transforma essa imagem conceptual num modelo 3D com texture. As duas fases
estão ligadas através de input_task_id.
POST /openapi/creative-lab/brick-figure/v1/prototype
Gera uma única imagem conceptual em estilo de blocos a partir da foto de origem. O
ID de tarefa devolvido é o que passa como input_task_id para o
endpoint de build. Consulte
The Brick Figure Prototype Task Object
para conhecer a estrutura da resposta.
Parâmetros
Name
image_url
Type
string
Obrigatório
Description
Foto de origem para a Meshy estilizar como uma minifigura de blocos. Atualmente suportamos os formatos .jpg, .jpeg, .png e .webp.
Existem duas formas de fornecer a imagem:
URL publicamente acessível: 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>.
Name
name
Type
string
Description
Nome de tarefa opcional para fins de exibição. Máximo de 100 carateres.
Name
remove_background
Type
boolean
predefinição false
Description
Quando definido como true, a imagem de protótipo é devolvida como um PNG RGBA transparente com o fundo removido, permitindo-lhe compor o sujeito sobre qualquer fundo.
Resultados
A propriedade result da resposta contém o id da tarefa da nova tarefa de protótipo de brick figure criada. Faça polling ao endpoint Get a Task ou subscreva o stream até a tarefa atingir SUCCEEDED, e depois passe esse ID para o endpoint de build como input_task_id.
Modos de Falha
Name
400 - Bad Request
Description
O pedido foi inaceitável. Causas comuns:
Parâmetro em falta: image_url é obrigatório.
Formato de imagem inválido: O image_url fornecido não está num formato suportado (.jpg, .jpeg, .png, .webp).
Dimensões da imagem fora do intervalo: A imagem é demasiado pequena, excede o tamanho máximo do ficheiro ou excede o número máximo de píxeis.
URL inacessível: Não foi possível transferir o image_url (404 ou timeout).
Data URI inválido: A string em base64 está malformada.
Conteúdo assinalado: A imagem de entrada foi assinalada pela moderation de conteúdo NSFW.
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
403 - Forbidden
Description
A imagem de entrada foi assinalada por violação de propriedade intelectual.
Name
429 - Too Many Requests
Description
Excedeu o seu limite de taxa.
Request
POST
/openapi/creative-lab/brick-figure/v1/prototype
# Stage 1: generate a brick-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/brick-figure/v1/prototype \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Gera a figura de blocos 3D final texturizada a partir de uma tarefa de protótipo bem-sucedida. A construção executa o mesmo pipeline de imagem para 3D que
Imagem para 3D, pelo que o formato do objeto de resposta e a lista de URLs de saída correspondem exatamente. Consulte
O Objeto da Tarefa de Construção de Figura de Blocos para o
formato da resposta.
Parâmetros
Name
input_task_id
Type
string
Obrigatório
Description
O ID da tarefa de um protótipo criado através deste mesmo endpoint OpenAPI. O protótipo tem de ter sido criado com a mesma chave de API, tem de ter atingido SUCCEEDED e tem de ter produzido exatamente uma imagem candidata.
Tarefas de protótipo criadas através da aplicação web não são aceites — o endpoint de construção aceita apenas tarefas de protótipo produzidas por POST /openapi/creative-lab/brick-figure/v1/prototype e recusa qualquer outra origem com 404.
Name
name
Type
string
Description
Nome de tarefa opcional para fins de exibição. Máximo de 100 caracteres.
Retorna
A propriedade result da resposta contém o id da tarefa da tarefa de construção de figura de blocos recém-criada. Consulte periodicamente o endpoint Obter uma Tarefa ou subscreva o stream até a tarefa atingir SUCCEEDED, e depois descarregue o GLB texturizado a partir de model_urls.glb (ou o par OBJ + MTL a partir de model_urls.obj e model_urls.mtl se o seu pipeline a jusante preferir OBJ).
Modos de Falha
Name
400 - Bad Request
Description
O pedido não foi aceite. Causas comuns:
Parâmetro em falta: input_task_id é obrigatório.
UUID inválido: O input_task_id não é um UUID válido.
Parente não concluído com sucesso: A tarefa de protótipo referenciada ainda não atingiu SUCCEEDED.
Sem candidato: A tarefa de protótipo foi bem-sucedida mas não produziu nenhuma imagem candidata.
Name
401 - Unauthorized
Description
A autenticação falhou. 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 protótipo referenciada não existe, pertence a um utilizador diferente, ou foi criada através da aplicação web (apenas tarefas de protótipo em modo API se encadeiam na construção).
Name
429 - Too Many Requests
Description
Excedeu o seu limite de taxa.
Request
POST
/openapi/creative-lab/brick-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/brick-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578" }'
Obtém uma tarefa de protótipo ou de construção com base num id de tarefa válido. O caminho do URL
tem de corresponder à fase da tarefa — uma tarefa de construção obtida através de
/prototype/:id devolve 404, e vice-versa.
Cancela uma tarefa de brick figure. Se a tarefa ainda estiver PENDING, os
créditos consumidos no momento da criação são reembolsados. As tarefas que já
estão IN_PROGRESS são canceladas sem reembolso (é possível que o worker já
esteja a consumir recursos). As tarefas que já atingiram um estado terminal
(SUCCEEDED, FAILED, CANCELED) não podem ser canceladas.
O caminho do URL deve corresponder à fase da tarefa — um DELETE em
/prototype/:buildId devolve 404.
Parâmetros de Caminho
Name
id
Type
path
Description
Identificador único da tarefa de brick figure a cancelar.
Retorna
Devolve 204 No Content em caso de sucesso, com um corpo vazio.
Modos de Falha
Name
400 - Bad Request
Description
A tarefa já se encontra num estado terminal e não pode ser cancelada.
Name
404 - Not Found
Description
A tarefa não existe, pertence a um utilizador diferente, ou a sua fase não corresponde ao caminho do URL.
Transmite atualizações em tempo real para uma tarefa de brick figure através de Server-Sent Events (SSE).
O caminho do URL deve corresponder à fase da tarefa — abrir um stream em
/prototype/:buildId/stream emite um único event: error payload com
status_code: 404 e fecha o stream.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de brick figure a transmitir em stream.
Retorna
Devolve um stream de objetos de tarefa Brick Figure Prototype
ou Brick Figure Build como
Server-Sent Events. Cada frame contém o objeto de tarefa completo para a fase — a mesma estrutura que o
endpoint Get devolve — pelo que, enquanto a tarefa estiver PENDING ou IN_PROGRESS, os
campos de saída simplesmente ainda não estão preenchidos (null, [] ou {}) e
finished_at é null.
Obtenha uma lista paginada das suas tarefas de brick figure para um único estágio. O caminho
do URL seleciona o estágio — /prototype devolve tarefas de prototype; /build
devolve tarefas de build. As tarefas do outro estágio não são incluídas em nenhuma das
respostas.
Parâmetros de Caminho
Name
stage
Type
path
Obrigatório
Description
prototype ou build. A coleção devolve apenas tarefas
cujo estágio corresponda ao URL — obter /prototype nunca devolve
tarefas de build e vice-versa.
Parâmetros de Consulta
Name
page_num
Type
integer
predefinição 1
Description
Número da página para paginação.
Name
page_size
Type
integer
predefinição 10
Description
Limite de tamanho da página. O máximo permitido é 100 itens.
Name
sort_by
Type
string
predefinição -created_at
Description
Campo pelo qual ordenar. Valores disponíveis:
+created_at: Ordenar por hora de criação em ordem ascendente.
-created_at: Ordenar por hora de criação em ordem descendente.
O objeto da Tarefa de Protótipo de Figura de Lego é uma unidade de trabalho que o Meshy monitoriza para
gerar uma imagem de conceito em estilo Lego a partir de uma fotografia de origem. O resultado
desta fase é encadeado na fase de construção
através de input_task_id.
Propriedades
Name
id
Type
string
Description
Identificador único para a tarefa. Embora utilizemos um UUID ordenável por k como detalhe de implementação para os ids das tarefas, não deve fazer quaisquer suposições sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa. O valor é creative-lab-brick-figure-prototype.
Name
name
Type
string
Description
O nome da tarefa fornecido quando a tarefa foi criada. String vazia se não tiver sido fornecido nenhum nome.
Name
status
Type
string
Description
Estado da tarefa. Os valores possíveis são um de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress da tarefa. Se a tarefa ainda não tiver começado, esta propriedade será 0. Assim que a tarefa for concluída com sucesso, tornar-se-á 100.
Name
created_at
Type
timestamp
Description
Carimbo de data/hora de quando a tarefa foi criada, em milissegundos.
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 às 12:00:00 GMT é representado como 1693569600000. Isto aplica-se
a todos os carimbos de data/hora na Meshy API.
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á null.
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á null.
Name
expires_at
Type
timestamp
Description
Carimbo de data/hora de quando o resultado da tarefa expira, em milissegundos.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas precedentes.
O valor deste campo só é significativo 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).
Name
image_urls
Type
array of strings
Description
URLs transferíveis para os candidatos a imagem de conceito gerados por esta tarefa de protótipo. Atualmente a API devolve sempre exatamente um candidato; o campo é um array para que revisões futuras possam apresentar vários candidatos sem uma alteração disruptiva.
O objeto Brick Figure Build Task é uma unidade de trabalho que a Meshy monitoriza para
gerar uma figura de brick 3D texturizada a partir de uma tarefa de protótipo bem-sucedida. Este
executa o mesmo pipeline de imagem para 3D utilizado por Imagem para 3D,
pelo que os campos de saída espelham o objeto de tarefa desse endpoint.
Propriedades
Name
id
Type
string
Description
Identificador único da tarefa.
Name
type
Type
string
Description
Tipo da tarefa. O valor é creative-lab-brick-figure-build.
Name
name
Type
string
Description
O nome da tarefa fornecido quando a tarefa foi criada. Cadeia vazia se não tiver sido fornecido nenhum nome.
Name
status
Type
string
Description
Estado da tarefa. Os valores possíveis são um de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
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 bem-sucedida, passará a 100.
Name
created_at
Type
timestamp
Description
Carimbo de data/hora de quando a tarefa foi criada, em milissegundos.
Name
started_at
Type
timestamp
Description
Carimbo de data/hora de quando a tarefa foi iniciada, em milissegundos.
Name
finished_at
Type
timestamp
Description
Carimbo de data/hora de quando a tarefa foi concluída, em milissegundos.
Name
expires_at
Type
timestamp
Description
Carimbo de data/hora de quando o resultado da tarefa expira, em milissegundos.
Name
preceding_tasks
Type
integer
Description
A contagem de tarefas precedentes. Apenas relevante quando o estado é 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. Devolve 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).
Name
prompt
Type
string
Description
Sempre vazio para brick figure build. Presente para compatibilidade entre endpoints com a estrutura partilhada V2ImageTo3DTaskResponse utilizada por Imagem para 3D.
Name
negative_prompt
Type
string
Description
Sempre vazio para brick figure build. Presente para compatibilidade entre endpoints.
Name
texture_prompt
Type
string
Description
Sempre vazio para brick figure build. Presente para compatibilidade entre endpoints.
Name
texture_image_url
Type
string
Description
Sempre vazio para brick figure build. Presente para compatibilidade entre endpoints.
Name
model_urls
Type
object
Description
URLs descarregáveis para o modelo 3D gerado. O brick figure build produz um GLB texturizado, além do par OBJ + MTL para pipelines que preferem o Wavefront OBJ. A estrutura do campo corresponde ao objeto model_urls do Imagem para 3D, pelo que futuras adições de formatos se integram sem alterações disruptivas.
Name
glb
Type
string
Description
URL descarregável para o ficheiro GLB texturizado.
Name
obj
Type
string
Description
URL descarregável para o ficheiro Wavefront OBJ (geometria + UV).
Name
mtl
Type
string
Description
URL descarregável para o ficheiro de material MTL complementar do OBJ. Combine com obj e a entrada de texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
URL descarregável para a imagem em miniatura do ficheiro do modelo.
Name
texture_urls
Type
array
Description
Uma matriz de objetos de URL de textura gerados por esta tarefa. Atualmente contém um único objeto com o mapa de cor base.
Name
base_color
Type
string
Description
URL descarregável para a imagem do mapa de cor base.