1. Envoyer l’URL JPEG
Envoyez une tâche image avec une URL JPEG publique. Conservez l’identifiant renvoyé et ne créez pas une autre tâche pendant son traitement.
export TO3D_KEY='YOUR_API_KEY'
export TO3D_IMAGE_URL='https://example.com/product.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")
printf 'Task: %s\n' "$TASK_ID"Interroger et télécharger le GLB
Interrogez sans créer de tâche supplémentaire. Lorsque la tâche réussit, enregistrez l’URL du modèle renvoyée et téléchargez le GLB.
while :; do
STATUS_JSON=$(curl --fail-with-body --silent --show-error \
"https://api.to3d.app/api/trellis/tasks/$TASK_ID" \
-H "x-api-key: $TO3D_KEY")
STATUS=$(jq -er '.status' <<<"$STATUS_JSON")
case "$STATUS" in
succeeded) jq -er '.output.model_file' <<<"$STATUS_JSON" > model-url.txt; break ;;
failed|canceled) jq '{id,status,error}' <<<"$STATUS_JSON" >&2; exit 1 ;;
pending|processing) sleep 5 ;;
*) printf 'Unexpected status: %s\n' "$STATUS" >&2; exit 1 ;;
esac
done
curl --fail --location --silent --show-error \
"$(cat model-url.txt)" --output product.glb
[ "$(head -c 4 product.glb)" = 'glTF' ]2. Inspecter avant de l’ajouter à un viewer AR
Ouvrez d’abord `product.glb` dans un viewer compatible GLB. Vérifiez que la silhouette du produit, les matériaux visibles, les UV et la texture conviennent à votre scène. Définissez une échelle réelle dans votre pipeline ; un seul JPEG ne fournit pas les dimensions.
- Si votre cible AR exige un autre format ou un ancrage propre à la plateforme, effectuez et testez cette conversion dans la chaîne d’outils cible.
3. Valider sur l’appareil cible
Exécutez le viewer sur les téléphones, navigateurs ou casques pris en charge. Vérifiez la taille du téléchargement, l’éclairage, la résolution de texture, le placement de la caméra, l’occlusion, l’interaction et la fréquence d’images.
- Le #56 n’a pas vérifié la sortie USDZ, l’échelle physique, les ancres AR ni aucun appareil AR. Cet article décrit donc un workflow de départ reproductible et ne prétend pas qu’un JPEG devient automatiquement un asset produit AR calibré.
Garder la preuve des samples dans son périmètre
Les quatre GLB publics de sample fournissent des exemples de structure avec des textures PNG intégrées, des UV, des articulations et des poids de skinning. Un modèle produit peut ne pas nécessiter de rig ; ignorez Skin Tokens sauf si l’objet a besoin d’un squelette.
- Conservez ensemble le JPEG original, l’identifiant de tâche API, le GLB téléchargé et tout asset AR converti afin de relier un problème visuel ou d’échelle à la bonne étape.