L’ API Neural4D fournit aux développeurs un accès programmatique au moteur Direct3D-S2 (NeurIPS 2025). Ce moteur génère des maillages étanches directement à partir de prompts texte ou image, en contournant les workflows traditionnels de sculpture polygonale. L’algorithme central utilise un mécanisme Spatial Sparse Attention (SSA) pour atteindre une haute fidélité géométrique et produire des maillages propres à dominante quadrilatérale jusqu’à une résolution voxel de 2048³.
L’API Neural4D est une interface REST indépendante du langage, ce qui signifie qu’elle peut être intégrée à toute application logicielle automatisée au moyen de requêtes HTTP (Node.js, C#, Python, etc.). Avant de commencer, veillez à obtenir votre clé API Neural4D. L’API sépare la génération du maillage de base du calcul des cartes de texture. La création du maillage de base prend environ 90 secondes. Vous pouvez découvrir comment l’implémenter dans une API de génération de modèles 3D en Python ou une intégration générique d’ API texte vers 3D . Voici ci-dessous un exemple d’intégration avec Python :
import requests
import time
API_KEY = "your_api_key_here"
GENERATE_URL = "https://alb.neural4d.com:3000/api/generateModelWithText"
RETRIEVE_URL = "https://alb.neural4d.com:3000/api/retrieveModel"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json;charset=utf-8"
}
# Generate a watertight mesh with clean topology
payload = {
"prompt": "mechanical gear, industrial grade, quad-dominant",
"modelCount": 1,
"disablePbr": 0
}
response = requests.post(GENERATE_URL, json=payload, headers=headers)
data = response.json()
uuids = data.get("uuids", [])
if not uuids:
print("Failed to start generation.")
else:
target_uuid = uuids[0]
print(f"Task created with UUID: {target_uuid}. Processing mesh generation...")
# Polling for task status (Base mesh: ~90s, Textures: ~30s additional)
while True:
status_resp = requests.post(RETRIEVE_URL, json={"uuid": target_uuid}, headers=headers)
result = status_resp.json()
code_status = result.get("codeStatus")
if code_status == 0:
print(f"Generation successful. Download GLB at: {result.get('modelUrl')}")
break
elif code_status in [-1, -2, -3]:
print(f"Generation failed. Status Code: {code_status}")
break
time.sleep(10)
Le même jeton Bearer donne aussi accès aux endpoints de génération de médias. Les tâches
d’image et de vidéo
acceptent un prompt texte avec jusqu’à six images de référence, soumettent un à quatre jobs
par requête
et utilisent multipart/form-data pour les téléversements au lieu de application/json. Vous
interrogez le résultat
avec l’endpoint queryGenerationResult , qui renvoie une URL de téléchargement
une fois que
la tâche atteint le statut completed .
| Endpoint | Objectif | Paramètres clés |
|---|---|---|
| /api/createNormalPicture | Générer des images à partir d’un prompt texte avec des images de référence facultatives | prompt, images (jusqu’à 6), modelKey (image-2 par défaut), aspectRatio (1:1, 16:9, 9:16, 4:3, 3:4), jobNum (1 à 4) |
| /api/createNormalVideo | Générer des vidéos à partir d’un prompt texte avec des images de référence facultatives | prompt, images (jusqu’à 6), aspectRatio (16:9 par défaut), duration (4 à 15 s, 5 par défaut), resolution (480p, 720p, 1080p, 720p par défaut), jobNum (1 à 4) |
| /api/queryGenerationResult | Interroger le résultat d’une tâche d’image ou de vidéo par UUID | uuid ; renvoie data.status (completed, queued, processing, failed), data.resultType (image, video), data.resultUrl |
Interrogez queryGenerationResult avec l’UUID renvoyé par l’endpoint de création
jusqu’à ce que
data.status devienne completed, puis téléchargez le fichier depuis
data.resultUrl. Contrairement à la génération, cette requête ne consomme pas de
points.
Utilisez les paramètres de requête ci-dessous pour personnaliser les sorties de génération de maillage et de texture. Pour les configurations avancées et les détails des endpoints, veuillez consulter la documentation officielle de référence de l’API generateModelWithText.
| Paramètre | Type | Description et plage |
|---|---|---|
| prompt | String | La description du modèle 3D. Soyez précis sur les caractéristiques géométriques (par ex. étanche, majoritairement en quads). |
| modelCount | Integer | Le nombre de modèles prévu pour la génération. La valeur par défaut est 4. |
| disablePbr | Integer | Bascule de la fonctionnalité PBR. 0 = PBR activé, 1 = PBR désactivé. La valeur par défaut est 0. |
| onlyGenerateMesh | Boolean | Génère uniquement un maillage de base, sans textures PBR. La valeur par défaut est false. |
| mesh_quality | String | Niveau de densité du maillage : standard, high ou extra_high. La valeur par défaut est high. |
| faceNum | Integer | Nombre de faces cible. Pour la qualité standard, de 100 000 à 500 000 (valeur par défaut 500 000). Pour high et extra_high, de 500 000 à 1 000 000 (valeur par défaut 1 000 000). |
L’intégration de l’API de génération 3D dans les pipelines des développeurs prend en charge plusieurs secteurs. Vous pouvez en savoir plus sur son impact dans notre article sur pourquoi votre prochain projet a besoin d’une API Image vers 3D:
Besoin d’aide supplémentaire ? Si vous avez des questions ou rencontrez des problèmes lors de l’intégration, vous pouvez envoyer vos retours en ligne à Neural4D Feedback ou contacter notre équipe technique par e-mail à support@neural4d.com.