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
textPOST /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
javascriptconst 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
javascriptconst 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
javascriptconst 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
javascriptconst 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é.