API Redimensionner

L’API Redimensionner vous permet de redimensionner des modèles 3D existants à des 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 terminée dont vous souhaitez redimensionner le modèle. La tâche doit avoir le statut SUCCEEDED. Le format de sortie sera GLB.

  • Name
    model_url
    Type
    string
    Requis
    Description

    Une URL accessible publiquement ou un 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.

  • 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 afin que son côté le plus long corresponde à cette valeur, mesurée en mètres. Le rapport hauteur/largeur est conservé.

  • Name
    auto_size
    Type
    boolean
    Description

    Lorsqu’il est 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 définie par défaut sur bottom, sauf si origin_at est 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 tâche de redimensionnement nouvellement créée.

Modes d’échec

  • 400 - Requête incorrecte

La requête n’était pas acceptable. Causes courantes :

  • Paramètre manquant : model_url ou input_task_id doit être fourni.
  • Mode de redimensionnement manquant : au moins l’un des paramètres 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 non valide : input_task_id doit faire référence à une tâche réussie.
  • Format de modèle non valide : model_url pointe vers un fichier avec une extension non prise en charge.
  • URL inaccessible : model_url n’a pas pu être téléchargée.
  • 401 - Non autorisé

L’authentification a échoué. Veuillez vérifier votre clé API.

  • 402 - Paiement requis

Crédits insuffisants pour effectuer cette tâche.

  • 429 - Trop de requêtes

Vous avez dépassé votre limite de débit.

Request

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"
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/resize/:id

Récupérer une tâche Redimensionner

Ce point de terminaison récupère une tâche Redimensionner par son ID.

Paramètres

  • Name
    id
    Type
    path
    Description

    L'ID de la tâche Redimensionner à récupérer.

Retours

L'objet de tâche Redimensionner.

Request

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

DELETE/openapi/v1/resize/:id

Supprimer une tâche de Redimensionner

Ce point de terminaison supprime définitivement une tâche de Redimensionner, 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 Redimensionner à supprimer.

Retours

Retourne 200 OK en cas de réussite.

Request

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}"

Response

// Returns 200 Ok on success.

GET/openapi/v1/resize

Liste des tâches de Redimensionner

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 selon lequel trier. Valeurs disponibles :

    • +created_at: Trier par heure de création dans l'ordre croissant.
    • -created_at: Trier par heure de création dans l'ordre décroissant.

Retours

Renvoie une liste avec pagination des objets de tâche de Redimensionner.

Request

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

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

Diffuser une tâche Redimensionner

Ce point de terminaison diffuse des mises à jour en temps réel pour une tâche de redimensionnement à l’aide de Server-Sent Events (SSE).

Paramètres

  • Name
    id
    Type
    path
    Description

    Identifiant unique de la tâche de redimensionnement à diffuser.

Retours

Retourne un flux de Les objets de tâche Redimensionner en tant que Server-Sent Events.

Pour les tâches PENDING ou IN_PROGRESS, le flux de réponse n’inclura que les champs nécessaires progress et status.

Request

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}"

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 de tâche Redimensionner

L’objet de tâche Redimensionner représente une tâche de redimensionnement.

Properties

  • 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 de input_task_id, la sortie est toujours GLB. Lors de l’utilisation de model_url, la sortie conserve le format d’origine.

  • 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 · 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é. Consultez Errors 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). Renvoie 0 pour les tâches FAILED.