API Redimensionner
Redimensionner un modèle 3D à une taille réelle, en mètres. Définissez sa hauteur ou la longueur de son côté le plus long, ou laissez Meshy estimer la hauteur réelle de l'objet.
Créer une tâche Redimensionner
Crée une tâche Redimensionner. 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
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
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 Meshy dont vous souhaitez redimensionner le modèle. La tâche doit avoir le statutSUCCEEDED. Meshy renvoie le modèle redimensionné sous forme de fichier GLB.
- Name
- model_url
- Type
- string
- Requis
- Description
Requis sauf si vous envoyez
input_task_id. Le modèle à redimensionner, sous forme d'URL publique ou de Data URI. Si vous envoyez les deux, Meshy utiliseinput_task_id.Le modèle doit être un fichier GLB, glTF, OBJ, FBX ou STL d'au plus 400 Mo depuis une URL
httpouhttps, ou de 100 Mo en Data URI. Pour une Data URI, utilisez le MIME typeapplication/octet-stream.Un fichier de plus de 100 Mo doit également respecter ces règles :
- Un fichier GLB, glTF, FBX ou OBJ peut avoir au plus 10 000 000 faces. Meshy compte les faces en triangles, donc un quad compte pour 2, et un maillage dessiné plusieurs fois compte une fois par copie.
- Un fichier FBX doit être un FBX binaire 7.1 ou plus récent.
- Un fichier GLB ou glTF ne doit pas utiliser la compression Draco.
Un fichier GLB, OBJ, FBX ou STL conserve son format dans le résultat. Un fichier
.gltfou une Data URI est renvoyé au format GLB.
Envoyez exactement un seul des paramètres resize_height, resize_longest_side ou auto_size. N'en envoyer aucun, ou plus d'un, renvoie 400.
- Name
- resize_height
- Type
- number
- Description
La nouvelle hauteur du modèle en mètres, supérieure à 0. Une valeur négative renvoie
400.
- Name
- resize_longest_side
- Type
- number
- Description
La nouvelle longueur du côté le plus long du modèle en mètres, supérieure à 0. Une valeur négative renvoie
400. Meshy conserve le rapport d'aspect du modèle.
- Name
- auto_size
- Type
- boolean
- Description
Indique s'il faut estimer la hauteur réelle de l'objet grâce à la vision par IA et redimensionner le modèle en conséquence. Sauf si vous définissez
origin_at, Meshy place l'origine en bas.
- Name
- origin_at
- Type
- string
- défaut bottom
- Description
Où placer l'origine du modèle après le redimensionnement,
bottomoucenter.
Retours
Le champ result de la réponse contient l'ID de la nouvelle tâche Redimensionner.
Modes d'échec
- Name
400 - Bad Request- Description
La requête ne peut pas s'exécuter. Le message d'erreur indique quel problème a été détecté. Par exemple :
- Paramètre manquant : ni
model_urlniinput_task_idn'ont été envoyés. - Mode de redimensionnement manquant : aucun des paramètres
resize_height,resize_longest_sideetauto_sizen'a été envoyé. - Paramètres mutuellement exclusifs : la requête contient plus d'un des paramètres
resize_height,resize_longest_sideetauto_size. N'en envoyez qu'un seul. - Taille négative :
resize_heightouresize_longest_sideest négatif. - Tâche d'entrée invalide :
input_task_idne correspond pas à une tâche réussie. - Format de modèle invalide : le fichier
model_urla une extension non prise en charge. - URL inaccessible : Meshy ne peut pas télécharger le fichier
model_url. - Fichier de modèle trop volumineux : le fichier
model_urldépasse 400 Mo depuis une URLhttpouhttps, ou dépasse 100 Mo en Data URI. - Trop de faces : le fichier
model_urldépasse 100 Mo et comporte plus de 10 000 000 faces. Réduisez le nombre de faces, puis renvoyez le fichier. - FBX ASCII de plus de 100 Mo : le fichier
model_urlest un FBX ASCII de plus de 100 Mo. Envoyez-le au format FBX binaire ou GLB. - Fichier de 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 ou glTF 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 comporte trop de maillages, de nœuds ou d'enregistrements à vérifier. Réduisez le nombre d'objets dans le fichier, puis renvoyez-le.
Corrigez la requête, puis renvoyez-la. Consultez 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 suffisamment 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 les paramètres d'abonnement, puis réessayez.
- Name
403 - Forbidden- Description
input_task_idcorrespond à un modèle en bas-relief, que ce point de terminaison ne peut pas redimensionner. 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. Patientez, puis réessayez. Consultez Limites de débit.
Récupérer une tâche de redimensionnement
Renvoie une tâche de redimensionnement (Resize) par son ID.
Request
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Paramètres
- Name
- id
- Type
- path
- Description
L'ID de la tâche issu de la réponse de création.
Retourne
Supprimer une tâche de Redimensionnement
Supprime définitivement une tâche de Redimensionnement, y compris ses modèles et ses données. Vous ne pouvez pas annuler une suppression.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/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.
Retourne
200 OK lorsque la tâche est supprimée, ou 409 Conflict lorsque la tâche est
IN_PROGRESS.
Lister les tâches de redimensionnement
Renvoie une liste de vos tâches de redimensionnement.
Request
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Paramètres
- Name
- page_num
- Type
- integer
- défaut 1
- Description
Le numéro de page à renvoyer.
- 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 tâche de redimensionnement.
Diffuser les mises à jour d'une tâche Resize
Diffuse les mises à jour d'une tâche Resize sous forme d'événements envoyés par le serveur (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Paramètres
- Name
- id
- Type
- path
- Description
L'ID de la tâche provenant de la réponse de création.
Retour
Un flux d'objets de tâche Resize sous forme d'événements envoyés par le serveur.
Chaque événement contient l'objet de tâche complet, selon le même format que celui renvoyé 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 de tâche Resize
Un objet de tâche Resize décrit un redimensionnement d'un modèle 3D. Il contient le statut, la progression et le fichier du modèle lorsque la tâche réussit.
Propriétés
- 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
resize.
- Name
- model_urls
- Type
- object
- Description
URL de téléchargement du fichier du modèle redimensionné. Pour
input_task_id, le fichier est toujours au format GLB. Pourmodel_url, un fichier GLB, OBJ, FBX ou STL conserve son format, et un fichier.gltfou une Data URI est renvoyé au format GLB.
- Name
- progress
- Type
- integer
- Description
La part de la tâche déjà effectuée, en pourcentage. C'est
0jusqu'à ce que la tâche démarre et100lorsqu'elle réussit.
- Name
- status
- Type
- string
- Description
Le statut de la tâche, l'une des valeurs
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDouCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Le nombre de tâches qui précèdent 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
Heure de création de la tâche, en millisecondes Unix.
- Name
- started_at
- Type
- timestamp
- Description
Heure de démarrage de la tâche, en millisecondes Unix. C'est
0jusqu'à ce que la tâche démarre.
- Name
- finished_at
- Type
- timestamp
- Description
Heure de fin de la tâche, en millisecondes Unix. C'est
0jusqu'à ce que la tâche se termine.
- Name
- task_error
- Type
- object
- Description
Les détails de l'erreur en cas d'échec de la tâche. Voir Erreurs.
- Name
- consumed_credits
- Type
- integer
- Description
Le nombre de crédits utilisés par la tâche, qui est
1pour une tâche Resize. C'est0pour une tâcheFAILED.