Transforme uma fotografia de origem num medalhão de porta-chaves imprimível em 3D — um relevo de profundidade
colorido em forma de emblema — em duas etapas: protótipo gera uma imagem de conceito
colorida a partir da sua fotografia de entrada e, em seguida, construção transforma essa imagem de conceito
num modelo 3D em relevo. As duas etapas são ligadas através de input_task_id.
Gere uma única imagem de conceito colorizada a partir da fotografia de origem. O
ID da tarefa devolvido é o que passa como input_task_id para o endpoint
de construção. Consulte
O objeto da tarefa de protótipo de porta-chaves
para o formato da resposta.
Parâmetros
Name
image_url
Type
string
Obrigatório
Description
Fotografia de origem para a Meshy colorizar numa imagem de conceito pronta para porta-chaves. Atualmente, suportamos os formatos .jpg, .jpeg, .png e .webp.
Existem duas formas de fornecer a imagem:
URL acessível publicamente: Um URL que seja 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 opcional da tarefa para fins de apresentação. Máximo de 100 caracteres.
Valores devolvidos
A propriedade result da resposta contém o id da tarefa de protótipo de porta-chaves recentemente criada. Consulte periodicamente o endpoint Obter uma tarefa ou subscreva o stream até a tarefa atingir SUCCEEDED e, em seguida, passe esse ID para o endpoint de construção como input_task_id.
Modos de falha
Name
400 - Bad Request
Description
O pedido não foi aceite. 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 descarregar o image_url (404 ou timeout).
Data URI inválido: A string base64 está malformada.
Conteúdo sinalizado: A imagem de entrada foi sinalizada por moderation 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/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept imagecurl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype \ -X POST \ -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 photo, then generate the prototype image used by the keychain build stage.
Gere o medalhão de porta-chaves final 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 de conceito colorida do protótipo
e fornece um único artefacto de malha no formato que pedir. Consulte
O objeto da tarefa de construção de porta-chaves para a
forma 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.
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 origem com 404.
Name
name
Type
string
Description
Nome opcional da tarefa para efeitos de apresentação. Máximo de 100 caracteres.
options
Parâmetros de afinação opcionais para a geometria do relevo. Cada campo tem uma predefinição adequada — envie apenas os que pretende substituir.
Name
badge_shape
Type
string
predefinição circle
Description
Silhueta do contorno do medalhão de porta-chaves. Valores disponíveis:
circle (predefiniçã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 por trás do relevo, em milímetros. Intervalo: [0, 20].
Name
has_closed_back
Type
boolean
predefinição true
Description
Se a parte traseira do medalhão é 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 do mapa de profundidade para a altura do relevo. Valores disponíveis:
linear (predefiniçã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
Inverta a interpretação do mapa de profundidade para que as regiões mais escuras se tornem relevo mais alto.
Name
smoothing
Type
number
predefinição 0.24
Description
Intensidade 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
Limiar passa-baixo para valores do mapa de profundidade; tudo abaixo deste valor é limitado a zero. Intervalo: [0, 1].
Name
remove_background
Type
boolean
predefinição true
Description
Remover automaticamente o fundo da imagem de conceito do protótipo antes de criar o relevo.
Name
export_resolution
Type
integer
predefinição 512
Description
Resolução da malha usada para exportação. Intervalo: [64, 2048].
output
Seletor opcional do formato de transmissão. A predefinição é glb.
Name
format
Type
string
predefinição glb
Description
Pacote de artefactos devolvido pela construção. Valores disponíveis:
glb (predefinição) — devolve um único model.glb em model_urls.glb.
obj — compacta model.obj + model.mtl + texture.png e devolve o pacote em model_urls.obj.
zip — compacta todos os artefactos que o gerador emite e devolve o pacote em model_urls.bundle_zip.
Devoluções
A propriedade result da resposta contém o id de tarefa da tarefa de construção de porta-chaves recém-criada. Consulte o endpoint Obter uma tarefa ou subscreva a transmissão até a tarefa atingir SUCCEEDED e, em seguida, descarregue o artefacto a partir da única entrada em model_urls.
Modos de falha
Name
400 - Bad Request
Description
O pedido não era aceitá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.
Elemento principal não bem-sucedido: 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.
Opções fora do intervalo: Um dos campos de options ficou fora do respetivo intervalo permitido ou conjunto enumerado.
Name
401 - Unauthorized
Description
A autenticação falhou. Verifique a sua chave de API.
Name
402 - Payment Required
Description
Créditos insuficientes para executar 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 mode API encadeiam para a construção).
Obtenha uma tarefa de protótipo ou de build dado um id de tarefa válido. O caminho do URL
deve corresponder à fase da tarefa — uma tarefa de build obtida através de
/prototype/:id devolve 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. As tarefas que já estiverem
IN_PROGRESS são canceladas sem reembolso (o worker pode já estar a
consumir recursos). As tarefas que já tenham atingido um estado terminal
(SUCCEEDED, FAILED, CANCELED) não podem ser canceladas.
O caminho do URL tem de corresponder à etapa da tarefa — DELETE em
/prototype/:buildId devolve 404.
Parâmetros do caminho
Name
id
Type
path
Description
Identificador único da tarefa de porta-chaves a cancelar.
Devolve
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 respetiva etapa não corresponde ao caminho do URL.
Transmita atualizações em tempo real para uma tarefa de porta-chaves através de Server-Sent Events (SSE).
O caminho do URL tem de corresponder à etapa da tarefa — abrir um fluxo em
/prototype/:buildId/stream emite um único payload event: error com
status_code: 404 e fecha o fluxo.
Parâmetros
Name
id
Type
path
Description
Identificador único da tarefa de porta-chaves a transmitir em fluxo.
Retorna
Retorna um fluxo 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, o fluxo de
resposta incluirá apenas os campos progress e status necessários.
// 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 de porta-chaves para uma única fase. O
caminho do URL seleciona a fase — /prototype devolve tarefas de protótipo; /build
devolve tarefas de build. 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 tarefas
cuja fase corresponde ao URL — obter /prototype nunca devolve
tarefas de build 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 é de 50 itens.
Name
sort_by
Type
string
predefinição -created_at
Description
Campo pelo qual ordenar. Valores disponíveis:
+created_at: Ordenar pela hora de criação por ordem crescente.
-created_at: Ordenar pela hora de criação por ordem decrescente.
O objeto de Tarefa de Protótipo de Porta-chaves é uma unidade de trabalho que a Meshy monitoriza para
gerar uma imagem de conceito colorizada a partir de uma fotografia de origem. O resultado
desta fase é encadeado para 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 ordenável por k para os ids das tarefas como detalhe de implementação, não deve fazer quaisquer pressupostos sobre o formato do id.
Name
type
Type
string
Description
Tipo da 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 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 tiver sido concluída com sucesso, 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 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 tiver sido iniciada, esta propriedade será 0.
Name
finished_at
Type
timestamp
Description
Carimbo de data/hora de quando a tarefa foi terminada, em milissegundos. Se a tarefa ainda não tiver terminado, 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 das tarefas precedentes.
O valor deste campo só é significativo se o estado da tarefa for 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. 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 as imagens de conceito candidatas geradas por esta tarefa de protótipo. Atualmente, a API devolve sempre exatamente uma candidata; o campo é uma matriz para que futuras revisões possam disponibilizar várias candidatas sem uma alteração incompatível.
O objeto de Tarefa de Construção de porta-chaves é uma unidade de trabalho que a Meshy acompanha para
gerar a malha 3D final do porta-chaves a partir de uma tarefa de protótipo bem-sucedida. A
construção executa um pipeline de relevo com mapa de profundidade na imagem de conceito do protótipo e
publica um único artefacto de malha no formato solicitado pelo chamador.
Propriedades
Name
id
Type
string
Description
Identificador único da 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. 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, 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
O número de tarefas anteriores. Significativo apenas 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
model_urls
Type
object
Description
URLs de descarregamento para o artefacto gerado, indexados pelo nome do artefacto. Contém sempre exatamente uma entrada — o formato solicitado através de output.format do pedido de compilação. A chave corresponde ao formato solicitado:
Name
glb
Type
string
Description
URL de descarregamento para o ficheiro GLB. Presente quando output.format era glb (a predefinição).
Name
obj
Type
string
Description
URL de descarregamento para um pacote zip que contém model.obj, model.mtl e texture.png. Presente quando output.format era obj.
Name
bundle_zip
Type
string
Description
URL de descarregamento para um pacote zip de todos os artefactos emitidos pelo gerador. Presente quando output.format era zip.