Transforme as suas fotografias em ímanes de frigorífico personalizados — um
relevo de profundidade colorido em retângulo arredondado com uma parte
posterior magnética plana, dimensionado para o frigorífico — em duas
fases: o protótipo gera uma imagem de conceito colorida a partir da sua
fotografia de entrada, e depois a construção transforma essa imagem de
conceito num modelo 3D em relevo. As duas fases estão ligadas através de
input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Gera uma única imagem de conceito colorida a partir da fotografia 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 Íman de Frigorífico
para saber a forma 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 íman de frigorífico. 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 da imagem codificado em base64. Exemplo de um data URI: data:image/jpeg;base64,<os seus dados de imagem codificados em base64>.
Name
name
Type
string
Description
Nome de tarefa opcional para fins de apresentação. Máximo de 100 carateres.
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 motivo sobre qualquer fundo.
Isto controla apenas a imagem devolvida por este endpoint. É independente da opção de build com o mesmo nome (predefinição true), que controla a remoção do fundo antes do relevo.
Retorna
A propriedade result da resposta contém o id de tarefa da tarefa de protótipo de íman de frigorífico recém-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 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 é um formato suportado (.jpg, .jpeg, .png, .webp).
Dimensões da imagem fora do intervalo: A imagem é demasiado pequena, excede o tamanho máximo do 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 cadeia base64 está mal formada.
Conteúdo assinalado: A imagem de entrada foi assinalada pela moderation de conteúdo impróprio (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 executar esta tarefa.
Name
429 - Too Many Requests
Description
Excedeu o seu limite de taxa.
Request
POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/fridge-magnet/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":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Exemplo de protótipo
Comece com uma fotografia de origem e, em seguida, gere a imagem de protótipo utilizada pela fase de build do íman de frigorífico.
Gera o íman de frigorífico final pronto para impressão 3D a partir de uma tarefa de protótipo com sucesso. O build executa um pipeline de relevo com mapa de profundidade sobre a imagem conceptual colorida do protótipo e devolve um único artefacto de malha no formato pedido. Consulte
O Objeto de Tarefa de Build de Íman de Frigorífico para a forma 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 tem de ter sido criado com a mesma chave de API, tem de ter atingido SUCCEEDED, e tem de ter produzido exatamente uma imagem candidata.
Tarefas de protótipo criadas através da webapp não são aceites — o endpoint de build só aceita tarefas de protótipo produzidas por POST /openapi/creative-lab/fridge-magnet/v1/prototype e recusa qualquer outra origem com 404.
Name
name
Type
string
Description
Nome de tarefa opcional para fins de exibição. Máximo de 100 caracteres.
options
Parâmetros de ajuste opcionais para a geometria de relevo. Todos os campos têm um valor predefinido sensato — envie apenas os que pretende substituir.
Name
badge_shape
Type
string
predefinição rounded-rect
Description
Silhueta do contorno do íman de frigorífico. Valores disponíveis:
circle
rounded-rect (predefinição)
hexagon
shield
star
Name
size_mm
Type
number
predefinição 60
Description
Comprimento da aresta do quadrado delimitador do íman de frigorífico, em milímetros. Intervalo: (0, 400].
Name
relief_height_mm
Type
number
predefinição 3.3
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 2.0
Description
Espessura da placa de base plana por trás do relevo, em milímetros. A predefinição do íman de frigorífico é uma base mais robusta de 2 mm — dá ao íman corpo suficiente para agarrar o frigorífico sem que o relevo pareça frágil. Intervalo: [0, 20].
Name
has_closed_back
Type
boolean
predefinição true
Description
Se a parte de trás do íman de frigorífico é selada como uma superfície fechada (o lado onde se cola o íman). Defina como false para uma estrutura aberta.
Name
relief_curve
Type
string
predefinição linear
Description
Curva de transferência que mapeia os 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 da curva de transferência (apenas relevante quando relief_curve é gamma). Intervalo: (0, 10].
Name
invert_depth
Type
boolean
predefinição false
Description
Inverte a interpretação do mapa de profundidade para que as regiões mais escuras se tornem em 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 de passa-baixo para os valores do mapa de profundidade; tudo abaixo deste valor é reduzido a zero. Intervalo: [0, 1].
Name
remove_background
Type
boolean
predefinição true
Description
Remove automaticamente o fundo da imagem conceptual do protótipo antes do processo de relevo.
Distinto do parâmetro do protótipo com o mesmo nome (predefinição false), que controla se a própria imagem do protótipo é devolvida com transparência.
Name
export_resolution
Type
integer
predefinição 512
Description
Resolução de malha usada para a exportação. Intervalo: [64, 2048].
output
Seletor opcional de formato de transmissão. A predefinição é glb.
Name
format
Type
string
predefinição glb
Description
Conjunto de artefactos devolvido pelo build. 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 conjunto em model_urls.obj.
zip — compacta todos os artefactos emitidos pelo gerador e devolve o conjunto em model_urls.bundle_zip.
Retorna
A propriedade result da resposta contém o id de tarefa da nova tarefa de build de íman de frigorífico criada. Consulte periodicamente o endpoint Obter uma Tarefa ou subscreva o stream até a tarefa atingir SUCCEEDED, e depois transfira o artefacto a partir da entrada única 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.
Tarefa principal sem sucesso: A tarefa de protótipo referenciada ainda não atingiu SUCCEEDED.
Sem candidata: A tarefa de protótipo teve sucesso mas não produziu nenhuma imagem candidata.
Opções fora do intervalo: Um dos campos de options ficou fora do intervalo permitido ou do conjunto de valores enumerados.
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 tarefas de protótipo em modo API se encadeiam com o build).
Obtém um protótipo ou uma tarefa de build com base num 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.
Cancela uma tarefa de íman de frigorífico. 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 worker já poderá estar
a consumir recursos). As tarefas que já atingiram um estado terminal
(SUCCEEDED, FAILED, CANCELED) não podem ser canceladas.
O caminho do URL tem de corresponder à fase da tarefa — DELETE em
/prototype/:buildId devolve 404.
Parâmetros de Caminho
Name
id
Type
path
Description
Identificador único da tarefa de íman de frigorífico a cancelar.
Retorno
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 sua fase não corresponde ao caminho do URL.
Transmite atualizações em tempo real para uma tarefa de íman de frigorífico através de Server-Sent Events (SSE).
O caminho do URL tem de corresponder ao estágio 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 para a tarefa de íman de frigorífico a transmitir.
Retorna
Retorna um stream de objetos de tarefa Fridge Magnet Prototype
ou Fridge Magnet Build como
Server-Sent Events. Cada frame transporta o objeto de tarefa completo relativo ao estágio — a mesma estrutura que o
endpoint Get devolve — pelo que, enquanto a tarefa está PENDING ou IN_PROGRESS, os
campos de saída simplesmente ainda não estão preenchidos (null, [] ou {}) e
finished_at é null.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// Every frame is the full task object; fields not yet populated are null / empty.// The PENDING frame below is abbreviated to the fields that change.event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","progress": 0,"status": "PENDING"}event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","type": "creative-lab-fridge-magnet-build","status": "SUCCEEDED","progress": 100,"created_at": 1729543250000,"started_at": 1729543258000,"finished_at": 1729543285000,"expires_at": 1729802485000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***" }}
Obtenha uma lista paginada das suas tarefas de íman de frigorífico para uma única etapa. O caminho do URL
seleciona a etapa — /prototype devolve tarefas de protótipo; /build
devolve tarefas de construção. As tarefas da outra etapa 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 etapa 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 de 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 por hora de criação em ordem ascendente.
-created_at: Ordenar por hora de criação em ordem descendente.
O objeto Fridge Magnet Prototype Task é uma unidade de trabalho que a Meshy mantém sob controlo para
gerar uma imagem de conceito colorida a partir de uma fotografia 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 da tarefa. Embora utilizemos um UUID k-sortable para os 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 da tarefa. O valor é creative-lab-fridge-magnet-prototype.
Name
name
Type
string
Description
O nome da tarefa fornecido no momento da criação da tarefa. 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 sido iniciada, esta propriedade será 0. Assim que a tarefa for bem-sucedida, 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 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 os candidatos a imagem de conceito gerados por esta tarefa de protótipo. Atualmente, a API devolve sempre exatamente um candidato; o campo é uma matriz para que revisões futuras possam disponibilizar vários candidatos sem introduzir uma alteração disruptiva.
O objeto Fridge Magnet Build Task é uma unidade de trabalho que a Meshy monitoriza para
gerar a malha 3D final do íman de frigorífico a partir de uma tarefa de protótipo bem-sucedida. A
compilação executa um pipeline de relevo de mapa de profundidade sobre a imagem conceptual do protótipo e
publica um único artefacto de malha no formato solicitado pelo autor da chamada.
Propriedades
Name
id
Type
string
Description
Identificador único da tarefa.
Name
type
Type
string
Description
Tipo da tarefa. O valor é creative-lab-fridge-magnet-build.
Name
name
Type
string
Description
O nome da tarefa fornecido no momento da criação da tarefa. 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. Assim que a tarefa for bem-sucedida, passará a ser 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ó é relevante quando o estado é 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. Devolve 0 para tarefas FAILED (os créditos são reembolsados em caso de falha).
Name
model_urls
Type
object
Description
URLs transferíveis para o artefacto gerado, indexados por nome de artefacto. Contém sempre exatamente uma entrada — o formato solicitado através do output.format do pedido de compilação. A chave corresponde ao formato solicitado:
Name
glb
Type
string
Description
URL transferível para o ficheiro GLB. Presente quando output.format era glb (o valor predefinido).
Name
obj
Type
string
Description
URL transferível para um pacote zip contendo model.obj, model.mtl e texture.png. Presente quando output.format era obj.
Name
bundle_zip
Type
string
Description
URL transferível para um pacote zip com todos os artefactos que o gerador produz. Presente quando output.format era zip.