Transforme uma foto origem numa figura colecionável 3D de cabeça grande em duas
etapas: protótipo gera uma imagem de conceito com estilo a partir da sua foto de entrada e depois construção transforma essa imagem de conceito num modelo 3D com textura. As duas etapas estão ligadas através do input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Gere uma imagem conceptual em estilo de figura de vinil a partir da
foto-fonte. O ID da tarefa retornado é o que deve ser passado como input_task_id para o
endpoint de construção. Consulte
O Objeto da Tarefa de Protótipo de Figura de Vinil
para o formato de resposta.
Parâmetros
Name
image_url
Type
string
Obrigatório
Description
Foto-fonte para a Meshy estilizar como uma figura de vinil de cabeça grande. Atualmente suportamos os formatos .jpg, .jpeg, .png, e .webp.
Existem duas maneiras 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,<os teus dados de imagem codificados em base64>.
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 recém-criada de protótipo de figura de vinil. Consulte o endpoint Obter uma Tarefa ou assine o stream até que a tarefa atinja SUCCEEDED, e depois passe esse ID para o endpoint de construção como input_task_id.
Modos de Falha
Name
400 - Bad Request
Description
O pedido era inaceitável. Causas comuns:
Parâmetro em falta: image_url é obrigatório.
Formato de imagem inválido: O image_url fornecido não é um formato suportado (.jpg, .jpeg, .png, .webp).
Dimensões da imagem fora dos limites: A imagem é demasiado pequena, excede o tamanho máximo do arquivo, ou excede a contagem máxima de pixels.
URL inacessível: O image_url não pôde ser descarregado (404 ou timeout).
Data URI inválido: A string base64 está malformada.
Conteúdo sinalizado: A imagem de entrada foi sinalizada pela moderação NSFW ou de propriedade intelectual.
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
429 - Too Many Requests
Description
Excedeu o seu limite de taxa.
Pedido
POST
/openapi/creative-lab/vinyl-figure/v1/prototype
# Etapa 1: gerar uma imagem conceptual em estilo de figura de vinilcurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<o teu URL de imagem publicamente acessível ou Data URI codificado em base64>" }'
Resposta
{"result":"019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"}
Prototype example
Start with a source portrait, then generate the prototype image used by the build stage.
Gerar a figura de vinil 3D final com textura a partir de uma tarefa protótipo sucedida. A construção segue o mesmo pipeline de imagem para 3D que Imagem para 3D, portanto o formato do objeto de resposta e a lista de URLs de saída correspondem exatamente. Consulte O Objeto Tarefa de Construção de Figura de Vinil para a forma de 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 alcançado SUCCEEDED e deve ter produzido exatamente uma imagem candidata.
Tarefas protótipos criadas através da webapp não são aceitas — o endpoint de construção aceita apenas tarefas protótipos produzidas por POST /openapi/creative-lab/vinyl-figure/v1/prototype e recusa qualquer outra fonte com 404.
Name
name
Type
string
Description
Nome da tarefa opcional 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 construção da figura de vinil criada. Consulte o endpoint Obter uma Tarefa ou subscreva-se ao stream até que a tarefa alcance SUCCEEDED, então faça o download do GLB texturizado de model_urls.glb (ou o par OBJ + MTL de model_urls.obj e model_urls.mtl se o seu pipeline de processamento preferir OBJ).
Modos de Falha
Name
400 - Bad Request
Description
A requisiçã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.
Prototipo não sucedido: A tarefa protótipo referenciada ainda não alcançou SUCCEEDED.
Sem candidato: A tarefa protótipo sucedeu mas não produziu imagem candidata.
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
404 - Not Found
Description
A tarefa protótipo referenciada não existe, pertence a um utilizador diferente ou foi criada através da webapp (apenas tarefas protótipos em modo API se encadeiam em construção).
Name
429 - Too Many Requests
Description
Excedeu o seu limite de taxa.
Requisição
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Etapa 2: encadear construção a partir de uma tarefa protótipo sucedidacurl https://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Recuperar uma tarefa de protótipo ou construção dado um id de tarefa válido. O caminho do URL
deve corresponder à fase da tarefa — uma tarefa de construção obtida através de
/prototype/:id retorna 404, e vice-versa.
Cancelar uma tarefa de vinil 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 trabalhador pode já estar a gastar 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 retorna 404.
Parâmetros de Caminho
Name
id
Type
path
Description
Identificador único para a tarefa de vinil figura a cancelar.
Retornos
Retorna 204 No Content em caso de sucesso com um 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 outro utilizador, ou a sua fase não corresponde ao caminho do URL.
Transmitir atualizações em tempo real para uma tarefa de figura de vinil via 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 para a tarefa de figura de vinil a transmitir.
Retornos
Retorna um stream de objetos de tarefa Vinyl Figure Prototype
ou Vinyl Figure Build como Server-Sent Events. Para tarefas PENDING ou IN_PROGRESS, o stream de resposta incluirá apenas os campos necessários progress e status.
// Exemplo de evento de erro (fase errada ou tarefa não encontrada)event: errordata: {"status_code": 404,"message": "Tarefa não encontrada"}// Exemplos de eventos de mensagem ilustram o progresso da tarefa.// Para tarefas PENDING ou IN_PROGRESS, o stream de resposta não incluirá todos os campos.event: messagedata: {"id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef","progress": 0,"status": "PENDING"}event: messagedata: {"id": "019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef","type": "creative-lab-vinyl-figure-build","status": "SUCCEEDED","progress": 100,"created_at": 1752969700000,"started_at": 1752969710000,"finished_at": 1752969735000,"expires_at": 1753228935000,"task_error": null,"consumed_credits": 30,"prompt": "","negative_prompt": "","texture_prompt": "","texture_image_url": "","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.glb?Expires=***","obj":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/model.mtl?Expires=***" },"thumbnail_url": "https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/preview.png?Expires=***","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/019c8a31-6e2f-7b4d-9a55-4c3098b2d5ef/output/texture_0.png?Expires=***" } ]}
Recupere uma lista paginada das suas tarefas de vinil figura para uma única fase.
O caminho da URL seleciona a fase — /prototype retorna tarefas de protótipo;
/build retorna tarefas de construção. As tarefas de outras fases não são
incluídas em nenhuma das respostas.
Parâmetros de Caminho
Name
stage
Type
path
Obrigatório
Description
Ou prototype ou build. A coleção retorna apenas tarefas
cuja fase corresponde à URL — buscar /prototype nunca retorna
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 é 50 itens.
Name
sort_by
Type
string
predefinição -created_at
Description
Campo para ordenar. Valores disponíveis:
+created_at: Ordenar por tempo de criação em ordem ascendente.
-created_at: Ordenar por tempo de criação em ordem descendente.
O objeto Tarefa do Protótipo de Figura de Vinil é uma unidade de trabalho que a Meshy rastreia
para gerar uma imagem de conceito ao estilo de figura de vinil 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 para a tarefa. Enquanto utilizamos um UUID k-sortable para ids de tarefas como detalhe de implementação, não deves fazer quaisquer 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 nenhum nome foi fornecido.
Name
status
Type
string
Description
Estado da tarefa. Os valores possíveis são um dos PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progresso da tarefa. Se a tarefa ainda não foi iniciada, esta propriedade será 0. Depois que a tarefa tiver sido concluída com sucesso, isto 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 o padrão
RFC 3339.
Por exemplo, sexta-feira, 1 de setembro de 2023, 12:00:00 PM 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 foi 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 foi 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
O número de tarefas anteriores.
O valor deste campo é significativo apenas se o estado da tarefa for PENDING.
Name
task_error
Type
object
Description
Detalhes do erro para tarefas falhadas. Veja Erros para 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. Retorna 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).
Name
image_urls
Type
array of strings
Description
URLs descarregáveis para os candidatos a imagens conceito gerados por esta tarefa protótipo. Atualmente, a API retorna sempre exatamente um candidato; o campo é uma matriz, pelo que futuras revisões podem apresentar múltiplos candidatos sem uma alteração de quebra.
Exemplo de Objeto Tarefa Protótipo de Figura de Vinil
O objeto de Tarefa de Construção da Figura de Vinil é uma unidade de trabalho que a Meshy acompanha
para gerar uma figura de vinil 3D texturizada a partir de uma tarefa de protótipo SUCCEEDED.
Executa o mesmo pipeline de imagem-para-3D usado por Imagem para 3D,
portanto, os campos de saída espelham os desse endpoint objeto de tarefa.
Propriedades
Name
id
Type
string
Description
Identificador único para a 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
Estado da tarefa. 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. Uma vez que a tarefa for concluída com sucesso, 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 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. Significativo apenas quando o estado é PENDING.
Name
task_error
Type
object
Description
Detalhes do erro para tarefas falhadas. Veja 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 (créditos são reembolsados em caso de falha).
Name
prompt
Type
string
Description
Sempre vazio para a construção de figura de vinil. Presente para compatibilidade entre endpoints com a forma partilhada V2ImageTo3DTaskResponse usada por Imagem para 3D.
Name
negative_prompt
Type
string
Description
Sempre vazio para a construção de figura de vinil. Presente para compatibilidade entre endpoints.
Name
texture_prompt
Type
string
Description
Sempre vazio para a construção de figura de vinil. Presente para compatibilidade entre endpoints.
Name
texture_image_url
Type
string
Description
Sempre vazio para a construção de figura de vinil. Presente para compatibilidade entre endpoints.
Name
model_urls
Type
object
Description
URLs descarregáveis para o modelo 3D gerado. A construção de figura de vinil emite um GLB texturizado mais o par OBJ + MTL para pipelines que preferem Wavefront OBJ. O formato do campo corresponde ao objeto Imagem para 3D model_urls para que futuras adições de formato entrem sem uma alteração disruptiva.
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 do OBJ acompanhante. Emparelhar com obj e a entrada de texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
URL descarregável para a imagem de miniatura do ficheiro do modelo.
Name
texture_urls
Type
array
Description
Uma matriz de objetos 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.