# Meshy 7 API Référence complète de l’API des modèles de génération 3D Meshy 7. ## Variantes du modèle | Modèle | Description | | -------------------------- | -------------------------------------------------- | | `meshy-v7-text-to-3d` | Génère un modèle 3D à partir d’une description textuelle | | `meshy-v7-image-to-3d` | Génère un modèle 3D à partir d’une seule image | | `meshy-v7-multiview-to-3d` | Génère un modèle 3D à partir de plusieurs images de référence | ## Points de terminaison ```text POST /api/v1/3d/task GET /api/v1/3d/{task_id} ``` ## Meshy 7 : du texte à la 3D ### Paramètres obligatoires | Paramètre | Type | Description | | ------------ | ------ | -------------------------------------------- | | `model_name` | string | Doit être `meshy-v7-text-to-3d` | | `prompt` | string | Description textuelle du modèle 3D à générer. 1–600 caractères | ### Paramètres facultatifs | Paramètre | Type | Description | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | Topologie après remaillage : `triangle` ou `quad`. Valeur par défaut : `triangle` | | `target_polycount` | integer | Nombre de polygones visé après remaillage. Plage : 100–300000. Valeur par défaut : 30000 | | `remesh` | boolean | Indique s’il faut régénérer le maillage. Valeur par défaut : `true` | | `symmetry_mode` | string | Mode de symétrie : `off`, `auto` ou `on`. Valeur par défaut : `auto` | | `pose_mode` | string | Pose humanoïde : `a-pose` ou `t-pose`. Aucune pose n’est spécifiée par défaut | | `pbr` | boolean | Indique s’il faut générer des textures de matériaux PBR. Valeur par défaut : `false` | | `texture_prompt` | string | Description textuelle guidant la génération des textures. Maximum 600 caractères | | `texture_image` | string | URL de l’image de référence guidant la génération des textures | | `seed` | integer | Graine aléatoire. Valeur par défaut : `-1`, qui génère un résultat aléatoire | ### Exemple de requête ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'meshy-v7-text-to-3d', prompt: 'A stylized red panda explorer wearing a small canvas backpack', topology: 'quad', remesh: true, symmetry_mode: 'auto', pose_mode: 'a-pose', pbr: true, texture_prompt: 'Hand-painted fur and weathered canvas with warm autumn colors', texture_image: 'https://example.com/red-panda-texture.png', }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Meshy 7 : de l’image à la 3D ### Paramètres obligatoires | Paramètre | Type | Description | | ------------ | ------ | ------------------------------------------ | | `model_name` | string | Doit être `meshy-v7-image-to-3d` | | `image_url` | string | URL de l’image d’entrée accessible publiquement | ### Paramètres facultatifs | Paramètre | Type | Description | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | Topologie après remaillage : `triangle` ou `quad`. Valeur par défaut : `triangle` | | `target_polycount` | integer | Nombre de polygones visé après remaillage. Plage : 100–300000. Valeur par défaut : 30000 | | `remesh` | boolean | Indique s’il faut régénérer le maillage. Valeur par défaut : `true` | | `symmetry_mode` | string | Mode de symétrie : `off`, `auto` ou `on`. Valeur par défaut : `auto` | | `pose_mode` | string | Pose humanoïde : `a-pose` ou `t-pose`. Valeur par défaut : `a-pose` | | `pbr` | boolean | Indique s’il faut générer des textures de matériaux PBR. Valeur par défaut : `false` | | `texture_prompt` | string | Description textuelle guidant la génération des textures. Maximum 600 caractères | | `texture_image` | string | URL de l’image de référence guidant la génération des textures | ### Exemple de requête ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'meshy-v7-image-to-3d', image_url: 'https://example.com/ceramic-lamp.png', topology: 'triangle', remesh: true, symmetry_mode: 'auto', pose_mode: 'a-pose', pbr: true, texture_prompt: 'Glazed blue ceramic with subtle gold details', texture_image: 'https://example.com/ceramic-reference.png', }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Meshy 7 : de plusieurs vues à la 3D ### Paramètres obligatoires | Paramètre | Type | Description | | ------------ | -------- | ------------------------------------------------ | | `model_name` | string | Doit être `meshy-v7-multiview-to-3d` | | `images` | string[] | De 1 à 4 URL d’images de référence. Aucun ordre des vues n’est requis | ### Paramètres facultatifs | Paramètre | Type | Description | | ------------------ | ------- | ---------------------------------------------------------------------- | | `topology` | string | Topologie après remaillage : `triangle` ou `quad`. Valeur par défaut : `triangle` | | `target_polycount` | integer | Nombre de polygones visé après remaillage. Plage : 100–300000. Valeur par défaut : 30000 | | `remesh` | boolean | Indique s’il faut régénérer le maillage. Valeur par défaut : `true` | | `symmetry_mode` | string | Mode de symétrie : `off`, `auto` ou `on`. Valeur par défaut : `auto` | | `pose_mode` | string | Pose humanoïde : `a-pose` ou `t-pose`. Aucune pose n’est spécifiée par défaut | | `pbr` | boolean | Indique s’il faut générer des textures de matériaux PBR. Valeur par défaut : `false` | | `texture_prompt` | string | Description textuelle guidant la génération des textures. Maximum 600 caractères | | `texture_image` | string | URL de l’image de référence guidant la génération des textures | ### Exemple de requête ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/task', { method: 'POST', headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json', }, body: JSON.stringify({ model_name: 'meshy-v7-multiview-to-3d', images: [ 'https://example.com/chair-front.png', 'https://example.com/chair-side.png', 'https://example.com/chair-back.png', ], topology: 'quad', remesh: true, symmetry_mode: 'auto', pbr: true, texture_prompt: 'Natural walnut wood and woven cream fabric', texture_image: 'https://example.com/chair-material-reference.png', }), }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Format de la réponse ### Soumission de la tâche ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/3d/{task_id}", "task_status": "submitted" } } ``` ### Consultation de l’état de la tâche ```javascript const response = await fetch('https://api.flaq.ai/api/v1/3d/{task_id}', { headers: { Authorization: 'Bearer YOUR_API_KEY' }, }); const { data } = await response.json(); console.log(data.task_status); ``` ### Tâche terminée ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/3d/{task_id}", "task_status": "succeed", "task_status_msg": null, "task_result": { "credit": 0.2, "files": [{ "url": "https://example.com/generated-model.glb" }] } } } ``` ### Valeurs d’état de la tâche - `submitted`: La tâche a été soumise. - `processing`: La tâche est en cours de traitement. - `succeed`: La tâche s’est terminée avec succès. - `failed`: La tâche a échoué.