Transforme uma foto de origem numa figura 3D coletável em estilo chibi em duas etapas:
prototype gera uma imagem de conceito estilizada a partir da sua foto de entrada, depois
build transforma essa imagem de conceito num modelo 3D texturizado. As duas etapas
estão ligadas através de input_task_id.
Gere uma única imagem conceptual em estilo chibi a partir da fotografia de origem. O ID de tarefa devolvido é o que passa como input_task_id para o endpoint de build. Consulte
The Figure Prototype Task Object
para conhecer a estrutura da resposta.
Parâmetros
Name
image_url
Type
string
Obrigatório
Description
Fotografia de origem para a Meshy estilizar como uma figura chibi. 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 apresentação. Máximo de 100 carateres.
Name
remove_background
Type
boolean
predefinição false
Description
Quando definido como true, a imagem do protótipo é devolvida como um PNG RGBA transparente com o fundo removido, permitindo compor o sujeito sobre qualquer fundo.
Retorna
A propriedade result da resposta contém o id da tarefa recém-criada de protótipo de figura. 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 de ficheiro ou excede a contagem máxima de píxeis.
URL inacessível: Não foi possível transferir o image_url (404 ou timeout).
Data URI inválido: A cadeia base64 está mal formada.
Conteúdo assinalado: A imagem de entrada foi assinalada pela moderation de conteúdo NSFW ou de propriedade intelectual.
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
429 - Too Many Requests
Description
Excedeu o seu limite de taxa.
Request
POST
/openapi/creative-lab/figure/v1/prototype
# Stage 1: generate a chibi-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/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>" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototype example
Start with a source portrait, then generate the prototype image used by the build stage.
Gere a figura 3D texturizada final 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
The Figure Build Task Object para o
formato da resposta.
Parâmetros
Name
input_task_id
Type
string
Obrigatório
Description
O ID de tarefa de uma tarefa de protótipo criada através deste mesmo endpoint OpenAPI. O protótipo deve ter sido criado com a mesma chave de API, deve ter atingido SUCCEEDED e deve ter produzido exatamente uma imagem candidata.
As tarefas de protótipo criadas através da webapp não são aceites — o endpoint de build aceita apenas tarefas de protótipo produzidas por POST /openapi/creative-lab/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 de tarefa da nova tarefa de construção de figura criada. Consulte periodicamente o endpoint Get a Task 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.
Origem ainda não concluída: 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
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 protótipo referenciada não existe, pertence a outro utilizador, ou foi criada através da webapp (apenas as 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/figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578" }'
Response
{"result":"019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"}
Exemplo de construção
A tarefa de construção transforma a imagem de protótipo selecionada num modelo 3D texturizado transferível.
Obtenha uma tarefa de protótipo ou de build indicando um id de tarefa válido. O caminho do URL
tem de corresponder à fase da tarefa — uma tarefa de build obtida através de
/prototype/:id devolve 404, e vice-versa.
Cancela uma tarefa de figura. 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 (o worker pode já estar 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 — DELETE em
/prototype/:buildId devolve 404.
Parâmetros de Caminho
Name
id
Type
path
Description
Identificador único da tarefa de figura 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 de uma tarefa de figure através de Server-Sent Events (SSE).
O caminho do URL tem de corresponder à fase da tarefa — abrir um stream em
/prototype/:buildId/stream emite um único event: error com
status_code: 404 e fecha o stream.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de figure a transmitir em stream.
Devolve
Devolve um stream de objetos de tarefa Figure Prototype
ou Figure Build como
Server-Sent Events. Cada frame contém o objeto de tarefa completo para a fase — a mesma estrutura devolvida pelo
endpoint Get — 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 figura para uma única etapa. O caminho do URL
seleciona a etapa — /prototype devolve tarefas de protótipo; /build
devolve tarefas de construção. As tarefas da outra etapa 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
cuja etapa corresponda ao URL — pedir /prototype nunca devolve
tarefas de construção 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 do 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: Ordena por hora de criação em ordem crescente.
-created_at: Ordena por hora de criação em ordem decrescente.
O objeto Figure Prototype Task é uma unidade de trabalho que a Meshy mantém sob controlo para gerar uma imagem de conceito em estilo chibi a partir de uma fotografia de origem. O resultado desta fase é encadeado com a fase de construção através de input_task_id.
Propriedades
Name
id
Type
string
Description
Identificador único da tarefa. Embora utilizemos um UUID k-sortable para os ids de tarefa como detalhe de implementação, não deve fazer nenhuma suposição sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa. O valor é creative-lab-figure-prototype.
Name
name
Type
string
Description
O nome da tarefa fornecido no momento da criação. 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
Progress da tarefa. Se a tarefa ainda não tiver sido iniciada, esta propriedade será 0. Assim que a tarefa for bem-sucedida, esta passará a 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, 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á 0.
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
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ó tem significado se o estado da tarefa for PENDING.
Name
task_error
Type
object
Description
Detalhes de 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 é uma matriz para que futuras revisões possam apresentar múltiplos candidatos sem alterações incompatíveis.
O objeto Figure Build Task é uma unidade de trabalho que a Meshy mantém para
gerar uma figura 3D texturizada a partir de uma tarefa de protótipo bem-sucedida. Ele
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-figure-build.
Name
name
Type
string
Description
O nome da tarefa fornecido no momento da criação da tarefa. String vazia se não tiver sido fornecido um 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. Só tem significado quando o estado é 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. Devolve 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).
Name
prompt
Type
string
Description
Sempre vazio para figure build. Presente para compatibilidade entre endpoints com a estrutura partilhada V2ImageTo3DTaskResponse usada por Imagem para 3D.
Name
negative_prompt
Type
string
Description
Sempre vazio para figure build. Presente para compatibilidade entre endpoints.
Name
texture_prompt
Type
string
Description
Sempre vazio para figure build. Presente para compatibilidade entre endpoints.
Name
texture_image_url
Type
string
Description
Sempre vazio para figure build. Presente para compatibilidade entre endpoints.
Name
model_urls
Type
object
Description
URLs para transferência do modelo 3D gerado. O 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 formato se encaixam sem alterações disruptivas.
Name
glb
Type
string
Description
URL para transferência do ficheiro GLB texturizado.
Name
obj
Type
string
Description
URL para transferência do ficheiro Wavefront OBJ (geometria + UV).
Name
mtl
Type
string
Description
URL para transferência do 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 para transferência da imagem de 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 para transferência da imagem do mapa de cor base.