1. Genera el GLB
Envía una tarea de imagen con una URL de imagen pública. La respuesta es asíncrona, así que conserva el ID de tarea devuelto.
export TO3D_KEY='YOUR_API_KEY'
export TO3D_IMAGE_URL='https://example.com/prop-or-character.jpg'
TASK_JSON=$(curl --fail-with-body --silent --show-error \
https://api.to3d.app/api/trellis/tasks \
-H "x-api-key: $TO3D_KEY" \
-H 'Content-Type: application/json' \
-d "$(jq -cn --arg image "$TO3D_IMAGE_URL" \
'{task_type:"image-to-3d",input:{image:$image}}')")
TASK_ID=$(jq -er '.id' <<<"$TASK_JSON")Consulta y guarda el GLB
Consulta hasta que la tarea tenga éxito y guarda la URL de `output.model_file`. No describas la consulta como una segunda solicitud de generación.
curl --fail-with-body --silent --show-error \
"https://api.to3d.app/api/trellis/tasks/$TASK_ID" \
-H "x-api-key: $TO3D_KEY" | jq '{id,status,output,error}'
MODEL_URL=$(curl --fail-with-body --silent --show-error \
"https://api.to3d.app/api/trellis/tasks/$TASK_ID" \
-H "x-api-key: $TO3D_KEY" | jq -er '.output.model_file')
curl --fail --location --silent --show-error "$MODEL_URL" --output unreal-candidate.glb2. Pide nombres de huesos UE5 cuando necesites un rig humanoide
Sube o aloja el GLB descargado en una URL pública y envía la solicitud independiente de Skin Tokens. Consulta `/api/skin_tokens/tasks/$RIG_ID` y descarga el `output.model_file` devuelto cuando tenga éxito. No describas las dos llamadas como una sola conversión automática.
export TO3D_MODEL_URL='https://example.com/unreal-candidate.glb'
RIG_JSON=$(curl --fail-with-body --silent --show-error \
https://api.to3d.app/api/skin_tokens/tasks \
-H "x-api-key: $TO3D_KEY" \
-H 'Content-Type: application/json' \
-d "$(jq -cn --arg model "$TO3D_MODEL_URL" \
'{task_type:"rig",input:{model:$model,bone_names:"ue5"}}')")
RIG_ID=$(jq -er '.id' <<<"$RIG_JSON")
printf 'Rig task: %s\n' "$RIG_ID"3. Verifica el lado de Unreal
Importa el GLB con el importador y los plugins que use tu proyecto. Comprueba las unidades y la orientación del asset, las referencias de materiales y texturas, la jerarquía del esqueleto, la pose de enlace y el comportamiento de la animación o del retargeting.
- El valor `ue5` es una opción de nombres de huesos de la API.
- #56 no hizo una prueba de aceptación de importación o retargeting en Unreal, por lo que este tutorial no puede prometer un esqueleto de Unreal listo, configuración de colisiones, LOD ni animación de juego.
Usa las muestras como referencias de estructura
Las cuatro muestras públicas inspeccionadas para #56 contenían una skin, articulaciones, pesos, UV y una textura PNG incrustada. Úsalas para entender la forma del archivo que puedes recibir; revisa cada nueva generación como un asset independiente.
- Si el objetivo es un prop estático, omite la solicitud de rig y valida la escala y los materiales.