Référence API
Modèles 3D
Modèles sur cet endpoint (1)
/v1/model3d/tasks/v1/model3d/tasks/{task_id}Génération 3D asynchrone et post-traitement. Un seul champ, operation, détermine ce que fait la tâche : créer un modèle à partir de texte, d'une image ou de plusieurs vues, puis le texturer, le segmenter, le retopologiser ou le rigger. La soumission renvoie un task_id ; interrogez-le jusqu'à ce que l'URL du modèle apparaisse dans le corps de la tâche.
#Paramètres de la requête
modelstringobligatoireUn ID de modèle 3D issu du catalogue, par ex. tripo-3d.
operationstringobligatoiretext_to_model · image_to_model · multiview_to_model · texture · smart_segment · retopology · rig · animate.
promptstringfacultatifCe qu'il faut créer. Utilisé par text_to_model.
inputstringfacultatifUne URL d'image publique pour image_to_model, ou le task_id d'un modèle 3D terminé pour texture, smart_segment, retopology, rig et animate.
inputsobject[]facultatifmultiview_to_model : [{"front": url}, {"left": url}, …] — une vue de face plus au moins une autre.
texturebooleanfacultatifGénère aussi les textures avec le modèle.
pbrbooleanfacultatifGénère des matériaux PBR.
texture_promptobjectfacultatiftexture : {"text": "weathered bronze"} décrit la nouvelle surface.
face_limitintegerfacultatifretopology : nombre maximal de faces du résultat.
quadbooleanfacultatifretopology : maillage en quads au lieu de triangles.
animationstringfacultatifanimate : l'animation à appliquer à un modèle riggé.
#Erreurs associées
- 404 not_foundtask_id inconnu, ou la tâche d'entrée d'une étape suivante n'existe pas ou n'est pas terminée.
- 401Jeton bearer invalide ou manquant. Pas de error.code sur ce chemin — basez-vous sur le statut.
- 402 insufficient_user_quotaLe solde du portefeuille ne couvre pas l'estimation préréservée.
- 429Limitation par clé. Corps vide ; attendez Retry-After. Un 429 qui contient insufficient_user_quota correspond en revanche à un plafond de dépenses quotidien.
- 503 model_not_foundModèle inconnu, ou aucun canal opérationnel ne le sert actuellement.
#Exemple de requête
# 1. make a model from text
curl https://www.aisplice.store/v1/model3d/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "tripo-3d", "operation": "text_to_model", "prompt": "A small ceramic fox", "texture": true}'
# 2. poll until status is completed; the file is in url
curl https://www.aisplice.store/v1/model3d/tasks/$TASK_ID -H "Authorization: Bearer sk-YOUR_KEY"
# 3. texture it: pass the finished task_id as input
curl https://www.aisplice.store/v1/model3d/tasks \
-H "Authorization: Bearer sk-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "tripo-3d", "operation": "texture", "input": "'$TASK_ID'", "texture_prompt": {"text": "weathered bronze"}}'#Réponse
// POST /v1/model3d/tasks
{"task_id": "task_xxx", "status": "queued"}
// GET /v1/model3d/tasks/{task_id} — after completion
{"task_id": "task_xxx", "status": "completed", "url": "https://…/model.glb", "output": {"model_url": "https://…/model.glb"}}Toujours bloqué ?
Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.