API d'impression multicolore

Convertir des modèles 3D en format 3MF multicolore pour l'impression 3D, avec une palette de couleurs configurable allant jusqu'à 16 couleurs.


POST/openapi/v1/print/multi-color

Créer une tâche d'impression 3D multi-couleurs

Ce point de terminaison crée une nouvelle tâche d'impression 3D multi-couleurs. La tâche convertit un modèle 3D en un fichier 3MF multi-couleurs adapté à l'impression 3D.

Paramètres

  • Name
    model_url
    Type
    string
    Requis
    Description

    URL ou Data URI d'un modèle 3D accessible publiquement. Nous prenons actuellement en charge les formats .glb et .fbx.

  • Name
    max_colors
    Type
    integer
    défaut 4
    Description

    Nombre maximum de couleurs dans la palette de sortie.

    Plage valide : 1 à 16.

  • Name
    style
    Type
    string
    défaut realistic
    Description

    Style de couleur visuel du fichier 3MF généré.

    Valeurs disponibles :

    • realistic : Échantillonne les couleurs directement à partir de la texture du modèle pour un détail fin et photo-réaliste. Produit un fichier plus volumineux.
    • cartoon : Aplati les couleurs en régions propres et uniformes pour un look stylisé. Produit un fichier plus petit.

Retours

La propriété result de la réponse contient l'id de la tâche d'impression 3D nouvellement créée.

Modes d'échec

  • Name
    400 - Bad Request
    Description

    La requête était inacceptable. Causes courantes :

    • Paramètre manquant : Soit model_url soit input_task_id doit être fourni.
    • Format de modèle invalide : Le model_url pointe vers un fichier avec une extension non prise en charge (seuls les formats .glb et .fbx sont pris en charge).
    • URL inaccessible : Le model_url n'a pas pu être téléchargé.
    • Tâche d'entrée invalide : Le input_task_id doit se référer à une tâche réussie.
    • max_colors invalide : La valeur doit être comprise entre 1 et 16.
    • Style invalide : La valeur doit être realistic ou cartoon.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

    Crédits insuffisants pour effectuer cette tâche.

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v1/print/multi-color
# Convert a 3D model to multi-color 3MF for printing
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "max_colors": 8
  }'

Response

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

GET/openapi/v1/print/multi-color/:id

Récupérer une tâche d'impression 3D multi-couleurs

Ce point de terminaison récupère une tâche d'impression 3D multi-couleurs par son ID.

Paramètres

  • Name
    id
    Type
    path
    Description

    L'ID de la tâche d'impression 3D à récupérer.

Retours

L'objet Tâche d'impression 3D.

Requête

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Réponse

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

DELETE/openapi/v1/print/multi-color/:id

Supprimer une tâche d'impression 3D multi-couleurs

Ce point de terminaison supprime définitivement une tâche d'impression 3D multi-couleurs, 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 d'impression 3D multi-couleurs à supprimer.

Retours

Retourne 200 OK en cas de succès.

Requête

DELETE
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Réponse

// Returns 200 Ok on success.

GET/openapi/v1/print/multi-color

Lister les tâches d'impression 3D multi-couleurs

Ce point de terminaison vous permet de récupérer une liste de tâches d'impression 3D multi-couleurs.

Paramètres

Attributs optionnels

  • Name
    page_num
    Type
    integer
    Description

    Numéro de page pour la pagination. Commence et par défaut à 1.

  • Name
    page_size
    Type
    integer
    Description

    Limite de taille de page. Par défaut à 10 éléments. Le maximum autorisé est de 50 éléments.

  • Name
    sort_by
    Type
    string
    Description

    Champ de tri. 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 d'impression 3D.

Requête

GET
/openapi/v1/print/multi-color
curl https://api.meshy.ai/openapi/v1/print/multi-color?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Réponse

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-multi-color",
    "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null,
  "consumed_credits": 10
  }
]

GET/openapi/v1/print/multi-color/:id/stream

Diffuser une tâche d'impression 3D multi-couleur

Ce point de terminaison diffuse des mises à jour en temps réel pour une tâche d'impression 3D multi-couleur en utilisant les Server-Sent Events (SSE).

Paramètres

  • Name
    id
    Type
    path
    Description

    Identifiant unique pour la tâche d'impression 3D multi-couleur à diffuser.

Retours

Retourne un flux d'Objets de la tâche d'impression 3D sous forme de Server-Sent Events.

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

Request

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-multi-color",
  "model_urls": {
    "3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}

L'objet de tâche d'impression 3D

  • Name
    id
    Type
    string
    Description

    Identifiant unique pour la tâche. Bien que nous utilisions un UUID triable par k pour les identifiants de tâche comme détail d'implémentation, vous ne devez pas faire d'hypothèses sur le format de l'identifiant.

  • Name
    type
    Type
    string
    Description

    Type de la tâche d'impression 3D. La valeur est print-multi-color.

  • Name
    model_urls
    Type
    object
    Description

    URL téléchargeable vers le fichier de modèle 3D généré par Meshy. La propriété pour un format sera omise si le format n'est pas généré au lieu de retourner une chaîne vide.

    • Name
      3mf
      Type
      string
      Description

      URL téléchargeable vers le fichier 3MF multi-couleur.

  • Name
    progress
    Type
    integer
    Description

    Progression de la tâche. Si la tâche n'a pas encore commencé, cette propriété sera 0. Une fois la tâche réussie, cela deviendra 100.

  • Name
    status
    Type
    string
    Description

    Statut de la tâche. Les valeurs possibles sont PENDING, IN_PROGRESS, SUCCEEDED, FAILED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Le nombre de tâches précédentes.

  • Name
    created_at
    Type
    timestamp
    Description

    Horodatage de la création de la tâche, en millisecondes.

  • Name
    started_at
    Type
    timestamp
    Description

    Horodatage du début de la tâche, en millisecondes. Si la tâche n'a pas encore commencé, cette propriété sera 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Horodatage de la fin de la tâche, en millisecondes. Si la tâche n'est pas encore terminée, cette propriété sera 0.

  • Name
    task_error
    Type
    object
    Description

    Détails de l'erreur pour les tâches échouées. Voir Erreurs pour la référence complète de l'objet task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Le nombre de crédits consommés par cette tâche. Présent lorsque le statut de la tâche est PENDING, IN_PROGRESS ou SUCCEEDED. Retourne 0 pour les tâches FAILED (les crédits sont remboursés en cas d'échec).

The 3D Print Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-multi-color",
  "model_urls": {
      "3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
"consumed_credits": 10
}