Referencia de la API

Modelos 3D

POST/v1/model3d/tasks
GET/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

  • modelstringobligatorio

    Un ID de modelo 3D del catálogo, p. ej. tripo-3d.

  • operationstringobligatorio

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

  • promptstringopcional

    Qué crear. Lo usa text_to_model.

  • inputstringopcional

    Una 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[]opcional

    multiview_to_model: [{"front": url}, {"left": url}, …] — una vista frontal y al menos otra más.

  • texturebooleanopcional

    Genera texturas junto con el modelo.

  • pbrbooleanopcional

    Genera materiales PBR.

  • texture_promptobjectopcional

    texture: {"text": "weathered bronze"} describe la nueva superficie.

  • face_limitintegeropcional

    retopology: el número máximo de caras que puede tener el resultado.

  • quadbooleanopcional

    retopology: malla de cuadriláteros en lugar de triángulos.

  • animationstringopcional

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

Tabla completa de códigos de error →

#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

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"}}

¿Sigues con el problema?

Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.