API de Redimensionnement
L'API de Redimensionnement vous permet de redimensionner des modèles 3D existants aux dimensions réelles. Vous pouvez spécifier une hauteur exacte, une contrainte de 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 de input_task_id ou model_url est requis. Si les deux sont fournis, input_task_id prend la priorité.
- Name
- input_task_id
- Type
- string
- Requis
- Description
L'ID d'une tâche Meshy complétée dont vous souhaitez redimensionner le modèle. La tâche doit avoir un statut de
SUCCEEDED. Le format de sortie sera GLB.
- Name
- model_url
- Type
- string
- Requis
- Description
Une URL ou un Data URI accessible publiquement pointant vers un fichier de modèle 3D. Formats pris en charge :
.glb,.gltf,.obj,.fbx,.stl. Pour les Data URIs, utilisez le MIME type :application/octet-stream. Le format de sortie préservera le format original du modèle d'entrée.
Un seul mode de redimensionnement est requis : resize_height, resize_longest_side, ou auto_size. Ces trois paramètres sont mutuellement exclusifs.
- Name
- resize_height
- Type
- number
- Description
Redimensionner le modèle à une hauteur spécifique mesurée en mètres.
- Name
- resize_longest_side
- Type
- number
- Description
Redimensionner 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
Lorsqu'il est réglé sur
true, le service utilise la vision AI 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 redimensionnement.
Valeurs disponibles :
bottom,center.
Retours
La propriété result de la réponse contient l'id de la tâche de redimensionnement nouvellement créée.
Modes d'échec
400 - Bad Request
La requête était inacceptable. Causes courantes :
- Paramètre manquant : Soit
model_urlsoitinput_task_iddoit être fourni. - Mode de redimensionnement manquant : Au moins 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 : Le
input_task_iddoit se référer à une tâche réussie. - Format de modèle invalide : Le
model_urlpointe vers un fichier avec une extension non prise en charge. - URL inaccessible : Le
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.
Requête
# 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"
}'
Réponse
{
"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.
Requête
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Réponse
{
"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.
Retours
Retourne 200 OK en cas de succès.
Requête
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Réponse
// Returns 200 Ok on success.
Liste des 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
50éléments.
- Name
- sort_by
- Type
- string
- Description
Champ par lequel trier. Valeurs disponibles :
+created_at: Trier par ordre croissant de la date de création.-created_at: Trier par ordre décroissant de la date de création.
Retours
Retourne une liste paginée des Objets de tâche de redimensionnement.
Requête
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Réponse
[
{
"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
Ce point de terminaison diffuse des mises à jour en temps réel pour une tâche de redimensionnement en utilisant les Server-Sent Events (SSE).
Paramètres
- Name
- id
- Type
- path
- Description
Identifiant unique pour la tâche de redimensionnement à diffuser.
Retours
Retourne un flux d'Objets de la tâche de redimensionnement en tant que Server-Sent Events.
Pour les tâches PENDING ou IN_PROGRESS, le flux de réponse inclura uniquement les champs progress et status nécessaires.
Requête
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Flux de réponse
// 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 Tâche de Redimensionnement
L'objet Tâche de Redimensionnement représente un travail de redimensionnement.
Propriétés
id· string
Identifiant unique pour la tâche.
type· string
Type de la tâche. La valeur est resize.
model_urls· object
URL téléchargeable pour le fichier du modèle redimensionné. Lors de l'utilisation de input_task_id, la sortie est toujours GLB. Lors de l'utilisation de model_url, la sortie conserve le format original.
progress· integer
Progression 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. Significatif uniquement lorsque le statut est PENDING.
created_at· horodatage
Horodatage de la création de la tâche, en millisecondes.
started_at· horodatage
Horodatage du début de la tâche, en millisecondes. 0 si non démarrée.
finished_at· horodatage
Horodatage de la fin de la tâche, en millisecondes. 0 si non 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.