Référence API

Modèles 3D

Modèles sur cet endpoint (1)

L'essayer dans le Workbench
POST/v1/model3d/tasks
GET/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

  • modelstringobligatoire

    Un ID de modèle 3D issu du catalogue, par ex. tripo-3d.

  • operationstringobligatoire

    text_to_model · image_to_model · multiview_to_model · texture · smart_segment · retopology · rig · animate.

  • promptstringfacultatif

    Ce qu'il faut créer. Utilisé par text_to_model.

  • inputstringfacultatif

    Une 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[]facultatif

    multiview_to_model : [{"front": url}, {"left": url}, …] — une vue de face plus au moins une autre.

  • texturebooleanfacultatif

    Génère aussi les textures avec le modèle.

  • pbrbooleanfacultatif

    Génère des matériaux PBR.

  • texture_promptobjectfacultatif

    texture : {"text": "weathered bronze"} décrit la nouvelle surface.

  • face_limitintegerfacultatif

    retopology : nombre maximal de faces du résultat.

  • quadbooleanfacultatif

    retopology : maillage en quads au lieu de triangles.

  • animationstringfacultatif

    animate : 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.

Table complète des codes d'erreur →

#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

response.json
// 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.