API Redimensionner
L'API Redimensionner vous permet de redimensionner des modèles 3D existants aux dimensions réelles. Vous pouvez spécifier une hauteur exacte, une contrainte sur le côté le plus long, ou laisser l'IA estimer automatiquement la taille appropriée.
Créer une tâche de redimensionnement
Ce point de terminaison crée une nouvelle tâche de redimensionnement.
Paramètres
Un seul des paramètres input_task_id ou model_url est requis. Si les deux sont fournis, input_task_id a priorité.
- Name
- input_task_id
- Type
- string
- Requis
- Description
L'ID d'une tâche Meshy terminée dont vous souhaitez redimensionner le modèle. La tâche doit avoir un statut
SUCCEEDED. Le format de sortie sera GLB.
- Name
- model_url
- Type
- string
- Requis
- Description
Une URL accessible publiquement ou une Data URI pointant vers un fichier de modèle 3D. Formats pris en charge :
.glb,.gltf,.obj,.fbx,.stl. Pour les Data URI, utilisez le MIME type :application/octet-stream. Le format de sortie conservera le format d'origine du modèle d'entrée.
Exactement un mode de redimensionnement est requis : resize_height, resize_longest_side, ou auto_size. Ces trois paramètres s'excluent mutuellement.
- Name
- resize_height
- Type
- number
- Description
Redimensionne le modèle à une hauteur spécifique mesurée en mètres.
- Name
- resize_longest_side
- Type
- number
- Description
Redimensionne le modèle de sorte que son côté le plus long corresponde à cette valeur, mesurée en mètres. Le rapport d'aspect est préservé.
- Name
- auto_size
- Type
- boolean
- Description
Lorsque défini sur
true, le service utilise la vision par IA pour estimer automatiquement la hauteur réelle de l'objet et redimensionner le modèle en conséquence. L'origine sera par défautbottomsauf siorigin_atest explicitement défini.
- Name
- origin_at
- Type
- string
- défaut bottom
- Description
Position de l'origine après le redimensionnement.
Valeurs disponibles :
bottom,center.
Retours
La propriété result de la réponse contient l'id de la nouvelle tâche de redimensionnement créée.
Modes d'échec
400 - Bad Request
La requête était inacceptable. Causes courantes :
- Paramètre manquant :
model_urlouinput_task_iddoit être fourni. - Mode de redimensionnement manquant : Au moins l'un de
resize_height,resize_longest_side, ouauto_sizedoit être spécifié. - Paramètres mutuellement exclusifs :
resize_height,resize_longest_side, etauto_sizene peuvent pas être combinés. - Tâche d'entrée invalide :
input_task_iddoit faire référence à une tâche réussie. - Format de modèle invalide :
model_urlpointe vers un fichier avec une extension non prise en charge. - URL inaccessible :
model_urln'a pas pu être téléchargé.
401 - Unauthorized
L'authentification a échoué. Veuillez vérifier votre clé API.
402 - Payment Required
Crédits insuffisants pour effectuer cette tâche.
429 - Too Many Requests
Vous avez dépassé votre limite de débit.
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"
}
Récupérer une tâche de redimensionnement
Ce point de terminaison récupère une tâche de redimensionnement par son ID.
Paramètres
- Name
- id
- Type
- path
- Description
L'ID de la tâche de redimensionnement à récupérer.
Retours
L'objet de la tâche de redimensionnement.
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
}
Supprimer une tâche de redimensionnement
Ce point de terminaison supprime définitivement une tâche de redimensionnement, y compris tous les modèles et données associés. Cette action est irréversible.
Paramètres de chemin
- Name
- id
- Type
- path
- Description
L'ID de la tâche de redimensionnement à supprimer.
Statut de la tâche
Une tâche encore PENDING est supprimée et les crédits consommés au
moment de la création sont remboursés.
Une tâche déjà IN_PROGRESS ne peut pas être supprimée : la requête est
rejetée avec 409 Conflict et la tâche continue de s'exécuter. Les crédits
d'une tâche que le worker a déjà commencée ne sont pas remboursables, donc
la supprimer en cours d'exécution vous ferait perdre à la fois les crédits
et le résultat. Attendez qu'elle atteigne l'état SUCCEEDED, FAILED ou
CANCELED, puis supprimez-la.
Une tâche dans un état terminal (SUCCEEDED, FAILED ou CANCELED) est
supprimée sans remboursement.
Retours
Retourne 200 OK en cas de succès, ou 409 Conflict lorsque la tâche est
IN_PROGRESS.
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 is left 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."
}
Lister les tâches de redimensionnement
Ce point de terminaison vous permet de récupérer une liste de tâches de redimensionnement.
Paramètres
- 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
100éléments.
- Name
- sort_by
- Type
- string
- Description
Champ à utiliser pour le tri. 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.
Retours
Renvoie une liste paginée d'Objets de tâche 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
}
]
Diffuser une tâche de redimensionnement en flux
Ce point de terminaison diffuse en temps réel les mises à jour d'une tâche de redimensionnement à l'aide des Server-Sent Events (SSE).
Paramètres
- Name
- id
- Type
- path
- Description
Identifiant unique de la tâche de redimensionnement à diffuser.
Retours
Renvoie un flux d'objets de tâche de redimensionnement sous forme de Server-Sent Events.
Pour les tâches PENDING ou IN_PROGRESS, le flux de réponse n'inclura que les champs progress et status nécessaires.
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
}
L'objet Resize Task
L'objet Resize Task représente une tâche de redimensionnement.
Propriétés
id· string
Identifiant unique de la tâche.
type· string
Type de la tâche. La valeur est resize.
model_urls· object
URL téléchargeable pour le fichier de modèle redimensionné. Lors de l'utilisation d'input_task_id, la sortie est toujours au format GLB. Lors de l'utilisation de model_url, la sortie conserve le format d'origine.
progress· integer
progress de la tâche (0-100).
status· string
Statut de la tâche. Valeurs possibles : PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Le nombre de tâches précédentes. Pertinent uniquement lorsque le statut est PENDING.
created_at· timestamp
horodatage de la création de la tâche, en millisecondes.
started_at· timestamp
horodatage du démarrage de la tâche, en millisecondes. 0 si elle n'a pas démarré.
finished_at· timestamp
horodatage de la fin de la tâche, en millisecondes. 0 si elle n'est pas terminée.
task_error· object
Objet d'erreur si la tâche a échoué. Voir Erreurs pour plus de détails.
consumed_credits· integer
Le nombre de crédits consommés par cette tâche (1 crédit par tâche de redimensionnement). Retourne 0 pour les tâches FAILED.