Transformez une photo source en un médaillon de porte-clés imprimable en 3D — un relief colorisé en forme de badge — en deux étapes : prototype génère une image conceptuelle colorisée à partir de votre photo d'entrée, puis construction transforme cette image conceptuelle en un modèle 3D en relief. Les deux étapes sont liées via input_task_id.
Générez une image conceptuelle colorisée à partir de la photo source. L'ID de tâche retourné est ce que vous passez comme input_task_id au point de terminaison de construction. Référez-vous à L'Objet de Tâche de Prototype de Porte-clés pour la structure de la réponse.
Paramètres
Name
image_url
Type
string
Requis
Description
Photo source pour que Meshy la colorise en une image conceptuelle prête pour un porte-clés. Nous supportons actuellement les formats .jpg, .jpeg, .png, et .webp.
Il y a deux façons de fournir l'image :
URL accessible publiquement : Une URL accessible depuis Internet.
Data URI : Un Data URI encodé en base64 de l'image. Exemple de Data URI : data:image/jpeg;base64,<your base64-encoded image data>.
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
Lorsqu'il est défini sur true, l'image prototype est retournée sous forme de PNG RGBA transparent avec le fond supprimé, vous permettant de composer le sujet sur n'importe quel fond.
Cela contrôle uniquement l'image que ce point de terminaison retourne. C'est séparé de l'option de construction du même nom (par défaut true), qui contrôle la suppression de fond avant le relief.
Retours
La propriété result de la réponse contient l'ID de tâche de la nouvelle tâche de prototype de porte-clés créée. Interrogez le Récupérer une Tâche point de terminaison ou abonnez-vous au flux jusqu'à ce que la tâche atteigne SUCCEEDED, puis passez cet ID au point de terminaison de construction comme 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 : Le image_url fourni n'est pas dans un format supporté (.jpg, .jpeg, .png, .webp).
Dimensions de l'image hors limites : L'image est trop petite, dépasse la taille maximale de fichier, ou dépasse le nombre maximal de pixels.
URL inaccessible : Le image_url n'a pas pu être téléchargé (404 ou timeout).
Data URI invalide : La chaîne base64 est mal formée.
Contenu signalé : L'image d'entrée a été signalée par la modération 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.
Requête
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>" }'
Réponse
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Exemple de prototype
Commencez avec une photo source, puis générez l'image prototype utilisée par l'étape de construction du porte-clés.
Générez le médaillon de porte-clés final imprimable en 3D à partir d'une tâche de prototype réussie. La construction exécute un pipeline de relief de carte de profondeur sur l'image conceptuelle colorisée du prototype et livre un artefact de maillage unique dans le format que vous demandez. Référez-vous à L'Objet Tâche de Construction de Porte-clés pour la structure de la réponse.
Paramètres
Name
input_task_id
Type
string
Requis
Description
L'ID de la tâche d'un prototype créé 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/keychain/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 de réglage optionnels pour la géométrie de relief. Chaque champ a une valeur par défaut raisonnable — envoyez uniquement ceux que vous souhaitez remplacer.
Name
badge_shape
Type
string
défaut circle
Description
Silhouette de contour du médaillon de porte-clés. Valeurs disponibles :
circle (par défaut)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
défaut 40
Description
Longueur du bord du carré englobant du porte-clés, en millimètres. Plage : (0, 400].
Name
relief_height_mm
Type
number
défaut 2.2
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 extrusion, en millimètres. Plage : [0, 20].
Name
base_thickness_mm
Type
number
défaut 0.1
Description
Épaisseur de la plaque de base plate derrière le relief, en millimètres. Plage : [0, 20].
Name
has_closed_back
Type
boolean
défaut true
Description
Indique si l'arrière du médaillon est scellé comme une surface fermée. Réglez sur false pour une coque ouverte.
Name
relief_curve
Type
string
défaut linear
Description
Courbe de transfert mappant 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 est gamma). Plage : (0, 10].
Name
invert_depth
Type
boolean
défaut false
Description
Inversez l'interprétation de la carte de profondeur afin que les régions plus sombres deviennent un relief plus élevé.
Name
smoothing
Type
number
défaut 0.24
Description
Force de lissage appliquée à la carte de profondeur avant 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 fixé à zéro. Plage : [0, 1].
Name
remove_background
Type
boolean
défaut true
Description
Supprimez automatiquement l'arrière-plan de l'image conceptuelle du prototype avant le relief.
Séparé du paramètre prototype du même nom (par défaut false), qui contrôle si l'image prototype elle-même est retournée avec transparence.
Name
export_resolution
Type
integer
défaut 512
Description
Résolution du maillage utilisée pour l'exportation. Plage : [64, 2048].
output
Sélecteur de format de fil optionnel. Par défaut glb.
Name
format
Type
string
défaut glb
Description
Ensemble d'artefacts retourné par la construction. Valeurs disponibles :
glb (par défaut) — retourne un seul model.glb sous model_urls.glb.
obj — compresse model.obj + model.mtl + texture.png et retourne l'ensemble sous model_urls.obj.
zip — compresse chaque artefact émis par le générateur et retourne l'ensemble sous model_urls.bundle_zip.
Retours
La propriété result de la réponse contient l'id de la tâche de construction de porte-clés 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 téléchargez l'artefact à partir de l'entrée unique dans 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 : Le 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 de portée : L'un des champs options est en dehors de sa plage autorisée ou ensemble d'énumération.
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 utilisateur différent, ou a été créée via l'application web (seules les tâches de prototype en mode API s'enchaînent dans la construction).
Récupérer une tâche de prototype ou de build en fournissant un id de tâche valide. Le chemin 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.
Annuler une tâche de porte-clés. Si la tâche est encore PENDING, les crédits
consommés lors de la création sont remboursés. Les tâches qui sont déjà
IN_PROGRESS sont annulées sans remboursement (le travailleur peut déjà être
en train de consommer des ressources). Les tâches qui ont déjà atteint un état terminal
(SUCCEEDED, FAILED, CANCELED) ne peuvent pas être annulées.
Le chemin URL doit correspondre à l'étape de la tâche — DELETE sur
/prototype/:buildId renvoie 404.
Paramètres de chemin
Name
id
Type
path
Description
Identifiant unique de la tâche de porte-clés à annuler.
Retours
Retourne 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 URL.
Diffusez des mises à jour en temps réel pour une tâche de porte-clés via Server-Sent Events (SSE).
Le chemin 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 pour la tâche de porte-clés à diffuser.
Retours
Retourne un flux d'objets de tâche Prototype de porte-clés
ou Construction de porte-clés en tant que
Server-Sent Events. Pour les tâches PENDING ou IN_PROGRESS, le flux de réponse
inclura uniquement les champs nécessaires progress et 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=***" }}
Récupérez une liste paginée de vos tâches de porte-clés pour une seule étape. Le chemin URL
sélectionne l'étape — /prototype retourne les tâches de prototype; /build
retourne les tâches de construction. Les tâches de l'autre étape ne sont pas incluses dans l'une ou l'autre réponse.
Paramètres de chemin
Name
stage
Type
path
Requis
Description
Soit prototype soit build. La collection ne retourne que les tâches
dont l'étape correspond à l'URL — récupérer /prototype ne retourne jamais
les tâches de construction 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 de 50 éléments.
Name
sort_by
Type
string
défaut -created_at
Description
Champ par lequel trier. Valeurs disponibles :
+created_at: Trier par date de création dans l'ordre croissant.
-created_at: Trier par date de création dans l'ordre décroissant.
L'objet de tâche Prototype de Porte-clés est une unité de travail que Meshy suit pour générer une image conceptuelle colorisée à partir d'une photo source. Le résultat de cette étape est enchaîné dans l'étape de construction via input_task_id.
Propriétés
Name
id
Type
string
Description
Identifiant unique pour la tâche. Bien que nous utilisions un UUID triable par k 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'identifiant.
Name
type
Type
string
Description
Type de la tâche. La valeur est creative-lab-keychain-prototype.
Name
name
Type
string
Description
Le nom de la tâche fourni lors de la création de la tâche. 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
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, cela 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 à 12:00: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ébut de la tâche, en millisecondes. Si la tâche n'a pas encore commencé, 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 est significative uniquement si le statut de la tâche est PENDING.
Name
task_error
Type
object
Description
Détails des erreurs pour les tâches échouées. Voir 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. Retourne 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 conceptuelle générés par cette tâche prototype. Actuellement, l'API retourne toujours exactement un candidat ; le champ est un tableau afin que les révisions futures puissent présenter plusieurs candidats sans changement majeur.
L'objet de tâche de construction de porte-clés est une unité de travail que Meshy suit pour générer le maillage final du porte-clés 3D à partir d'une tâche prototype réussie. La construction exécute un pipeline de relief de carte de profondeur sur l'image conceptuelle du prototype et publie un seul artefact de maillage dans le format demandé par l'appelant.
Propriétés
Name
id
Type
string
Description
Identifiant unique pour la tâche.
Name
type
Type
string
Description
Type de la tâche. La valeur est creative-lab-keychain-build.
Name
name
Type
string
Description
Le nom de la tâche fourni lors de la création de la tâche. 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
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ébut 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. Significatif uniquement lorsque le statut est PENDING.
Name
task_error
Type
object
Description
Détails de l'erreur pour les tâches échouées. Voir 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. Retourne 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 entrée — le format demandé via le output.format de la demande de construction. La clé correspond au format demandé :
Name
glb
Type
string
Description
URL téléchargeable pour le fichier GLB. Présent lorsque output.format était glb (le défaut).
Name
obj
Type
string
Description
URL téléchargeable pour un ensemble zip contenant model.obj, model.mtl, et texture.png. Présent lorsque output.format était obj.
Name
bundle_zip
Type
string
Description
URL téléchargeable pour un ensemble zip de chaque artefact émis par le générateur. Présent lorsque output.format était zip.
Exemple d'objet de tâche de construction de porte-clés