1. Отправьте URL JPEG
Отправьте задачу изображения с общедоступным URL JPEG. Сохраните возвращённый ID и не создавайте другую задачу, пока эта обрабатывается.
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"Опросите и скачайте GLB
Опросите задачу, не создавая новую. После успеха сохраните возвращённый URL модели и скачайте 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. Проверьте файл до добавления в AR-viewer
Сначала откройте `product.glb` в viewer с поддержкой GLB. Проверьте, подходят ли для сцены силуэт продукта, видимые материалы, UV и текстура. Задайте реальный масштаб в собственном конвейере: один JPEG не определяет размеры.
- Если AR-цели нужен другой формат или специальный якорь платформы, выполните и протестируйте преобразование в целевой цепочке инструментов.
3. Проверьте на целевом устройстве
Запустите viewer на поддерживаемых телефонах, в браузерах или гарнитурах. Проверьте размер загрузки, освещение, разрешение текстур, положение камеры, окклюзию, взаимодействие и частоту кадров.
- #56 не проверял вывод USDZ, физический масштаб, AR-якоря или какое-либо AR-устройство. Поэтому статья описывает воспроизводимый начальный процесс, а не утверждает, что JPEG автоматически становится откалиброванным AR-asset продукта.
Сохраняйте границы доказательств по образцам
Четыре общедоступных образца GLB дают примеры структуры со встроенными PNG-текстурами, UV, суставами и весами skinning. Для модели продукта риг может не понадобиться; используйте Skin Tokens только если объекту нужен скелет.
- Храните исходный JPEG, ID API-задачи, скачанный GLB и любой преобразованный AR-asset вместе, чтобы позднее связать проблему вида или масштаба с правильным шагом.