Transforme uma foto de origem numa figura 3D colecionável de vinil de cabeça
grande em duas etapas: o protótipo gera uma imagem de conceito estilizada
a partir da sua foto de entrada, e depois a construção transforma essa
imagem de conceito num modelo 3D texturizado.
As duas etapas estão ligadas através de input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Gera uma única imagem de conceito no estilo de figura de vinil a partir da
foto de origem. O ID de tarefa devolvido é o que passa como
input_task_id para o endpoint de build. Consulte
O Objeto de Tarefa de Protótipo de Figura de Vinil
para conhecer o formato da resposta.
Parâmetros
Name
image_url
Type
string
Obrigatório
Description
Foto de origem para o Meshy estilizar como uma figura de vinil com cabeça grande. 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 codificado em base64 da imagem. 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 caracteres.
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, para que possa compor o sujeito em qualquer fundo.
Retorna
A propriedade result da resposta contém o id de tarefa da tarefa de protótipo de figura de vinil recém-criada. Consulte periodicamente o endpoint Obter uma Tarefa 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 string base64 está mal formada.
Conteúdo assinalado: A imagem de entrada foi assinalada por moderation de 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/vinyl-figure/v1/prototype
# Stage 1: generate a vinyl-figure-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-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":"019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"}
Exemplo de protótipo
Comece com uma foto de origem e, depois, gere a imagem de protótipo usada pela fase de build.
Gera a figura em vinil 3D final com textura 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 em Vinil
para conhecer a estrutura 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 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 construção aceita apenas tarefas de protótipo produzidas por POST /openapi/creative-lab/vinyl-figure/v1/prototype e recusa qualquer outra origem com 404.
Name
name
Type
string
Description
Nome opcional da tarefa para fins de apresentação. Máximo de 100 carateres.
Retorna
A propriedade result da resposta contém o id da tarefa da nova tarefa de construção de figura em vinil criada. Consulte periodicamente o endpoint Obter uma Tarefa ou subscreva o stream até a tarefa atingir SUCCEEDED, e depois descarregue o GLB com textura 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 era inaceitável. Causas comuns:
Parâmetro em falta: input_task_id é obrigatório.
UUID inválido: O input_task_id não é um UUID válido.
Tarefa-mãe não concluída 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 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/vinyl-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Obtenha uma tarefa de protótipo ou de build a partir de 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.
Cancele uma tarefa de figura vinyl. Se a tarefa ainda estiver PENDING, os
créditos consumidos no momento da criação são reembolsados. As tarefas já
IN_PROGRESS são canceladas sem reembolso (o worker já pode estar a
consumir recursos). Tarefas que já tenham atingido 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 para a tarefa de figura vinyl 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 outro utilizador, ou a sua fase não corresponde ao caminho do URL.
Transmite atualizações em tempo real de uma tarefa de figura vinyl 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 payload event: error com
status_code: 404 e fecha o stream.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de figura vinyl a transmitir em stream.
Devolve
Devolve um stream de objetos de tarefa Vinyl Figure Prototype
ou Vinyl Figure Build como Server-Sent Events. Cada frame transporta o objeto de tarefa completo referente à 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 figura em vinil para uma única fase.
O caminho do URL seleciona a fase — /prototype devolve tarefas de protótipo;
/build devolve tarefas de construção. As tarefas da outra fase 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 as tarefas
cuja fase corresponda ao URL — obter /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: Ordenar pelo tempo de criação em ordem ascendente.
-created_at: Ordenar pelo tempo de criação em ordem descendente.
O objeto Vinyl Figure Prototype Task é uma unidade de trabalho que o Meshy mantém sob controlo
para gerar uma imagem de conceito em estilo vinyl figure a partir de uma foto de origem.
O resultado desta etapa é encadeado na
etapa 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 das tarefas como detalhe de implementação, não deve fazer suposições sobre o formato do id.
Name
type
Type
string
Description
Tipo da tarefa. O valor é creative-lab-vinyl-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 sido iniciada, esta propriedade será 0. Assim que a tarefa for bem-sucedida, este valor passará a ser 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ó é significativo 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 é um array para que futuras revisões possam apresentar vários candidatos sem uma alteração disruptiva.
O Objeto de Tarefa de Construção da Figura em Vinil é uma unidade de trabalho que a Meshy monitoriza
para gerar uma figura de vinil 3D com textura a partir de uma tarefa de protótipo bem-sucedida.
Executa o mesmo pipeline de imagem para 3D utilizado por Imagem para 3D,
por isso 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-vinyl-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. Depois de a tarefa ser bem-sucedida, tornar-se-á 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ó é significativa 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. Retorna 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).
Name
prompt
Type
string
Description
Sempre vazio para a construção de figuras em vinil. Presente para compatibilidade entre endpoints com a estrutura partilhada V2ImageTo3DTaskResponse utilizada por Imagem para 3D.
Name
negative_prompt
Type
string
Description
Sempre vazio para a construção de figuras em vinil. Presente para compatibilidade entre endpoints.
Name
texture_prompt
Type
string
Description
Sempre vazio para a construção de figuras em vinil. Presente para compatibilidade entre endpoints.
Name
texture_image_url
Type
string
Description
Sempre vazio para a construção de figuras em vinil. Presente para compatibilidade entre endpoints.
Name
model_urls
Type
object
Description
URLs para descarregar o modelo 3D gerado. A construção da figura em vinil produz um GLB com textura, além do par OBJ + MTL para pipelines que preferem o Wavefront OBJ. A forma do campo corresponde ao objeto model_urls do Imagem para 3D, para que futuras adições de formato se integrem sem alterações disruptivas.
Name
glb
Type
string
Description
URL para descarregar o ficheiro GLB com textura.
Name
obj
Type
string
Description
URL para descarregar o ficheiro Wavefront OBJ (geometria + UV).
Name
mtl
Type
string
Description
URL para descarregar 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 para descarregar a 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 descarregar a imagem do mapa de cor base.