L'API Texte en 3D est une fonctionnalité qui vous permet d'intégrer les capacités Texte en 3D de Meshy dans votre propre application. Dans cette section, vous trouverez toutes les informations
dont vous avez besoin pour démarrer avec cette API.
Texte en 3D utilise un flux de travail en deux étapes. Tout d'abord, créez une tâche de prévisualisation (mode: "preview") pour générer un maillage 3D sans texture, afin que vous puissiez évaluer la forme. Ensuite, transmettez l'ID de tâche de la prévisualisation terminée à une tâche refine (mode: "refine") pour appliquer une texture au maillage. Les deux étapes partagent le même point de terminaison.
Ce point de terminaison crée une tâche de preview Texte en 3D, qui génère un maillage 3D non texturé (géométrie uniquement) à partir d'un prompt textuel. C'est la première étape du workflow en deux temps. Une fois la preview réussie, utilisez l'ID de tâche retourné pour créer une tâche refine afin d'appliquer les textures. Consultez
L'objet de tâche Texte en 3D pour le schéma de réponse complet.
Paramètres
Name
mode
Type
string
Requis
Description
Ce champ doit être défini sur "preview" lors de la création d'une tâche de preview.
Name
prompt
Type
string
Requis
Description
Décrivez le type d'objet que représente le modèle 3D. Maximum 800 caractères.
Name
model_type
Type
string
défaut standard
Description
Spécifie le type de génération de maillage 3D.
Valeurs disponibles :
standard : génération de maillage 3D standard haute-définition.
smart-topology : choisissez le modèle Smart Topology avec ai_model (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é, should_remesh et decimation_mode sont ignorés, et seul topology: triangle est accepté.
Lorsque lowpoly est sélectionné, ai_model, topology, target_polycount et should_remesh 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 (par défaut) : le modèle Smart Topology — topology plus propre, parties nativement séparées, sortie en triangles, et un nombre de faces que vous pouvez définir avec target_polycount.
Name
geometry_resolution
Type
string
défaut standard
Description
Passe de génération de géométrie. 2k exécute la passe Ultra à 2048³ ; 4k l'exécute à 4096³ pour le
détail de surface le plus fin.
Valeurs disponibles : standard, 2k, 4k
Uniquement pris en charge en mode preview. Nécessite meshy-7.1 ou latest.
Name
ultra_mode
Type
boolean
⚠ obsolète
défaut false
Description
Utilisez geometry_resolution à la place. ultra_mode: true équivaut à geometry_resolution: "2k".
Name
should_remesh
Type
boolean
défaut false (Meshy 6 and Meshy 7 models), 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 sur false.
S'applique uniquement quand should_remesh = true
Name
topology
Type
string
défaut triangle
Description
Spécifie la topology du modèle généré.
Valeurs disponibles :
quad : génère un maillage à dominante de quads.
triangle : génère un maillage triangulaire décimé.
La sortie Smart Topology est uniquement en triangles. Demander quad avec ai_model: meshy-t2 renvoie une erreur.
Name
decimation_mode
Type
integer
Description
Active la décimation adaptative en définissant un niveau de nombre de polygones. Lorsqu'il est défini, target_polycount est ignoré.
Valeurs disponibles :
1 : adaptatif — nombre de polygones ultra.
2 : adaptatif — nombre de polygones élevé.
3 : adaptatif — nombre de polygones moyen.
4 : adaptatif — nombre de polygones bas.
Name
target_polycount
Type
integer
Description
Nombre cible de polygones (faces) dans la sortie. Le nombre réel peut s'écarter de la cible selon la géométrie.
target_polycount s'applique dans deux cas indépendants :
Remaillage — avec should_remesh: true sur un modèle standard. Le maillage est remaillé (décimé) pour atteindre approximativement ce nombre. Plage de 100 à 300 000, par défaut 30 000. Si decimation_mode est défini, il est prioritaire 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 avec ce nombre de faces ; aucun remaillage n'est exécuté et should_remesh n'est pas requis. Plage de 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 en fonction de la géométrie d'entrée.
Utilisez pose_mode à la place. Indique s'il faut générer le modèle en pose A/T.
Name
art_style
Type
string
⚠ obsolète
défaut realistic
Description
Non prise en charge par Meshy-6. Les requêtes utilisant Meshy-6 ignoreront art_style, et certaines combinaisons peuvent provoquer des erreurs. Valeurs disponibles : realistic, sculpture.
enable_pbr doit être défini sur false lors de l'utilisation du style Sculpture, car le style Sculpture génère son propre ensemble de cartes PBR.
Name
moderation
Type
boolean
défaut false
Description
Lorsque défini sur true, le contenu d'entrée sera automatiquement analysé pour détecter tout contenu potentiellement nuisible. Si un contenu nuisible est détecté, la tâche ne passera pas à la génération.
Le texte de prompt sera analysé.
Name
target_formats
Type
string[]
Description
Spécifie les formats de fichiers 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 d'exécution de la tâche. Si omis, tous les formats pris en charge sont inclus.
Si omis, tous les formats sauf 3mf sont générés. 3mf n'est inclus que lorsqu'il est explicitement spécifié.
Name
alpha_thumbnail
Type
boolean
défaut false
Description
Lorsque défini sur true, la tâche rend en plus une version à fond transparent (RGBA) de la preview et la retourne dans alpha_thumbnail_url sur la réponse GET. Le champ existant thumbnail_url reste inchangé.
Name
auto_size
Type
boolean
défaut false
Description
Lorsque 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 par défaut bottom sauf si origin_at est explicitement défini.
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.
Retour
La propriété result de la réponse contient l'id de tâche de la nouvelle tâche Texte en 3D créée.
Modes d'échec
Name
400 - Bad Request
Description
La requête était inacceptable. Causes courantes :
Paramètre manquant : un paramètre requis (par exemple, prompt, mode) est manquant.
Paramètre invalide : art_style ne fait pas partie des valeurs autorisées.
Prompt trop long : le prompt dépasse la limite de caractères.
Modèle non pris en charge pour low poly : ai_model: "meshy-6-lite" ne prend pas en charge model_type: "lowpoly".
Modèle non pris en charge pour Ultra : geometry_resolution nécessite meshy-7.1 ou latest.
Name
401 - Unauthorized
Description
L'authentification a échoué. Veuillez vérifier votre clé API.
Ce point de terminaison crée une tâche refine Texte en 3D, qui applique une texture à un maillage preview terminé. Vous devez fournir le preview_task_id d'une tâche preview réussie. Il s'agit de la deuxième étape du flux de travail en deux étapes.
Paramètres
Name
mode
Type
string
Requis
Description
Ce champ doit être défini sur "refine" lors de la création d'une tâche refine.
Name
preview_task_id
Type
string
Requis
Description
L'identifiant de la tâche preview correspondante.
Le statut de la tâche preview donnée doit être SUCCEEDED.
Name
enable_pbr
Type
boolean
défaut false
Description
Génère des cartes PBR (métallique, rugosité, normale) en plus de la couleur de base. Une carte d'émission est également incluse lorsque ai_model est meshy-6, sauf à texture_resolution: 8k (aucune carte d'émission n'est produite). meshy-6-lite, meshy-7.1 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. L'une des valeurs suivantes : 2k (2048×2048), 4k (4096×4096) ou 8k (8192×8192). Des résolutions plus élevées capturent davantage de détails de surface. S'applique uniquement au mode refine.
4k et 8k nécessitent ai_modelmeshy-6, meshy-7.1 ou latest. À 8k, aucune carte d'émission n'est produite.
Name
hd_texture
Type
boolean
⚠ obsolète
défaut false
Description
Utilisez texture_resolution à la place — équivaut à texture_resolution: "4k". Lorsque les deux sont définis, texture_resolution est prioritaire.
Name
texture_prompt
Type
string
Description
Fournissez un prompt textuel supplémentaire pour guider le processus de texturation. Maximum 800 caractères.
Name
texture_image_url
Type
string
Description
Fournissez une image 2D pour guider le processus de texturation. Nous prenons actuellement en charge 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 : une URI de données encodée en base64 de l'image. Exemple de Data URI : data:image/jpeg;base64,<vos données d'image encodées en base64>
La texturation par image peut ne pas fonctionner de manière optimale s'il existe des différences de géométrie importantes entre l'asset original et l'image téléchargée. Seul l'un des paramètres 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.
meshy-7 (obsolète) : utilisez meshy-7.1 à la place.
Omettez ce paramètre pour hériter du modèle utilisé par la tâche preview, ce qui permet de conserver le même modèle de bout en bout entre un preview et son refine. Passez une valeur explicite pour outrepasser cet héritage.
Une valeur explicite latest se résout ici exactement comme pour la tâche preview (actuellement Meshy 7.1), de sorte qu'un preview latest et son refine latest utilisent toujours le même modèle de texture.
Name
moderation
Type
boolean
défaut false
Description
Lorsque défini sur true, le contenu fourni sera automatiquement analysé afin de détecter tout contenu potentiellement nuisible. Si un contenu nuisible est détecté, la tâche ne passera pas à l'étape de génération.
Le texte de texture_prompt ainsi que l'image de texture_image_url seront analysés.
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 avec des configurations d'éclairage personnalisées.
Ne prend effet que lorsque ai_model est meshy-6 ; les autres modèles l'ignorent.
Name
target_formats
Type
string[]
Description
Spécifie les formats de fichiers 3D à inclure dans la sortie. Seuls les formats demandés seront générés et renvoyés, ce qui peut réduire le temps d'achèvement de la tâche. Si omis, tous les formats pris en charge sont inclus.
Si omis, tous les formats sauf 3mf sont générés. 3mf n'est inclus que lorsqu'il est explicitement spécifié.
Name
alpha_thumbnail
Type
boolean
défaut false
Description
Lorsque défini sur true, la tâche effectue en plus un rendu de la preview avec un fond transparent (RGBA) et le renvoie sous la forme alpha_thumbnail_url dans la réponse GET. Le champ existant thumbnail_url reste inchangé.
Name
auto_size
Type
boolean
défaut false
Description
Lorsque 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 par défaut bottom sauf si origin_at est explicitement défini.
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 Texte en 3D nouvellement créée.
Modes d'échec
Name
400 - Bad Request
Description
La requête était inacceptable. Causes courantes :
ID de tâche invalide : le preview_task_id est invalide ou n'existe pas.
Tâche non prête : la tâche preview n'a pas encore réussi.
Incompatibilité de modèle : le modèle d'IA de la tâche preview est incompatible avec le modèle de refine demandé.
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
404 - Not Found
Description
La tâche preview spécifiée par preview_task_id est introuvable.
Ce point de terminaison vous permet de récupérer une tâche Texte en 3D à partir d'un id de tâche valide.
Consultez L'objet tâche Texte en 3D pour voir quelles
propriétés sont incluses dans l'objet tâche Texte en 3D.
Ce point de terminaison fonctionne à la fois pour les tâches preview et refine.
Paramètres
Name
id
Type
path
Description
Identifiant unique de la tâche Texte en 3D à récupérer.
Retours
La réponse contient l'objet tâche Texte en 3D. Consultez la section
L'objet tâche Texte en 3D pour plus de détails.
Ce point de terminaison supprime définitivement une tâche Texte en 3D, 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 Texte en 3D à supprimer.
Statut de la tâche
Une tâche encore PENDING est supprimée et les crédits consommés au
moment de la création sont remboursés.
Une tâche déjà IN_PROGRESS ne peut pas être supprimée : la requête est
rejetée avec 409 Conflict et la tâche continue de s'exécuter. Les crédits d'une tâche
déjà démarrée par le worker ne sont pas remboursables, donc la supprimer en cours
d'exécution vous ferait perdre à la fois les crédits et le résultat. Attendez qu'elle atteigne
SUCCEEDED, FAILED ou CANCELED, puis supprimez-la.
Une tâche dans un état terminal (SUCCEEDED, FAILED ou CANCELED) est supprimée
sans remboursement.
Retourne
Retourne 200 OK en cas de succès, ou 409 Conflict lorsque la tâche est
IN_PROGRESS.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left running:{"message":"Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."}
L'objet Tâche Texte en 3D est une unité de travail que Meshy suit pour générer un modèle 3D à partir d'une entrée textuelle. Il existe deux étapes de l'API Texte en 3D, preview et refine. L'étape preview permet de générer un modèle 3D composé uniquement d'un maillage, et l'étape refine permet de générer un modèle 3D texturé à partir du résultat de l'étape preview.
L'objet possède les propriétés suivantes :
Propriétés
Name
id
Type
string
Description
Identifiant unique de la tâche. Bien que nous utilisions un UUID triable par k pour les identifiants de tâches comme détail d'implémentation, vous ne devez pas faire d'hypothèses sur le format de l'id.
Name
type
Type
string
Description
Type de la tâche Texte en 3D. Les valeurs possibles sont text-to-3d-preview pour les tâches de l'étape preview et text-to-3d-refine pour les tâches de l'étape refine.
Name
model_urls
Type
object
Description
URL téléchargeable vers le fichier de modèle 3D texturé généré par Meshy. La propriété d'un format sera omise si le format n'est pas généré, au lieu de renvoyer 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
usdz
Type
string
Description
URL téléchargeable vers le fichier USDZ.
Name
obj
Type
string
Description
URL téléchargeable vers le fichier OBJ.
Name
mtl
Type
string
Description
URL téléchargeable vers le fichier MTL.
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
prompt
Type
string
Description
Il s'agit du prompt non modifié qui a été utilisé pour créer la tâche.
Name
negative_prompt
Type
string
⚠ obsolète
Description
Conservé pour la compatibilité ascendante. Ce champ n'a aucun impact fonctionnel sur les modèles générés.
Name
art_style
Type
string
⚠ obsolète
Description
Le art_style non modifié qui a été utilisé pour créer la tâche preview. Non prise en charge par Meshy-6.
Name
texture_richness
Type
string
⚠ obsolète
Description
Conservé pour la compatibilité ascendante. Ce champ n'a aucun impact fonctionnel sur les modèles générés.
Name
texture_prompt
Type
string
Description
Prompt textuel supplémentaire fourni pour guider le processus de texturation pendant l'étape refine.
Name
ultra_mode
Type
boolean
⚠ obsolète
Description
Obsolète ; utilisez plutôt geometry_resolution.
Name
geometry_resolution
Type
string
Description
Le niveau Ultra sur lequel la tâche preview a été exécutée (2k ou 4k) ; omis pour standard.
Name
texture_image_url
Type
string
Description
URL téléchargeable vers l'image de texture utilisée pour guider le processus de texturation.
Name
thumbnail_url
Type
string
Description
URL téléchargeable vers l'image miniature du fichier de modèle.
Name
alpha_thumbnail_url
Type
string
Description
URL téléchargeable vers une version à fond transparent (RGBA) de thumbnail_url. Présent uniquement lorsque la tâche a été créée avec alpha_thumbnail: true et que l'aperçu transparent a été rendu avec succès ; sinon, ce champ est omis.
Name
video_url
Type
string
⚠ obsolète
Description
URL téléchargeable vers la vidéo d'aperçu. Sera supprimé dans une future version.
Name
progress
Type
integer
Description
Progression de la tâche. Si la tâche n'a pas encore démarré, cette propriété sera 0. Une fois la tâche réussie, elle deviendra 100.
Name
started_at
Type
timestamp
Description
Horodatage du démarrage de la tâche, en millisecondes. Si la tâche n'a pas encore démarré, cette propriété sera 0.
Un horodatage représente le nombre de millisecondes écoulées depuis le 1er janvier 1970 UTC, conformément
à la norme RFC 3339.
Par exemple, le vendredi 1er septembre 2023 à 12:00:00 GMT est représenté par 1693569600000. Cela s'applique
à tous les horodatages de l'API Meshy.
Name
created_at
Type
timestamp
Description
Horodatage de la création 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 des suivantes : PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Un tableau d'objets URL de texture générés à partir de la tâche. Normalement, celui-ci ne contient qu'un seul objet URL de texture. Chaque URL de texture possède 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 si ai_model est meshy-6-lite, cette propriété sera omise.
Name
preceding_tasks
Type
integer
Description
Le nombre de tâches précédentes.
La valeur de ce champ n'a de sens que si le statut de la tâche est PENDING.
Name
task_error
Type
object
Description
Détails de l'erreur pour les tâches ayant échoué. Consultez 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. Renvoie 0 pour les tâches FAILED (les crédits sont remboursés en cas d'échec).
Example Text to 3D Task Object
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"text-to-3d-preview","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=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"prompt":"a monster mask","texture_prompt":"green slimy skin with scales and warts","texture_image_url":"","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"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":20}