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.


POST/openapi/v1/resize

Créer une tâche de redimensionnement

Ce point de terminaison crée une nouvelle tâche de redimensionnement.

Paramètres

  • 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.

  • 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éfaut bottom sauf si origin_at est 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_url soit input_task_id doit être fourni.
  • Mode de redimensionnement manquant : Au moins un de resize_height, resize_longest_side, ou auto_size doit être spécifié.
  • Paramètres mutuellement exclusifs : resize_height, resize_longest_side, et auto_size ne peuvent pas être combinés.
  • Tâche d'entrée invalide : Le input_task_id doit se référer à une tâche réussie.
  • Format de modèle invalide : Le model_url pointe vers un fichier avec une extension non prise en charge.
  • URL inaccessible : Le model_url n'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

POST
/openapi/v1/resize
# 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"
}

GET/openapi/v1/resize/:id

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

GET
/openapi/v1/resize/:id
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
}

DELETE/openapi/v1/resize/:id

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

DELETE
/openapi/v1/resize/:id
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.

GET/openapi/v1/resize

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

GET
/openapi/v1/resize
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
  }
]

GET/openapi/v1/resize/:id/stream

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

GET
/openapi/v1/resize/:id/stream
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.