Transforme uma foto de origem num medalhão de porta-chaves imprimível em 3D — um relevo colorido em forma de crachá — em duas etapas: protótipo gera uma imagem conceptual colorida a partir da sua foto de entrada, depois construção transforma essa imagem conceptual num modelo 3D em relevo. As duas etapas estão ligadas através de input_task_id.
Gere uma única imagem conceptual colorida a partir da foto de origem. O ID da tarefa retornado é o que você passa como input_task_id para o endpoint de construção. Consulte
O Objeto de Tarefa de Protótipo de Porta-chaves
para a forma da resposta.
Parâmetros
Name
image_url
Type
string
Obrigatório
Description
Foto de origem para a Meshy colorir numa imagem conceptual pronta para porta-chaves. Atualmente, suportamos os formatos .jpg, .jpeg, .png e .webp.
Existem duas maneiras de fornecer a imagem:
URL publicamente acessível: Um URL 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 seus 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.
Name
remove_background
Type
boolean
predefinição false
Description
Quando definido como true, a imagem do protótipo é retornada como um PNG RGBA transparente com o fundo removido, para que possa compor o sujeito em qualquer fundo.
Isto controla apenas a imagem que este endpoint retorna. É separado da opção de construção com o mesmo nome (padrão true), que controla a remoção do fundo antes do relevo.
Retornos
A propriedade result da resposta contém o id da tarefa recém-criada de protótipo de porta-chaves. Consulte o endpoint Obter uma Tarefa ou subscreva o stream até que a tarefa atinja SUCCEEDED, depois passe esse ID para o endpoint de construção 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 é um formato suportado (.jpg, .jpeg, .png, .webp).
Dimensões da imagem fora do intervalo: A imagem é muito pequena, excede o tamanho máximo do ficheiro ou excede o número máximo de píxeis.
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/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/keychain/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>" }'
Resposta
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Exemplo de Protótipo
Comece com uma foto de origem, depois gere a imagem do protótipo usada pela etapa de construção do porta-chaves.
Gere o medalhão final de porta-chaves imprimível em 3D a partir de uma tarefa de protótipo bem-sucedida. A construção executa um pipeline de relevo de mapa de profundidade na imagem conceitual colorida do protótipo e envia um único artefato de malha no formato que solicitar. Consulte O Objeto de Tarefa de Construção de Porta-chaves 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 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/keychain/v1/prototype e recusa qualquer outra fonte com 404.
Name
name
Type
string
Description
Nome opcional da tarefa para fins de exibição. Máximo de 100 caracteres.
options
Parâmetros de ajuste opcionais para a geometria de relevo. Cada campo tem um valor padrão sensato — envie apenas aqueles que deseja substituir.
Name
badge_shape
Type
string
predefinição circle
Description
Silhueta de contorno do medalhão do porta-chaves. Valores disponíveis:
circle (padrão)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
predefinição 40
Description
Comprimento da aresta do quadrado delimitador do porta-chaves, em milímetros. Intervalo: (0, 400].
Name
relief_height_mm
Type
number
predefinição 2.2
Description
Altura máxima do relevo acima da base, em milímetros. Intervalo: [0, 20].
Name
relief_offset_mm
Type
number
predefinição 0
Description
Deslocamento vertical aplicado ao relevo antes da extrusão, em milímetros. Intervalo: [0, 20].
Name
base_thickness_mm
Type
number
predefinição 0.1
Description
Espessura da placa de base plana atrás do relevo, em milímetros. Intervalo: [0, 20].
Name
has_closed_back
Type
boolean
predefinição true
Description
Se a parte de trás do medalhão está selada como uma superfície fechada. Defina como false para uma concha aberta.
Name
relief_curve
Type
string
predefinição linear
Description
Curva de transferência que mapeia valores de mapa de profundidade para altura de relevo. Valores disponíveis:
linear (padrão)
gamma
s-curve
Name
curve_param
Type
number
predefinição 1.0
Description
Parâmetro de forma para a curva de transferência (apenas significativo quando relief_curve é gamma). Intervalo: (0, 10].
Name
invert_depth
Type
boolean
predefinição false
Description
Inverter a interpretação do mapa de profundidade para que regiões mais escuras se tornem relevo mais alto.
Name
smoothing
Type
number
predefinição 0.24
Description
Força de suavização aplicada ao mapa de profundidade antes da extração do relevo. Intervalo: [0, 10].
Name
relief_scale
Type
number
predefinição 1.0
Description
Multiplicador de escala vertical aplicado sobre relief_height_mm. Intervalo: (0, 10].
Name
depth_threshold
Type
number
predefinição 0.1
Description
Limite de passagem baixa para valores de mapa de profundidade; qualquer coisa abaixo disso é fixada a zero. Intervalo: [0, 1].
Name
remove_background
Type
boolean
predefinição true
Description
Remover automaticamente o fundo da imagem conceitual do protótipo antes do relevo.
Separado do parâmetro de protótipo com o mesmo nome (padrão false), que controla se a própria imagem do protótipo é retornada com transparência.
Name
export_resolution
Type
integer
predefinição 512
Description
Resolução da malha usada para exportação. Intervalo: [64, 2048].
output
Seletor de formato de fio opcional. O padrão é glb.
Name
format
Type
string
predefinição glb
Description
Pacote de artefatos retornado pela construção. Valores disponíveis:
glb (padrão) — retorna um único model.glb sob model_urls.glb.
obj — compacta model.obj + model.mtl + texture.png e retorna o pacote sob model_urls.obj.
zip — compacta todos os artefatos que o gerador emite e retorna o pacote sob model_urls.bundle_zip.
Retornos
A propriedade result da resposta contém o id da tarefa da nova tarefa de construção de porta-chaves criada. Consulte o endpoint Obter uma Tarefa ou subscreva o stream até que a tarefa alcance SUCCEEDED, depois faça o download do artefato a partir da única entrada em model_urls.
Modos de Falha
Name
400 - Bad Request
Description
O pedido foi 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.
Pai não bem-sucedido: A tarefa de protótipo referenciada ainda não alcançou SUCCEEDED.
Sem candidato: A tarefa de protótipo foi bem-sucedida, mas não produziu imagem candidata.
Opções fora do intervalo: Um dos campos options caiu fora do seu intervalo permitido ou conjunto de enumeração.
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 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 encadeiam na construção).
Recupere uma tarefa de protótipo ou de 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 porta-chaves. 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 trabalhador pode já estar a consumir recursos). 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 porta-chaves 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á 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.
Transmita atualizações em tempo real para uma tarefa de porta-chaves via Server-Sent Events (SSE).
O caminho do URL deve corresponder à fase da tarefa — abrir uma transmissão em
/prototype/:buildId/stream emite um único event: error payload com
status_code: 404 e fecha a transmissão.
Parâmetros
Name
id
Type
path
Description
Identificador único para a tarefa de porta-chaves a transmitir.
Retornos
Retorna uma transmissão de objetos de tarefa Protótipo de Porta-chaves
ou Construção de Porta-chaves como
Server-Sent Events. Para tarefas PENDING ou IN_PROGRESS, a transmissão de resposta
incluirá apenas os campos necessários progress e status.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","progress": 0,"status": "PENDING"}event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","type": "creative-lab-keychain-build","status": "SUCCEEDED","progress": 100,"created_at": 1729123500000,"started_at": 1729123510000,"finished_at": 1729123535000,"expires_at": 1729382735000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***" }}
Obtenha uma lista paginada das suas tarefas do porta-chaves para um único estágio. O caminho da URL
seleciona o estágio — /prototype retorna tarefas de protótipo; /build
retorna tarefas de construção. Tarefas do outro estágio não estão incluídas em nenhuma das respostas.
Parâmetros do Caminho
Name
stage
Type
path
Obrigatório
Description
Ou prototype ou build. A coleção retorna apenas tarefas
cujo estágio 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 de Tarefa do Protótipo de Porta-chaves é uma unidade de trabalho que a Meshy acompanha para gerar uma imagem conceptual colorida a partir de uma foto 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 usemos um UUID k-sortable para ids de tarefa como detalhe de implementação, não deve fazer quaisquer suposições sobre o formato do id.
Name
type
Type
string
Description
Tipo de tarefa. O valor é creative-lab-keychain-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 de 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. Uma vez que a tarefa tenha sido concluída com sucesso, isto 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 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
A contagem de tarefas precedentes.
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 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. 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 imagem conceptual gerados por esta tarefa de protótipo. Atualmente, a API sempre retorna exatamente um candidato; o campo é uma matriz para que revisões futuras possam apresentar múltiplos candidatos sem uma alteração disruptiva.
Exemplo de Objeto de Tarefa do Protótipo de Porta-chaves
O objeto de Tarefa de Construção de Porta-chaves é uma unidade de trabalho que a Meshy acompanha para gerar a malha final do porta-chaves 3D a partir de uma tarefa de protótipo bem-sucedida. A construção executa um pipeline de relevo de mapa de profundidade na imagem conceitual do protótipo e publica um único artefacto de malha no formato solicitado pelo chamador.
Propriedades
Name
id
Type
string
Description
Identificador único para a tarefa.
Name
type
Type
string
Description
Tipo da tarefa. O valor é creative-lab-keychain-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. 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, esta propriedade será 0. Uma vez que a tarefa tenha sido concluída com sucesso, isto 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 (os créditos são reembolsados em caso de falha).
Name
model_urls
Type
object
Description
URLs descarregáveis para o artefacto gerado, indexados pelo nome do artefacto. Contém sempre exatamente uma entrada — o formato solicitado através do output.format do pedido de construção. A chave corresponde ao formato solicitado:
Name
glb
Type
string
Description
URL descarregável para o ficheiro GLB. Presente quando output.format foi glb (o padrão).
Name
obj
Type
string
Description
URL descarregável para um pacote zip contendo model.obj, model.mtl, e texture.png. Presente quando output.format foi obj.
Name
bundle_zip
Type
string
Description
URL descarregável para um pacote zip de todos os artefactos que o gerador emite. Presente quando output.format foi zip.
Exemplo de Objeto de Tarefa de Construção de Porta-chaves