API de Réparer l'imprimabilité
Réparer un modèle 3D pour l'imprimabilité FDM — corriger les arêtes non-manifold, les faces dégénérées, les trous et d'autres problèmes de topology afin que le maillage soit prêt à être imprimé.
Créer une tâche de réparation de l'imprimabilité
Ce point de terminaison crée une nouvelle tâche de réparation de l'imprimabilité. La tâche exécute une réparation de topology sur un modèle 3D et renvoie une version étanche, prête à être imprimée.
Le format de sortie correspond au format d'entrée. Si vous soumettez un .stl via model_url, le model_urls.stl de la réponse contiendra le maillage réparé et les autres champs de format seront vides. Le chemin input_task_id lit toujours le GLB de la tâche source, donc la sortie est .glb.
Paramètres
Un seul de input_task_id ou model_url est requis. Si les deux sont fournis, input_task_id prend la priorité.
Les textures existantes sont supprimées pendant la réparation en raison des changements de géométrie. Pour ajouter à nouveau des textures, utilisez l'API de Retexturisation sur le modèle réparé.
- Name
- input_task_id
- Type
- string
- Requis
- Description
L'ID d'une tâche réussie que vous possédez. Types de tâches pris en charge : Image en 3D, Multi-image en 3D, Texte en 3D, Remaillage, et Retexturisation. La tâche doit avoir un statut de
SUCCEEDEDet doit avoir produit un asset GLB.
- Name
- model_url
- Type
- string
- Requis
- Description
URL d'un modèle 3D à réparer. Formats pris en charge :
.glb,.gltf,.obj,.fbx,.stl. Taille maximale du fichier : 100 Mo. Doit utiliserhttp,https, ou une URLdata:(les URLs de données contournent les vérifications d'extension).
- Name
- alpha_thumbnail
- Type
- boolean
- défaut false
- Description
Lorsqu'il est réglé sur
true, la tâche rend également une version à fond transparent (RGBA) de l'aperçu et la renvoie commealpha_thumbnail_urldans la réponse GET. Le champthumbnail_urlexistant reste inchangé.
Retours
La propriété result de la réponse contient l'id de la nouvelle tâche de réparation de l'imprimabilité créée.
Modes d'échec
- Name
400 - Bad Request- Description
La requête était inacceptable. Causes courantes :
- Paramètre manquant : ni
input_task_idnimodel_urln'ont été fournis. - UUID invalide :
input_task_idn'est pas un UUID valide. - URL de modèle invalide :
model_urlest mal formé, utilise un schéma non pris en charge, ou a une extension de fichier non prise en charge. - Fichier de modèle trop grand : le corps de
model_urla dépassé 100 Mo. - Tâche non réussie : la tâche référencée est toujours en attente, en cours, ou a échoué.
- GLB manquant : la tâche référencée n'a pas d'asset GLB à réparer.
- Paramètre manquant : ni
- Name
401 - Unauthorized- Description
L'authentification a échoué. Veuillez vérifier votre clé API.
- Name
402 - Payment Required- Description
Causes courantes :
- Plan gratuit : la création de tâche nécessite un plan payant. Mettez à niveau sur la page d'abonnement.
- Crédits insuffisants : la limite de crédits de l'espace de travail a été atteinte.
- Name
404 - Not Found- Description
La tâche référencée n'existe pas ou est détenue par un autre utilisateur.
- Name
429 - Too Many Requests- Description
Vous avez dépassé votre quota de tâches en attente ou votre limite de débit.
Request
# Repair an existing task
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
}'
# Or repair a model URL directly
curl https://api.meshy.ai/openapi/v1/print/repair \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.stl"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Récupérer une tâche de réparation d'imprimabilité
Ce point de terminaison récupère une tâche de réparation d'imprimabilité par son ID.
Paramètres
- Name
- id
- Type
- path
- Description
L'ID de la tâche de réparation d'imprimabilité à récupérer.
Retours
L'Objet de la tâche de réparation d'imprimabilité. Le bloc model_urls est vide jusqu'à ce que la tâche atteigne SUCCEEDED. Seul le champ model_urls correspondant au format d'entrée est rempli.
Requête
curl https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Réponse
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
Supprimer une tâche de Réparer l'imprimabilité
Ce point de terminaison supprime définitivement une tâche de réparer l'imprimabilité et son résultat réparé. Cette action est irréversible.
Paramètres de chemin
- Name
- id
- Type
- path
- Description
L'ID de la tâche de réparer l'imprimabilité à supprimer.
Retours
Retourne 200 OK en cas de succès.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/repair/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Lister les tâches de Réparer l'imprimabilité
Ce point de terminaison vous permet de récupérer une liste de tâches de réparer l'imprimabilité.
Paramètres
Attributs optionnels
- Name
- page_num
- Type
- integer
- Description
Numéro de page pour la pagination. Commence et par défaut à
1.
- Name
- page_size
- Type
- integer
- Description
Limite de taille de page. Par défaut à
10éléments. Maximum autorisé est50éléments.
- Name
- sort_by
- Type
- string
- Description
Champ pour trier. Valeurs disponibles :
+created_at: Trier par ordre croissant de l'heure de création.-created_at: Trier par ordre décroissant de l'heure de création.
Retours
Retourne une liste paginée d'Objets de Tâche de Réparer l'imprimabilité.
Requête
curl https://api.meshy.ai/openapi/v1/print/repair?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Réponse
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
]
Diffuser une tâche de réparation de l'imprimabilité
Ce point de terminaison diffuse des mises à jour en temps réel pour une tâche de réparation de l'imprimabilité en utilisant les Server-Sent Events (SSE).
Paramètres
- Name
- id
- Type
- path
- Description
Identifiant unique pour la tâche de réparation de l'imprimabilité à diffuser.
Retours
Retourne un flux d'Objets de Tâche de Réparation de l'Imprimabilité 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. Le bloc model_urls est envoyé uniquement lorsque la tâche atteint SUCCEEDED.
Request
curl -N https://api.meshy.ai/openapi/v1/print/repair/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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}
L'objet de la tâche Réparer l'imprimabilité
- 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 en tant que 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 de réparation de l'imprimabilité. La valeur est
print-repair.
- Name
- status
- Type
- string
- Description
Statut de la tâche. Les valeurs possibles sont l'une de
PENDING,IN_PROGRESS,SUCCEEDED,FAILED,CANCELED.
- Name
- progress
- Type
- integer
- Description
Progression de la tâche. Si la tâche n'est pas encore commencée, cette propriété sera
0. Une fois la tâche réussie, cela deviendra100.
- 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
- 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. Si la tâche n'est pas encore commencée, 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 dans le système, en millisecondes.
0si la tâche n'est pas encore terminée.
- Name
- task_error
- Type
- object
- Description
Informations sur l'erreur si la tâche a échoué. Cette propriété est
nullsi la tâche n'a pas échoué. Voir Erreurs pour plus de détails.- Name
message- Type
- string
- Description
Message d'erreur décrivant ce qui s'est mal passé.
- Name
- model_urls
- Type
- object
- Description
URL téléchargeables vers le modèle 3D réparé. Seul le champ correspondant au format d'entrée est rempli ; les autres champs de format sont des chaînes vides.
- Name
glb- Type
- string
- Description
URL téléchargeable vers le GLB réparé. Rempli lorsque l'entrée était un GLB ou lorsque
input_task_ida été utilisé.
- Name
gltf- Type
- string
- Description
URL téléchargeable vers le GLTF réparé. Rempli lorsque l'entrée était un téléchargement GLTF.
- Name
fbx- Type
- string
- Description
URL téléchargeable vers le FBX réparé. Rempli lorsque l'entrée était un téléchargement FBX.
- Name
obj- Type
- string
- Description
URL téléchargeable vers l'OBJ réparé. Rempli lorsque l'entrée était un téléchargement OBJ.
- Name
stl- Type
- string
- Description
URL téléchargeable vers le STL réparé. Rempli lorsque l'entrée était un téléchargement STL.
- Name
usdz- Type
- string
- Description
Réservé pour la sortie USDZ. Toujours une chaîne vide pour les tâches de réparation de l'imprimabilité.
- Name
3mf- Type
- string
- Description
Réservé pour la sortie 3MF. Toujours une chaîne vide pour les tâches de réparation de l'imprimabilité.
- Name
mtl- Type
- string
- Description
Réservé pour la sortie MTL. Toujours une chaîne vide pour les tâches de réparation de l'imprimabilité.
- Name
- thumbnail_url
- Type
- string
- Description
URL d'une image de prévisualisation rendue à partir du modèle réparé.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL téléchargeable vers une version à fond transparent (RGBA) de
thumbnail_url. Présent uniquement lorsque la tâche a été créée avecalpha_thumbnail: trueet que la prévisualisation transparente a été rendue avec succès ; sinon ce champ est omis.
- Name
- texture_urls
- Type
- array
- Description
Toujours un tableau vide. La réparation préserve uniquement la géométrie d'entrée et ne refait pas les textures.
- Name
- consumed_credits
- Type
- integer
- Description
Le nombre de crédits consommés par cette tâche.
10une fois que la tâche a atteintSUCCEEDED. Retourne0pour les tâchesFAILED(les crédits sont remboursés en cas d'échec).
The Repair Printability Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-repair",
"status": "SUCCEEDED",
"progress": 100,
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000030000,
"expires_at": 1715725401000,
"task_error": null,
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
"gltf": "",
"fbx": "",
"obj": "",
"stl": "",
"usdz": "",
"3mf": "",
"mtl": ""
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/preview.png?Expires=***",
"texture_urls": [],
"consumed_credits": 10
}