Transforme uma foto de origem em uma figura colecionável 3D de vinil com cabeça grande em duas
etapas: o protótipo gera uma imagem conceitual estilizada a partir da sua foto de
entrada e, em seguida, a construção transforma essa imagem conceitual em um modelo 3D texturizado.
As duas etapas são vinculadas via input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Gera uma única imagem de conceito no estilo vinyl figure a partir da
foto de origem. O ID de task retornado é o que você passa como
input_task_id para o endpoint de build. Consulte
O Objeto Vinyl Figure Prototype Task
para o formato da resposta.
Parâmetros
Name
image_url
Type
string
Obrigatório
Description
Foto de origem para a Meshy estilizar como uma vinyl figure de cabeça grande. Atualmente oferecemos suporte aos formatos .jpg, .jpeg, .png e .webp.
Existem duas maneiras de fornecer a imagem:
URL publicamente acessível: Uma URL que é acessível pela internet pública.
Data URI: Um data URI da imagem codificado em base64. Exemplo de um data URI: data:image/jpeg;base64,<seus dados de imagem codificados em base64>.
Name
name
Type
string
Description
Nome opcional da task para fins de exibição. Máximo de 100 caracteres.
Name
remove_background
Type
boolean
padrão false
Description
Quando definido como true, a imagem de protótipo é retornada como um PNG RGBA transparente com o fundo removido, para que você possa compor o assunto sobre qualquer fundo.
Retornos
A propriedade result da resposta contém o id da task da nova vinyl figure prototype task criada. Faça polling no endpoint Get a Task ou inscreva-se no stream até que a task atinja SUCCEEDED, e então passe esse ID para o endpoint de build como input_task_id.
Modos de Falha
Name
400 - Bad Request
Description
A solicitação foi inaceitável. Causas comuns:
Parâmetro ausente: image_url é obrigatório.
Formato de imagem inválido: O image_url fornecido não está em um formato suportado (.jpg, .jpeg, .png, .webp).
Dimensões da imagem fora do intervalo: A imagem é muito pequena, excede o tamanho máximo de arquivo, ou excede a contagem máxima de pixels.
URL inacessível: O image_url não pôde ser baixado (404 ou timeout).
Data URI inválido: A string base64 está malformada.
Conteúdo sinalizado: A imagem de entrada foi sinalizada pela moderation de NSFW ou de propriedade intelectual.
Name
401 - Unauthorized
Description
Falha na autenticação. Por favor, verifique sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para executar esta task.
Name
429 - Too Many Requests
Description
Você excedeu 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, em seguida, gere a imagem de protótipo usada pelo estágio de build.
Gera a figura de vinil 3D final texturizada a partir de uma tarefa de protótipo bem-sucedida. O build executa o mesmo pipeline de imagem para 3D usado em
Imagem para 3D, portanto o formato do objeto de resposta e a
lista de URLs de saída são exatamente os mesmos. Consulte
O Objeto de Tarefa de Build de Figura de Vinil
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 do 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.
Tarefas de protótipo criadas através da webapp não são aceitas — o endpoint de build 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 exibição. Máximo de 100 caracteres.
Retornos
A propriedade result da resposta contém o id da tarefa da nova tarefa de build de figura de vinil criada. Consulte periodicamente o endpoint Obter uma Tarefa ou inscreva-se no stream até que a tarefa atinja SUCCEEDED, e então baixe o GLB texturizado em model_urls.glb (ou o par OBJ + MTL em model_urls.obj e model_urls.mtl se o seu pipeline downstream preferir OBJ).
Modos de Falha
Name
400 - Bad Request
Description
A solicitação foi inaceitável. Causas comuns:
Parâmetro ausente: input_task_id é obrigatório.
UUID inválido: O input_task_id não é um UUID válido.
Tarefa pai não concluída: A tarefa de protótipo referenciada ainda não atingiu SUCCEEDED.
Nenhuma candidata: A tarefa de protótipo foi concluída com sucesso, mas não produziu nenhuma imagem candidata.
Name
401 - Unauthorized
Description
A autenticação falhou. Verifique 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 usuário ou foi criada através da webapp (apenas tarefas de protótipo em modo API encadeiam em build).
Name
429 - Too Many Requests
Description
Você excedeu 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" }'
Recupera uma tarefa de protótipo ou de build a partir de um id de tarefa válido. O caminho da URL
deve corresponder ao estágio da tarefa — uma tarefa de build buscada por meio de
/prototype/:id retorna 404, e vice-versa.
Cancela uma tarefa de figura vinyl. Se a tarefa ainda estiver PENDING, os
créditos consumidos no momento da criação são reembolsados. Tarefas que já
estão IN_PROGRESS são canceladas sem reembolso (o worker pode já estar
consumindo recursos). Tarefas que já atingiram um estado terminal
(SUCCEEDED, FAILED, CANCELED) não podem ser canceladas.
O caminho da URL deve corresponder ao estágio da tarefa — DELETE em
/prototype/:buildId retorna 404.
Parâmetros de Caminho
Name
id
Type
path
Description
Identificador único da tarefa de figura vinyl a ser cancelada.
Retornos
Retorna 204 No Content em caso de sucesso, com corpo vazio.
Modos de Falha
Name
400 - Bad Request
Description
A tarefa já está em um estado terminal e não pode ser cancelada.
Name
404 - Not Found
Description
A tarefa não existe, pertence a um usuário diferente, ou seu estágio não corresponde ao caminho da URL.
Transmite atualizações em tempo real para uma tarefa de vinyl figure via Server-Sent Events
(SSE). O caminho da URL deve corresponder ao estágio da tarefa — abrir um stream em
/prototype/:buildId/stream emite um único event: error payload com
status_code: 404 e encerra o stream.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de vinyl figure a ser transmitida.
Retornos
Retorna um stream de objetos de tarefa Vinyl Figure Prototype
ou Vinyl Figure Build
como Server-Sent Events. Cada frame carrega o objeto de tarefa completo do estágio — o mesmo formato que o
endpoint Get retorna — então, 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.
Recupera uma lista paginada de suas tarefas de vinyl figure para um único estágio.
O caminho da URL seleciona o estágio — /prototype retorna tarefas de protótipo;
/build retorna tarefas de build. 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 retorna apenas tarefas
cujo estágio corresponda à URL — buscar /prototype nunca retorna
tarefas de build e vice-versa.
Parâmetros de Consulta
Name
page_num
Type
integer
padrão 1
Description
Número da página para paginação.
Name
page_size
Type
integer
padrão 10
Description
Limite de tamanho da página. O máximo permitido é 100 itens.
Name
sort_by
Type
string
padrão -created_at
Description
Campo pelo qual ordenar. Valores disponíveis:
+created_at: Ordenar pelo tempo de criação em ordem crescente.
-created_at: Ordenar pelo tempo de criação em ordem decrescente.
O objeto da Tarefa de Protótipo de Figura de Vinil é uma unidade de trabalho que a Meshy monitora
para gerar uma imagem de conceito no estilo figura de vinil a partir de uma foto de origem.
A saída desta etapa é encadeada com a etapa de construção por meio de input_task_id.
Propriedades
Name
id
Type
string
Description
Identificador único da tarefa. Embora usemos um UUID k-sortable para os ids das tarefas como detalhe de implementação, você 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 no momento da criação. String vazia se nenhum nome foi fornecido.
Name
status
Type
string
Description
Status da tarefa. Os valores possíveis são um dos seguintes: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress da tarefa. Se a tarefa ainda não foi iniciada, esta propriedade será 0. Assim que a tarefa for concluída com sucesso, ela se tornará 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
o padrão RFC 3339.
Por exemplo, sexta-feira, 1º de setembro de 2023, 12:00:00 GMT é representado como 1693569600000. Isso se aplica
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 foi iniciada, esta propriedade será 0.
Name
finished_at
Type
timestamp
Description
Carimbo de data/hora de quando a tarefa foi finalizada, em milissegundos. Se a tarefa ainda não foi finalizada, 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 é significativo apenas se o status da tarefa for PENDING.
Name
task_error
Type
object
Description
Detalhes de 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. 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).
Name
image_urls
Type
array of strings
Description
URLs para download das candidatas a imagem de conceito geradas por esta tarefa de protótipo. Atualmente, a API sempre retorna exatamente uma candidata; o campo é um array para que revisões futuras possam expor múltiplas candidatas sem uma alteração incompatível.
O objeto de Tarefa de Construção de Figura de Vinil é uma unidade de trabalho que a Meshy monitora
para gerar uma figura de vinil 3D texturizada a partir de uma tarefa de protótipo bem-sucedida.
Ele executa o mesmo pipeline de imagem-para-3D usado por Imagem para 3D,
portanto 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. String vazia se nenhum nome foi fornecido.
Name
status
Type
string
Description
Status 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 foi iniciada, essa propriedade será 0. Assim que a tarefa for bem-sucedida, isso se tornará 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 finalizada, 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. Significativo apenas quando o status é PENDING.
Name
task_error
Type
object
Description
Detalhes de 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 construção de figura de vinil. Presente para compatibilidade entre endpoints com a forma compartilhada V2ImageTo3DTaskResponse usada por Imagem para 3D.
Name
negative_prompt
Type
string
Description
Sempre vazio para construção de figura de vinil. Presente para compatibilidade entre endpoints.
Name
texture_prompt
Type
string
Description
Sempre vazio para construção de figura de vinil. Presente para compatibilidade entre endpoints.
Name
texture_image_url
Type
string
Description
Sempre vazio para construção de figura de vinil. Presente para compatibilidade entre endpoints.
Name
model_urls
Type
object
Description
URLs para download do modelo 3D gerado. A construção de figura de vinil emite um GLB texturizado além do par OBJ + MTL para pipelines que preferem Wavefront OBJ. O formato do campo corresponde ao objeto model_urls de Imagem para 3D, de forma que futuras adições de formato se encaixem sem quebra de compatibilidade.
Name
glb
Type
string
Description
URL para download do arquivo GLB texturizado.
Name
obj
Type
string
Description
URL para download do arquivo Wavefront OBJ (geometria + UV).
Name
mtl
Type
string
Description
URL para download do arquivo de material MTL complementar do OBJ. Combine com obj e com a entrada de texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
URL para download da imagem em miniatura do arquivo do modelo.
Name
texture_urls
Type
array
Description
Um array de objetos de URL de textura gerados por esta tarefa. Atualmente contém um único objeto com o mapa de cor base.