L'API Image en 3D est une fonctionnalité qui vous permet d'intégrer les capacités d'Image en 3D de Meshy dans votre propre application. Dans cette section, vous trouverez toutes les informations dont vous avez besoin pour commencer avec cette API.
Ce point de terminaison vous permet de créer une nouvelle tâche Image en 3D. Référez-vous à
L'objet Tâche Image en 3D pour voir quelles
propriétés sont incluses avec l'objet tâche Image en 3D.
Paramètres
Seul input_task_id ou image_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 de génération d'image complétée dont la sortie doit être utilisée comme image d'entrée. Cette tâche doit être l'une des tâches suivantes : Texte en image ou Image en image. De plus, elle doit avoir été exécutée via l'API, avoir un statut SUCCEEDED et produire exactement une image.
Name
image_url
Type
string
Requis
Description
Fournir une image que Meshy utilisera pour la création du modèle. Nous supportons actuellement les formats .jpg, .jpeg et .png.
Il existe deux façons de fournir l'image :
URL accessible publiquement : Une URL accessible depuis l'internet public.
Data URI : Un Data URI codé en base64 de l'image. Exemple d'un Data URI : data:image/jpeg;base64,<vos données d'image codées en base64>.
Name
model_type
Type
string
défaut standard
Description
Spécifiez le type de génération de maillage 3D.
Valeurs disponibles :
standard : Génération de maillage 3D à haute définition.
smart-topology : Choisissez un modèle Smart Topology avec ai_model (meshy-t1 ou meshy-t2).
lowpoly (obsolète) : Génère un maillage low-poly optimisé pour des polygones plus propres. Nous recommandons d'utiliser smart-topology à la place.
Lorsque smart-topology est sélectionné, topology, should_remesh, et save_pre_remeshed_model sont ignorés.
Lorsque lowpoly est sélectionné, ai_model, topology, target_polycount, should_remesh, et save_pre_remeshed_model sont ignorés.
Name
ai_model
Type
string
défaut latest
Description
ID du modèle à utiliser. Les valeurs disponibles dépendent de model_type.
meshy-t2 (défaut, recommandé) : le modèle Smart Topology — une topology plus propre, parties séparées nativement, sortie en triangles, et un nombre de faces que vous pouvez définir avec target_polycount.
meshy-t1 : l'ancien modèle low-poly ; ne supporte pas la définition d'un nombre de faces avec target_polycount.
Name
ultra_mode
Type
boolean
défaut false
Description
Active la génération Ultra pour une géométrie de plus haute fidélité avec des détails de surface plus fins.
Supporté uniquement lorsque ai_model est meshy-7 (ou latest).
Name
should_texture
Type
boolean
défaut true
Description
Détermine si des textures sont générées. Le réglage à false saute l'étape de texturation, fournissant un maillage sans textures.
S'applique uniquement quand should_texture = true
Name
enable_pbr
Type
boolean
défaut false
Description
Générer des cartes PBR (métallique, rugosité, normal) en plus de la couleur de base. Une carte d'émission est également incluse lorsque ai_model est meshy-6, sauf à texture_resolution: 8k. meshy-7 et latest ne produisent pas de carte d'émission.
Name
texture_resolution
Type
string
défaut 2k
Description
Résolution de la texture de couleur de base. Une des 2k (2048×2048), 4k (4096×4096), ou 8k (8192×8192). Les résolutions plus élevées capturent plus de détails de surface.
4k et 8k ne sont pas disponibles avec ai_model: meshy-5. À 8k, aucune carte d'émission n'est produite.
Name
hd_texture
Type
boolean
⚠ obsolète
défaut false
Description
Utilisez texture_resolution à la place — équivalent à texture_resolution: "4k". Lorsque les deux sont définis, texture_resolution prend la priorité.
Name
texture_prompt
Type
string
Description
Fournir un prompt textuel pour guider le processus de texturation. Maximum 600 caractères.
Name
texture_image_url
Type
string
Description
Fournir une image 2D pour guider le processus de texturation. Nous supportons actuellement les formats .jpg, .jpeg et .png.
Il existe deux façons de fournir l'image :
URL accessible publiquement : Une URL accessible depuis l'internet public
Data URI : Un Data URI codé en base64 de l'image. Exemple d'un Data URI : data:image/jpeg;base64,<vos données d'image codées en base64>
La texturation d'image ne peut pas fonctionner de manière optimale s'il existe des différences géométriques substantielles entre l'asset original et l'image téléchargée. Un seul des deux, texture_image_url ou texture_prompt, peut être utilisé pour guider le processus de texturation. Si les deux paramètres sont fournis, texture_prompt sera utilisé par défaut pour texturer le modèle. La texturation via texte ou image coûtera 10 crédits par tâche.
Name
should_remesh
Type
boolean
défaut false (meshy-6, meshy-7), true (others)
Description
Contrôle l'activation de la phase de remaillage. Pour le modèle de la plus haute qualité, nous recommandons de définir should_remesh à false.
S'applique uniquement quand should_remesh = true
Name
topology
Type
string
défaut triangle
Description
Spécifiez la topology du modèle généré.
Valeurs disponibles :
quad : Génère un maillage principalement composé de quadrilatères.
triangle : Génère un maillage de triangles décimé.
Name
decimation_mode
Type
integer
Description
Activez la décimation adaptive en définissant un niveau de polycount. Lorsqu'il est défini, target_polycount est ignoré.
Valeurs disponibles :
1 : Adaptatif — ultra polycount.
2 : Adaptatif — polycount élevé.
3 : Adaptatif — polycount moyen.
4 : Adaptatif — polycount bas.
Name
save_pre_remeshed_model
Type
boolean
défaut false
Description
Lorsque défini sur true, Meshy stocke également un fichier GLB supplémentaire avant la fin de la phase de remaillage.
Name
target_polycount
Type
integer
Description
Nombre cible de polygones (faces) dans la sortie. Le compte réel peut dévier de la cible selon la géométrie.
target_polycount prend effet dans deux cas indépendants :
Remesher — avec should_remesh: true sur un modèle standard. Le maillage est remaillé (décimé) à approximativement ce compte. Plage 100 à 300 000, par défaut 30 000. Si decimation_mode est défini, il prend la priorité et target_polycount est ignoré.
Smart Topology — avec model_type: smart-topology et ai_model: meshy-t2. Le modèle est généré directement à ce nombre de faces ; aucun remaillage n'est exécuté et should_remesh n'est pas requis. Plage 100 à 15 000, par défaut 4 000.
Name
symmetry_mode
Type
string
⚠ obsolète
défaut auto
Description
Obsolète. Ce paramètre n'affecte plus la sortie.
Le champ symmetry_mode contrôle le comportement de symétrie pendant le processus de génération du modèle.
Les valeurs valides sont :
off : Désactive la symétrie.
auto : Détermine et applique automatiquement la symétrie basée sur la géométrie d'entrée.
Utiliser pose_mode à la place. Que le modèle soit généré dans une pose A/T.
Name
image_enhancement
Type
boolean
défaut true
Description
Optimise l'image d'entrée pour de meilleurs résultats. Définissez sur false pour conserver l'apparence exacte de l'image d'entrée sans aucun traitement de style.
Supporté uniquement lorsque ai_model est meshy-6, meshy-7 ou latest.
Name
remove_lighting
Type
boolean
défaut true
Description
Supprime les reflets et les ombres de la texture de couleur de base, produisant un résultat plus propre qui fonctionne mieux sous des configurations d'éclairage personnalisées.
Supporté uniquement lorsque ai_model est meshy-6.
Name
moderation
Type
boolean
défaut false
Description
Lorsqu'il est défini sur true, le contenu d'entrée sera automatiquement filtré pour les contenus potentiellement nuisibles. Si un contenu nuisible est détecté, la tâche ne passera pas à la génération.
Le contenu des entrées image_url, texture_image_url, et texture_prompt sera filtré.
Name
target_formats
Type
string[]
Description
Spécifie quels formats de fichier 3D inclure dans la sortie. Seuls les formats demandés seront générés et retournés, ce qui peut réduire le temps de complétion de la tâche. Lorsqu'il est omis, tous les formats supportés sont inclus.
Lorsqu'il est omis, tous les formats sauf 3mf sont générés. 3mf est uniquement inclus lorsqu'il est explicitement spécifié.
Name
auto_size
Type
boolean
défaut false
Description
Lorsqu'il est défini sur true, le service utilise la vision automatique 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 indication contraire par origin_at.
Name
alpha_thumbnail
Type
boolean
défaut false
Description
Lorsqu'il est défini sur true, la tâche rend également une version à fond transparent (RGBA) de l'aperçu et la renvoie sous forme d'alpha_thumbnail_url dans la réponse GET. Le champ existant thumbnail_url reste inchangé.
Name
multi_view_thumbnails
Type
boolean
défaut false
Description
Lorsqu'il est défini sur true, la tâche rend également quatre miniatures de vue cardinales (avant, droite, arrière, gauche) et les renvoie sous forme de thumbnail_urls dans la réponse GET. Le champ existant thumbnail_url reste inchangé et continue de pointer sur la vue avant, de sorte que les clients existants ne sont pas affectés.
Ajoute environ 3 secondes à la latence de la tâche.
S'applique uniquement quand auto_size = true
Name
origin_at
Type
string
défaut bottom
Description
Position de l'origine lorsque auto_size est activé.
Valeurs disponibles : bottom, center.
Retours
La propriété result de la réponse contient l'id de la tâche nouvellement créée Image en 3D.
Modes d'échec
Name
400 - Bad Request
Description
La demande était inacceptable. Causes communes :
Paramètre manquant : Soit image_url soit input_task_id doit être fourni.
Tâche d'entrée non valide : Le input_task_id doit se référer à une tâche Texte en Image ou Image en Image SUCCEEDED qui produit exactement une image.
Format d'image non valide : Le image_url fourni n'est pas un format supporté (.jpg, .jpeg, .png).
URL inaccessible : Le image_url n'a pas pu être téléchargé (404 ou timeout).
URI de données non valide : La chaîne base64 est mal formée.
Combinaison de paramètres non valide : enable_pbr n'est supporté que lorsque should_texture est vrai.
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/image-to-3d
# Demande simple avec paramètres requiscurlhttps://api.meshy.ai/openapi/v1/image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<votre URL d'imagepubliqueouURIdedonnéescodéenbase64>" }'# Avec remaillage, PBR, et pose Acurl https://api.meshy.ai/openapi/v1/image-to-3d \ -X POST \ -H "Authorization:Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<votreURLd'image publique ou URI de données codé en base64>", "enable_pbr": true, "should_remesh": true, "target_polycount": 100000, "should_texture": true, "pose_mode": "a-pose", "target_formats": ["glb"] }'
Ce point de terminaison vous permet d'obtenir une tâche Image en 3D en fonction d'un id de tâche valide.
Référez-vous à L'objet Tâche Image en 3D pour voir quelles
propriétés sont incluses avec l'objet tâche Image en 3D.
Paramètres
Name
id
Type
path
Description
Identifiant unique pour la tâche Image en 3D à récupérer.
Retours
La réponse contient l'objet tâche Image en 3D. Consultez la
section L'objet Tâche Image en 3D pour les détails.
// Exemple d'événement d'erreurevent: errordata: {"status_code": 404,"message": "Tâche non trouvée"}// Les exemples d'événements de message illustrent la progression de la tâche.// Pour les tâches PENDING ou IN_PROGRESS, le flux de réponse n'inclura pas tous les champs.event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 0,"status": "PENDING"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","type": "image-to-3d","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***","pre_remeshed_glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***" },"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","thumbnail_urls": {"front":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***","right":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***","back":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***","left":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***" },"texture_prompt": "","progress": 100,"started_at": 1692771667037,"created_at": 1692771650657,"expires_at": 1692771679037,"finished_at": 1692771669037,"status": "SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks": 0,"task_error": {"message":"" },"consumed_credits": 30}
L'objet Tâche Image en 3D est une unité de travail que Meshy suit pour générer un modèle 3D à partir d'une entrée image.
L'objet a les propriétés suivantes :
Propriétés
Name
id
Type
string
Description
Identifiant unique pour la tâche. Bien que nous utilisions un UUID k-sortable pour les identifiants de tâche en tant que
détail d'implémentation, vous ne devriez pas faire d'hypothèses sur le format de l'identifiant.
Name
type
Type
string
Description
Type de la tâche Image en 3D. La valeur est image-to-3d.
Name
model_urls
Type
object
Description
URL téléchargeable vers le fichier du modèle 3D texturé 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
glb
Type
string
Description
URL téléchargeable vers le fichier GLB.
Name
fbx
Type
string
Description
URL téléchargeable vers le fichier FBX.
Name
obj
Type
string
Description
URL téléchargeable vers le fichier OBJ.
Name
usdz
Type
string
Description
URL téléchargeable vers le fichier USDZ.
Name
mtl
Type
string
Description
URL téléchargeable vers le fichier MTL, retournée avec les exportations OBJ lorsque des textures sont présentes.
Name
stl
Type
string
Description
URL téléchargeable vers le fichier STL.
Name
3mf
Type
string
Description
URL téléchargeable vers le fichier 3MF. Présent uniquement lorsque 3mf a été demandé via target_formats.
Name
pre_remeshed_glb
Type
string
Description
URL téléchargeable vers la sortie GLB d'origine avant remaillage.
Disponible uniquement lorsque la tâche a été créée avec à la fois should_remesh: true et save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
URL téléchargeable vers l'image miniature du fichier du modèle. Équivalente à thumbnail_urls.front lorsqu'elle est présente, gardée pour la compatibilité descendante.
Name
alpha_thumbnail_url
Type
string
Description
URL téléchargeable vers une version à fond transparent (RGBA) de thumbnail_url. Présente uniquement lorsque la tâche a été créée avec alpha_thumbnail: true et l'aperçu transparent a été rendu avec succès ; sinon ce champ est omis.
Name
thumbnail_urls
Type
object
Description
URL téléchargeables pour les quatre miniatures de vue cardinale du modèle 3D généré. Chaque valeur est une URL signée vers un PNG de 512×512 rendu avec les mêmes matériaux et éclairage que thumbnail_url. Utile pour visualiser le modèle sous plusieurs angles dans les pipelines par lots sans télécharger le GLB.
Présent uniquement lorsque la tâche a été créée avec multi_view_thumbnails: true et a atteint SUCCEEDED. Les tâches plus anciennes et les tâches créées sans l'option ne comprendront pas ce champ.
Name
front
Type
string
Description
Vue avant, rotation de 0° autour de l'axe vertical (correspond à thumbnail_url).
Name
right
Type
string
Description
Vue droite, rotation de 90°.
Name
back
Type
string
Description
Vue arrière, rotation de 180°.
Name
left
Type
string
Description
Vue gauche, rotation de 270°.
Name
texture_prompt
Type
string
Description
Le prompt textuel qui a été utilisé pour guider le processus de texturation.
Name
texture_image_url
Type
string
Description
URL téléchargeable vers l'image de texture qui a été utilisée pour guider le processus de texturation.
Name
ultra_mode
Type
boolean
Description
Reflète la valeur de ultra_mode avec laquelle la tâche a été créée. Présente uniquement pour les tâches meshy-7 (ou latest) qui définissent explicitement ultra_mode ; omise sinon.
Name
progress
Type
integer
Description
Progression de la tâche. Si la tâche n'est pas encore commencée, cette propriété sera 0. Une fois que la tâche a réussi, cela deviendra 100.
Name
started_at
Type
timestamp
Description
Horodatage du démarrage de la tâche, en millisecondes. Si la tâche n'est pas encore commencée, cette propriété sera 0.
Un horodatage représente le nombre de millisecondes écoulées depuis le 1er janvier 1970 UTC, suivant
la norme RFC 3339.
Par exemple, le vendredi 1er septembre 2023 à 12:00:00 PM GMT est représenté par 1693569600000.
Cela s'applique à tous les horodatages de Meshy API.
Name
created_at
Type
timestamp
Description
Horodatage de la création de la tâche, en millisecondes.
Name
expires_at
Type
timestamp
Description
Horodatage de l'expiration du résultat de la tâche, en millisecondes.
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
status
Type
string
Description
Statut de la tâche. Les valeurs possibles sont l'une de PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Un tableau d'objets d'URL de texture générés par la tâche. Normalement, cela ne contient qu'un seul objet d'URL de texture. Chaque URL de texture a les propriétés suivantes :
Name
base_color
Type
string
Description
URL téléchargeable vers l'image de la carte de couleur de base.
Name
metallic
Type
string
Description
URL téléchargeable vers l'image de la carte métallique.
Si la tâche est créée avec enable_pbr: false, cette propriété sera omise.
Name
normal
Type
string
Description
URL téléchargeable vers l'image de la normal map.
Si la tâche est créée avec enable_pbr: false, cette propriété sera omise.
Name
roughness
Type
string
Description
URL téléchargeable vers l'image de la carte de rugosité.
Si la tâche est créée avec enable_pbr: false, cette propriété sera omise.
Name
emission
Type
string
Description
URL téléchargeable vers l'image de la carte d'émission.
Si la tâche est créée avec enable_pbr: false, ou ai_model est meshy-5, meshy-7 ou latest, cette propriété sera omise.
Name
preceding_tasks
Type
integer
Description
Le nombre de tâches précédentes.
La valeur de ce champ est significative seulement si le statut de la tâche est PENDING.
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).