API d'impression multicolore
Convertir un modèle 3D en un fichier 3MF multicolore pour l'impression 3D. Choisissez une palette allant jusqu'à 16 couleurs et un préréglage de trancheur pour la marque de votre imprimante.
Créer une tâche d'impression multicolore
Crée une tâche d'impression multicolore, qui convertit un modèle 3D en un fichier 3MF multicolore pour l'impression 3D. La tâche s'exécute en arrière-plan. Pour connaître la durée habituelle d'une tâche, consultez Temps de traitement.
Request
# Convert a 3D model to a multi-color 3MF with a Creality slicer preset
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"max_colors": 8,
"printer_brand": "creality"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Paramètres
- Name
- input_task_id
- Type
- string
- Requis
- Description
Requis sauf si vous envoyez
model_url. L'ID de la tâche dont vous voulez imprimer le modèle, par exemple une tâche Image en 3D, Multi-image en 3D, Texte en 3D, Remaillage, ou Retexturisation. La tâche doit être une tâche que vous avez créée avec l'API, et avoir le statutSUCCEEDED.L'impression multicolore lit le fichier GLB de la tâche, qui peut avoir au maximum 8 000 000 de faces. Un modèle avec plus de faces renvoie
400. Dans ce cas, exécutez d'abord une tâche de Remaillage, puis envoyez l'ID de cette tâche de remaillage à la place.
- Name
- model_url
- Type
- string
- Requis
- Description
Requis sauf si vous envoyez
input_task_id. Le modèle à imprimer, sous forme d'URL publique ou de Data URI. Si vous envoyez les deux, Meshy utiliseinput_task_id.Une URL
httpouhttpsdoit pointer vers un fichier.glbou.fbxde 400 Mo maximum. Un Data URI doit contenir un fichier GLB encodé en base64 de 100 Mo maximum. Utilisezdata:model/gltf-binary;base64,. Envoyez un fichier.fbxsous forme d'URLhttpouhttps.Un fichier de plus de 100 Mo doit également respecter les règles suivantes :
- Il peut avoir au maximum 8 000 000 de faces. Meshy compte les faces comme des triangles, donc un quadrilatère compte pour 2, et un maillage dessiné plusieurs fois compte une fois par copie.
- Un fichier FBX doit être au format binaire FBX 7.1 ou plus récent.
- Un fichier GLB ne doit pas utiliser la compression Draco.
- Name
- max_colors
- Type
- integer
- défaut 4
- Description
Le nombre maximal de couleurs dans la palette de sortie, de
1à16. Pour utiliser la valeur par défaut, omettez ce paramètre plutôt que d'envoyer0.
- Name
- style
- Type
- string
- défaut realistic
- Description
Le style de couleur du fichier 3MF.
Valeurs disponibles :
realistic: échantillonne les couleurs directement depuis la texture du modèle pour un détail fin et photo-réaliste, et produit un fichier plus volumineux.cartoon: aplatit les couleurs en zones uniformes et nettes pour un rendu stylisé, et produit un fichier plus petit.
Le modèle doit avoir de la couleur.
realisticnécessite une texture de couleur de base unique, avec des UV sur chaque partie du maillage, etcartoonaccepte également les couleurs de sommets. Meshy rejette un modèle sans texture (blanc). Voirmodel_missing_texture.
- Name
- max_depth
- Type
- integer
- défaut 4
- Description
La profondeur de subdivision que Meshy utilise pour échantillonner les couleurs de la texture sur le maillage, de
3à6.0équivaut à omettre ce paramètre. Des valeurs plus élevées capturent un détail de couleur plus fin, et produisent un fichier plus volumineux. Seul le stylerealisticl'utilise, etcartoonl'ignore.
- Name
- printer_brand
- Type
- string
- défaut bambu
- Description
La marque d'imprimante dont Meshy écrit le préréglage du trancheur dans le fichier 3MF. Le fichier s'ouvre ensuite dans le trancheur de cette marque avec une imprimante, un filament et un profil de processus correspondants. Le préréglage utilise l'imprimante par défaut de la marque, avec une buse de 0,4 mm.
Valeurs disponibles :
bambuanycubiccrealityelegooflashforgeprusaqidisnapmakerankermake
Toute autre valeur renvoie
400.
Retour
Le champ result de la réponse contient l'ID de la nouvelle tâche d'impression multicolore.
Modes d'échec
- Name
400 - Bad Request- Description
La requête ne peut pas s'exécuter. Le message d'erreur indique le problème détecté. Par exemple :
- Paramètre manquant : Ni
model_urlniinput_task_idn'ont été envoyés. - Format de modèle invalide : Le fichier
model_urln'est pas un fichier.glbou.fbx. - URL inaccessible : Meshy ne peut pas télécharger le fichier
model_url. - Fichier modèle trop volumineux : Le fichier
model_urldépasse 400 Mo depuis une URLhttpouhttps, ou dépasse 100 Mo en tant que Data URI. - Trop de faces : Le fichier
model_urldépasse 100 Mo et compte plus de 8 000 000 de faces. Réduisez le nombre de faces, puis renvoyez le fichier. - FBX ASCII de plus de 100 Mo : Le fichier
model_urlest un fichier FBX ASCII de plus de 100 Mo. Envoyez-le en FBX binaire ou en GLB. - Fichier modèle illisible : Le fichier
model_urldépasse 100 Mo, et Meshy ne peut pas lire son en-tête. Par exemple, il s'agit d'un GLB compressé avec Draco, ou d'un FBX binaire antérieur à la version 7.1. - En-tête de modèle trop complexe : Le fichier
model_urldépasse 100 Mo, et son en-tête contient trop de maillages, de nœuds ou d'enregistrements à vérifier. Réduisez le nombre d'objets dans le fichier, puis renvoyez-le. - Tâche d'entrée invalide :
input_task_idn'est pas une tâche réussie. - Trop de faces dans la tâche d'entrée : Le modèle de
input_task_ida plus de 8 000 000 de faces. Exécutez une tâche de Remaillage dessus, puis envoyez l'ID de cette tâche de remaillage à la place. - max_colors invalide :
max_colorsest négatif ou dépasse16. - style invalide :
stylen'est nirealisticnicartoon. - max_depth invalide :
max_depthest en dehors de la plage3à6, et n'est pas0. - printer_brand invalide :
printer_brandn'est pas l'une de ses valeurs disponibles. - Aucune source de couleur : Le modèle manque de la couleur dont
stylea besoin.realisticnécessite une texture de couleur de base unique, avec des UV, sur chaque partie du maillage.cartoonaccepte une texture de couleur de base ou des couleurs de sommets. Texturez d'abord le modèle, ou utilisezcartoonpour un modèle avec des couleurs de sommets. Meshy vérifie un envoi.fbxuniquement après que la tâche l'a normalisé, donc la tâche échoue avecmodel_missing_textureà la place.
Corrigez la requête, puis renvoyez-la. Voir Erreurs.
- Paramètre manquant : Ni
- Name
401 - Unauthorized- Description
La clé API est manquante ou invalide. Vérifiez l'en-tête
Authorization.
- Name
402 - Payment Required- Description
Par exemple :
- Crédits insuffisants : Le compte n'a pas assez de crédits pour cette tâche, ou le compte a atteint une limite de crédits. Vérifiez votre solde de crédits, puis réessayez.
- Plan gratuit : La création d'une tâche nécessite un plan payant. Mettez à niveau votre plan dans vos paramètres d'abonnement, puis réessayez.
- Name
403 - Forbidden- Description
input_task_idest un modèle en bas-relief, que ce point de terminaison ne peut pas imprimer. Le message estThis model type does not support this operation. Envoyez un modèle différent.
- Name
404 - Not Found- Description
input_task_idne correspond à aucune de vos tâches. Vérifiez l'ID de la tâche, puis renvoyez la requête.
- Name
429 - Too Many Requests- Description
Vous avez dépassé votre limite de débit. Attendez, puis réessayez. Voir Limites de débit.
Récupérer une tâche d'impression multicolore
Renvoie une tâche d'impression multicolore à partir de son ID.
Request
curl https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}
Paramètres
- Name
- id
- Type
- path
- Description
L'ID de la tâche provenant de la réponse de création.
Renvoie
Supprimer une tâche d'impression multicolore
Supprime définitivement une tâche d'impression multicolore, y compris ses modèles et données. Vous ne pouvez pas annuler une suppression.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
Paramètres de chemin
- Name
- id
- Type
- path
- Description
L'ID de la tâche à supprimer.
Statut de la tâche
Supprimer une tâche PENDING rembourse les crédits utilisés lors de sa création.
Une tâche IN_PROGRESS ne peut pas être supprimée. La requête renvoie 409 Conflict,
et la tâche continue de s'exécuter. Meshy ne rembourse pas une tâche qui a démarré,
donc la supprimer vous coûterait à la fois les crédits et le résultat. Attendez qu'elle
atteigne le statut SUCCEEDED, FAILED ou CANCELED, puis supprimez-la.
Supprimer une tâche dans un statut final (SUCCEEDED, FAILED ou CANCELED)
ne rembourse pas ses crédits.
Retours
200 OK lorsque la tâche est supprimée, ou 409 Conflict lorsque la tâche est
IN_PROGRESS.
Lister les tâches d'impression multicolore
Renvoie une liste de vos tâches d'impression multicolore.
Request
curl https://api.meshy.ai/openapi/v1/print/multi-color?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}
]
Paramètres
- Name
- page_num
- Type
- integer
- défaut 1
- Description
Le numéro de page à renvoyer. La numérotation des pages commence à
1.
- Name
- page_size
- Type
- integer
- défaut 10
- Description
Le nombre de tâches par page, jusqu'à
100.
- Name
- sort_by
- Type
- string
- Description
L'ordre de tri.
Valeurs disponibles :
+created_at: du plus ancien au plus récent-created_at: du plus récent au plus ancien
Retours
Une liste paginée d'objets de tâche d'impression multicolore.
Diffuser en continu une tâche d'impression multicolore
Diffuse les mises à jour d'une tâche d'impression multicolore sous forme d'événements envoyés par le serveur (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}
Paramètres
- Name
- id
- Type
- path
- Description
L'ID de la tâche provenant de la réponse de création.
Retours
Un flux d'objets de tâche d'impression multicolore sous forme d'événements envoyés par le serveur.
Chaque événement contient l'objet de tâche complet, dans la même forme que celle renvoyée par le point de terminaison Get. Tant que la tâche est PENDING ou IN_PROGRESS, ses champs de résultat n'ont pas encore de valeurs.
L'objet tâche d'impression multicolore
Un objet tâche d'impression multicolore décrit une conversion d'un modèle 3D en fichier 3MF multicolore. Il contient le statut, la progression et le fichier 3MF lorsque la tâche réussit.
The 3D Print Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}
- Name
- id
- Type
- string
- Description
L'ID de la tâche. Traitez-le comme une chaîne opaque et ne vous fiez pas à son format.
- Name
- type
- Type
- string
- Description
Le type de tâche, toujours
print-multi-color.
- Name
- model_urls
- Type
- object
- Description
Les URL de téléchargement pour le modèle imprimé, une par format de fichier. Un format que la tâche n'a pas généré n'a pas de clé, plutôt qu'une chaîne vide.
- Name
3mf- Type
- string
- Description
Le fichier 3MF multicolore.
- Name
- progress
- Type
- integer
- Description
La part de la tâche réalisée, en pourcentage. Elle vaut
0tant que la tâche n'a pas démarré et100lorsqu'elle réussit.
- Name
- status
- Type
- string
- Description
Le statut de la tâche, l'une des valeurs
PENDING,IN_PROGRESS,SUCCEEDEDouFAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
Le nombre de tâches devançant celle-ci dans la file d'attente. Cette valeur n'a de sens que tant que la tâche est
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Horodatage de création de la tâche, en millisecondes Unix.
- Name
- started_at
- Type
- timestamp
- Description
Horodatage de démarrage de la tâche, en millisecondes Unix. Il vaut
0tant que la tâche n'a pas démarré.
- Name
- finished_at
- Type
- timestamp
- Description
Horodatage de fin de la tâche, en millisecondes Unix. Il vaut
0tant que la tâche n'est pas terminée.
- Name
- task_error
- Type
- object
- Description
Les détails de l'erreur lorsque la tâche échoue. Voir Erreurs.
- Name
- consumed_credits
- Type
- integer
- Description
Le nombre de crédits consommés par la tâche. Présent lorsque le statut est
PENDING,IN_PROGRESSouSUCCEEDED. Il vaut0pour une tâcheFAILED, car Meshy rembourse les crédits lorsqu'une tâche échoue.