Transformez vos photos en aimants de frigo personnalisés — un relief de profondeur colorisé en rectangle arrondi avec un dos magnétique plat, dimensionné pour le frigo — en deux
étapes : prototype génère une image conceptuelle colorisée à partir de votre
photo d'entrée, puis build transforme cette image conceptuelle en un modèle 3D en relief. Les
deux étapes sont liées via input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Génère une seule image conceptuelle colorisée à partir de la photo source. L'ID de tâche renvoyé est celui que vous transmettez en tant que input_task_id au point de terminaison de build. Consultez
L'objet Tâche de prototype d'aimant de frigo
pour connaître la forme de la réponse.
Paramètres
Name
image_url
Type
string
Requis
Description
Photo source que Meshy doit coloriser en une image conceptuelle prête pour l'aimant de frigo. Nous prenons actuellement en charge les formats .jpg, .jpeg, .png et .webp.
Il existe deux façons de fournir l'image :
URL accessible publiquement : une URL accessible depuis l'internet public.
Data URI : une URI de données encodée en base64 de l'image. Exemple de Data URI : data:image/jpeg;base64,<vos données d'image encodées en base64>.
Name
name
Type
string
Description
Nom de tâche optionnel à des fins d'affichage. Maximum 100 caractères.
Name
remove_background
Type
boolean
défaut false
Description
Lorsque défini sur true, l'image de prototype est renvoyée en tant que PNG RGBA transparent avec l'arrière-plan supprimé, afin que vous puissiez composer le sujet sur n'importe quel arrière-plan.
Ceci contrôle uniquement l'image renvoyée par ce point de terminaison. C'est distinct de l'option de build portant le même nom (valeur par défaut true), qui contrôle la suppression de l'arrière-plan avant le relief.
Retours
La propriété result de la réponse contient l'id de la tâche de prototype d'aimant de frigo nouvellement créée. Interrogez le point de terminaison Obtenir une tâche ou abonnez-vous au flux jusqu'à ce que la tâche atteigne SUCCEEDED, puis transmettez cet ID au point de terminaison de build en tant que input_task_id.
Modes d'échec
Name
400 - Bad Request
Description
La requête était inacceptable. Causes courantes :
Paramètre manquant : image_url est requis.
Format d'image invalide : l'image_url fournie n'est pas dans un format pris en charge (.jpg, .jpeg, .png, .webp).
Dimensions d'image hors plage : l'image est trop petite, dépasse la taille de fichier maximale, ou dépasse le nombre maximal de pixels.
URL inaccessible : l'image_url n'a pas pu être téléchargée (404 ou timeout).
Data URI invalide : la chaîne base64 est malformée.
Contenu signalé : l'image d'entrée a été signalée par la moderation NSFW ou de propriété intellectuelle.
Name
401 - Unauthorized
Description
L'authentification a échoué. Veuillez vérifier votre clé API.
Name
402 - Payment Required
Description
Crédits insuffisants pour effectuer cette tâche.
Name
429 - Too Many Requests
Description
Vous avez dépassé votre limite de débit.
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"}
Prototype example
Start with a source photo, then generate the prototype image used by the fridge magnet build stage.
Génère l'aimant de frigo final imprimable en 3D à partir d'une tâche de
prototype réussie. La construction exécute un pipeline de relief par carte
de profondeur sur l'image conceptuelle colorisée du prototype et fournit
un unique artefact de maillage dans le format que vous demandez. Reportez-vous à
L'objet de tâche de construction d'aimant de frigo pour la
forme de la réponse.
Paramètres
Name
input_task_id
Type
string
Requis
Description
L'ID de tâche d'une tâche de prototype créée via ce même point de terminaison OpenAPI. Le prototype doit avoir été créé avec la même clé API, doit avoir atteint SUCCEEDED, et doit avoir produit exactement une image candidate.
Les tâches de prototype créées via l'application web ne sont pas acceptées — le point de terminaison de construction accepte uniquement les tâches de prototype produites par POST /openapi/creative-lab/fridge-magnet/v1/prototype et refuse toute autre source avec 404.
Name
name
Type
string
Description
Nom de tâche optionnel à des fins d'affichage. Maximum 100 caractères.
options
Paramètres d'ajustement optionnels pour la géométrie du relief. Chaque champ a une valeur par défaut sensée — n'envoyez que ceux que vous souhaitez remplacer.
Name
badge_shape
Type
string
défaut rounded-rect
Description
Silhouette du contour de l'aimant de frigo. Valeurs disponibles :
circle
rounded-rect (par défaut)
hexagon
shield
star
Name
size_mm
Type
number
défaut 60
Description
Longueur du côté du carré englobant l'aimant de frigo, en millimètres. Plage : (0, 400].
Name
relief_height_mm
Type
number
défaut 3.3
Description
Hauteur maximale du relief au-dessus de la base, en millimètres. Plage : [0, 20].
Name
relief_offset_mm
Type
number
défaut 0
Description
Décalage vertical appliqué au relief avant l'extrusion, en millimètres. Plage : [0, 20].
Name
base_thickness_mm
Type
number
défaut 2.0
Description
Épaisseur de la plaque de base plate derrière le relief, en millimètres. La valeur par défaut pour l'aimant de frigo est une base plus épaisse de 2 mm — cela donne à l'aimant suffisamment de corps pour adhérer au frigo sans que le relief ne semble fragile. Plage : [0, 20].
Name
has_closed_back
Type
boolean
défaut true
Description
Indique si l'arrière de l'aimant de frigo est scellé comme une surface fermée (le côté sur lequel vous collez l'aimant). Définissez sur false pour une coque ouverte.
Name
relief_curve
Type
string
défaut linear
Description
Courbe de transfert associant les valeurs de la carte de profondeur à la hauteur du relief. Valeurs disponibles :
linear (par défaut)
gamma
s-curve
Name
curve_param
Type
number
défaut 1.0
Description
Paramètre de forme pour la courbe de transfert (significatif uniquement lorsque relief_curve vaut gamma). Plage : (0, 10].
Name
invert_depth
Type
boolean
défaut false
Description
Inverse l'interprétation de la carte de profondeur de sorte que les régions plus sombres deviennent un relief plus élevé.
Name
smoothing
Type
number
défaut 0.24
Description
Intensité du lissage appliqué à la carte de profondeur avant l'extraction du relief. Plage : [0, 10].
Name
relief_scale
Type
number
défaut 1.0
Description
Multiplicateur d'échelle verticale appliqué en plus de relief_height_mm. Plage : (0, 10].
Name
depth_threshold
Type
number
défaut 0.1
Description
Seuil passe-bas pour les valeurs de la carte de profondeur ; tout ce qui est en dessous est ramené à zéro. Plage : [0, 1].
Name
remove_background
Type
boolean
défaut true
Description
Supprime automatiquement l'arrière-plan de l'image conceptuelle du prototype avant la mise en relief.
Distinct du paramètre de prototype de même nom (par défaut false), qui détermine si l'image du prototype elle-même est renvoyée avec de la transparence.
Name
export_resolution
Type
integer
défaut 512
Description
Résolution du maillage utilisée pour l'export. Plage : [64, 2048].
output
Sélecteur de format de sortie optionnel. Par défaut, glb.
Name
format
Type
string
défaut glb
Description
Ensemble d'artefacts renvoyé par la construction. Valeurs disponibles :
glb (par défaut) — renvoie un unique model.glb sous model_urls.glb.
obj — compresse model.obj + model.mtl + texture.png et renvoie l'ensemble sous model_urls.obj.
zip — compresse chaque artefact émis par le générateur et renvoie l'ensemble sous model_urls.bundle_zip.
Retours
La propriété result de la réponse contient l'id de tâche de la nouvelle tâche de construction d'aimant de frigo créée. Interrogez le point de terminaison Récupérer une tâche ou abonnez-vous au flux jusqu'à ce que la tâche atteigne SUCCEEDED, puis téléchargez l'artefact à partir de l'unique entrée de model_urls.
Modes d'échec
Name
400 - Bad Request
Description
La requête était inacceptable. Causes courantes :
Paramètre manquant : input_task_id est requis.
UUID invalide : input_task_id n'est pas un UUID valide.
Parent non réussi : La tâche de prototype référencée n'a pas encore atteint SUCCEEDED.
Aucun candidat : La tâche de prototype a réussi mais n'a produit aucune image candidate.
Options hors plage : L'un des champs d'options se trouve en dehors de sa plage ou de son ensemble d'énumération autorisé.
Name
401 - Unauthorized
Description
L'authentification a échoué. Veuillez vérifier votre clé API.
Name
402 - Payment Required
Description
Crédits insuffisants pour effectuer cette tâche.
Name
404 - Not Found
Description
La tâche de prototype référencée n'existe pas, appartient à un autre utilisateur, ou a été créée via l'application web (seules les tâches de prototype en mode API peuvent être enchaînées vers la construction).
Récupère une tâche de prototype ou de build à partir d'un id de tâche valide. Le chemin de l'URL
doit correspondre à l'étape de la tâche — une tâche de build récupérée via
/prototype/:id renvoie 404, et vice versa.
Annule une tâche d'aimant de frigo. Si la tâche est encore PENDING, les
crédits consommés à la création sont remboursés. Les tâches déjà
IN_PROGRESS sont annulées sans remboursement (le worker est peut-être
déjà en train de consommer des ressources). Les tâches ayant déjà atteint
un état terminal (SUCCEEDED, FAILED, CANCELED) ne peuvent pas être
annulées.
Le chemin de l'URL doit correspondre à l'étape de la tâche — un DELETE
sur /prototype/:buildId renvoie 404.
Paramètres de chemin
Name
id
Type
path
Description
Identifiant unique de la tâche d'aimant de frigo à annuler.
Retour
Renvoie 204 No Content en cas de succès, avec un corps vide.
Modes d'échec
Name
400 - Bad Request
Description
La tâche est déjà dans un état terminal et ne peut pas être annulée.
Name
404 - Not Found
Description
La tâche n'existe pas, appartient à un autre utilisateur, ou son étape ne correspond pas au chemin de l'URL.
Diffusez les mises à jour en temps réel d'une tâche d'aimant de frigo via des Server-Sent Events (SSE).
Le chemin de l'URL doit correspondre à l'étape de la tâche — ouvrir un flux à
/prototype/:buildId/stream émet une seule charge utile event: error avec
status_code: 404 et ferme le flux.
Paramètres
Name
id
Type
path
Description
Identifiant unique de la tâche d'aimant de frigo à diffuser.
Retours
Retourne un flux d'objets de tâche Fridge Magnet Prototype
ou Fridge Magnet Build sous forme de
Server-Sent Events. Chaque trame transporte l'objet de tâche complet pour l'étape en cours — la même forme que celle
renvoyée par le point de terminaison Get — donc tant que la tâche est PENDING ou IN_PROGRESS, les
champs de sortie ne sont simplement pas encore renseignés (null, [] ou {}) et
finished_at vaut 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=***" }}
Récupère une liste paginée de vos tâches d’aimant de frigo pour une seule étape. Le
chemin d’URL sélectionne l’étape — /prototype renvoie les tâches de prototype ;
/build renvoie les tâches de build. Les tâches de l’autre étape ne sont incluses
dans aucune des deux réponses.
Paramètres de chemin
Name
stage
Type
path
Requis
Description
Soit prototype, soit build. La collection ne renvoie que les tâches
dont l’étape correspond à l’URL — récupérer /prototype ne renvoie jamais
de tâches de build, et vice versa.
Paramètres de requête
Name
page_num
Type
integer
défaut 1
Description
Numéro de page pour la pagination.
Name
page_size
Type
integer
défaut 10
Description
Limite de taille de page. Le maximum autorisé est 100 éléments.
Name
sort_by
Type
string
défaut -created_at
Description
Champ à utiliser pour le tri. Valeurs disponibles :
+created_at : Trier par heure de création par ordre croissant.
-created_at : Trier par heure de création par ordre décroissant.
L'objet Task Prototype d'aimant de frigo est une unité de travail que Meshy suit afin de
générer une image de concept colorisée à partir d'une photo source. Le résultat de
cette étape est enchaîné vers l'étape de build
via input_task_id.
Propriétés
Name
id
Type
string
Description
Identifiant unique de la tâche. Bien que nous utilisions un UUID k-sortable pour les identifiants de tâche comme détail d'implémentation, vous ne devez pas faire d'hypothèses sur le format de l'id.
Name
type
Type
string
Description
Type de la tâche. La valeur est creative-lab-fridge-magnet-prototype.
Name
name
Type
string
Description
Le nom de la tâche fourni lors de sa création. Chaîne vide si aucun nom n'a été fourni.
Name
status
Type
string
Description
Statut de la tâche. Les valeurs possibles sont PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress de la tâche. Si la tâche n'a pas encore démarré, cette propriété sera 0. Une fois la tâche réussie, elle deviendra 100.
Name
created_at
Type
timestamp
Description
Horodatage de la création de la tâche, en millisecondes.
Un horodatage représente le nombre de millisecondes écoulées depuis le 1er janvier 1970 UTC, suivant
la norme RFC 3339.
Par exemple, le vendredi 1er septembre 2023 à 12h00:00 GMT est représenté par 1693569600000. Cela s'applique
à tous les horodatages dans Meshy API.
Name
started_at
Type
timestamp
Description
Horodatage du démarrage de la tâche, en millisecondes. Si la tâche n'a pas encore démarré, cette propriété sera 0.
Name
finished_at
Type
timestamp
Description
Horodatage de la fin de la tâche, en millisecondes. Si la tâche n'est pas encore terminée, cette propriété sera 0.
Name
expires_at
Type
timestamp
Description
Horodatage de l'expiration du résultat de la tâche, en millisecondes.
Name
preceding_tasks
Type
integer
Description
Le nombre de tâches précédentes.
La valeur de ce champ n'a de sens que si le statut de la tâche est PENDING.
Name
task_error
Type
object
Description
Détails de l'erreur pour les tâches en échec. Consultez Erreurs pour la référence complète de l'objet task_error.
Name
consumed_credits
Type
integer
Description
Le nombre de crédits consommés par cette tâche. Présent lorsque le statut de la tâche est PENDING, IN_PROGRESS, ou SUCCEEDED. Renvoie 0 pour les tâches FAILED (les crédits sont remboursés en cas d'échec).
Name
image_urls
Type
array of strings
Description
URLs téléchargeables pour les candidats d'image de concept générés par cette tâche de prototype. Actuellement, l'API renvoie toujours exactement un candidat ; le champ est un tableau afin que les révisions futures puissent proposer plusieurs candidats sans rupture de compatibilité.
L'objet Fridge Magnet Build Task est une unité de travail que Meshy suit pour
générer le maillage 3D final de l'aimant de frigo à partir d'une tâche de prototype réussie. La
tâche de build exécute un pipeline de relief par carte de profondeur sur l'image conceptuelle du prototype et
publie un unique artefact de maillage dans le format demandé par l'appelant.
Propriétés
Name
id
Type
string
Description
Identifiant unique de la tâche.
Name
type
Type
string
Description
Type de la tâche. La valeur est creative-lab-fridge-magnet-build.
Name
name
Type
string
Description
Le nom de la tâche fourni lors de sa création. Chaîne vide si aucun nom n'a été fourni.
Name
status
Type
string
Description
Statut de la tâche. Les valeurs possibles sont l'une des suivantes : PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progression de la tâche. Si la tâche n'a pas encore commencé, cette propriété sera 0. Une fois la tâche réussie, elle deviendra 100.
Name
created_at
Type
timestamp
Description
Horodatage de la création de la tâche, en millisecondes.
Name
started_at
Type
timestamp
Description
Horodatage du démarrage de la tâche, en millisecondes.
Name
finished_at
Type
timestamp
Description
Horodatage de la fin de la tâche, en millisecondes.
Name
expires_at
Type
timestamp
Description
Horodatage de l'expiration du résultat de la tâche, en millisecondes.
Name
preceding_tasks
Type
integer
Description
Le nombre de tâches précédentes. Pertinent uniquement lorsque le statut est PENDING.
Name
task_error
Type
object
Description
Détails de l'erreur pour les tâches échouées. Consultez Erreurs pour la référence complète de l'objet task_error.
Name
consumed_credits
Type
integer
Description
Le nombre de crédits consommés par cette tâche. Renvoie 0 pour les tâches FAILED (les crédits sont remboursés en cas d'échec).
Name
model_urls
Type
object
Description
URL téléchargeables pour l'artefact généré, indexées par nom d'artefact. Contient toujours exactement une seule entrée — le format demandé via le champ output.format de la requête de build. La clé correspond au format demandé :
Name
glb
Type
string
Description
URL téléchargeable vers le fichier GLB. Présente lorsque output.format était glb (valeur par défaut).
Name
obj
Type
string
Description
URL téléchargeable vers une archive zip contenant model.obj, model.mtl et texture.png. Présente lorsque output.format était obj.
Name
bundle_zip
Type
string
Description
URL téléchargeable vers une archive zip contenant tous les artefacts produits par le générateur. Présente lorsque output.format était zip.