Referencia de la API
Modelos 3D
/v1/model3d/tasks/v1/model3d/tasks/{task_id}Generación y posprocesamiento 3D asíncronos. Un campo, operation, elige qué hace la tarea: crear un modelo a partir de texto, una imagen o varias vistas, y luego texturizarlo, segmentarlo, retopologizarlo o hacerle rigging. El envío devuelve un task_id; consúltalo hasta que la URL del modelo llegue en el cuerpo de la tarea.
#Parámetros de la solicitud
modelstringobligatorioUn ID de modelo 3D del catálogo, p. ej. tripo-3d.
operationstringobligatoriotext_to_model · image_to_model · multiview_to_model · texture · smart_segment · retopology · rig · animate.
promptstringopcionalQué crear. Lo usa text_to_model.
inputstringopcionalUna URL pública de imagen para image_to_model, o el task_id de un modelo 3D terminado para texture, smart_segment, retopology, rig y animate.
inputsobject[]opcionalmultiview_to_model: [{"front": url}, {"left": url}, …] — una vista frontal y al menos otra más.
texturebooleanopcionalGenera texturas junto con el modelo.
pbrbooleanopcionalGenera materiales PBR.
texture_promptobjectopcionaltexture: {"text": "weathered bronze"} describe la nueva superficie.
face_limitintegeropcionalretopology: el número máximo de caras que puede tener el resultado.
quadbooleanopcionalretopology: malla de cuadriláteros en lugar de triángulos.
animationstringopcionalanimate: la animación que se aplicará a un modelo con rigging.
#Errores relacionados
- 404 not_foundtask_id desconocido, o la tarea de entrada de un paso posterior no existe o no ha terminado.
- 401Bearer token no válido o ausente. Esta ruta no tiene error.code — compara por el estado.
- 402 insufficient_user_quotaEl saldo de la billetera no cubre la estimación reservada previamente.
- 429Limitación por clave. Cuerpo vacío; espera el Retry-After. Un 429 que sí incluye insufficient_user_quota indica en cambio un límite de gasto diario.
- 503 model_not_foundModelo desconocido, o ningún canal sano lo atiende ahora mismo.
#Ejemplo de solicitud
# 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"}}'#Respuesta
// 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"}}¿Sigues con el problema?
Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.