PIM Sync 3D Plan

Full 3D model pipeline — GLB/USDZ for visual preview, STL/OBJ/3MF for print-on-demand. Bidirectional sync across Shopify, Xano, Cloudflare R2, and Webflow CMS.

Plans

Non-Profit
$29/mo
  • Up to 500 products
  • 5 markets
  • Omnibus compliance
Pro
$69/mo
  • Unlimited products & markets
  • Webflow sync
  • Full compliance
Plus
$325/mo
  • Dedicated infrastructure
  • Background async sync
  • Priority queue
  • Full data isolation
3D
$525/mo
  • Everything in Plus
  • GLB/USDZ visual preview
  • STL/OBJ/3MF print-on-demand
  • R2 CDN storage
  • Shopify MODEL_3D sync
  • Webflow CMS 3D fields
  • Bidirectional pipeline

Feature Comparison

FeatureNon-ProfitProPlus3D
ProductsUp to 500UnlimitedUnlimitedUnlimited
MarketsUp to 5All marketsAll marketsAll markets
Webflow CMS syncBi-directionalBi-directionalBi-directional
3D model pipeline (GLB/USDZ/STL/OBJ/3MF)Full pipeline
Sync processingInlineInlineBackground asyncBackground async
InfrastructureSharedSharedDedicated & isolatedDedicated & isolated
EU Omnibus complianceIncludedIncludedIncludedIncluded
SupportEmailEmailPriority + dedicatedPriority + dedicated

Interactive 3D Viewers

PIM Sync embeds these viewers directly into your Webflow CMS RichText fields. Try them below — paste any model URL to preview.

GLB / GLTF / USDZ

Google Model Viewer 3.5.0

STL / OBJ / 3MF

Three.js r147 + STLLoader

Webflow Setup

Add this one script to your Webflow site's Custom Code → Head Code. The STL viewer iframe is self-contained — no extra scripts needed.

GLB / GLTF / USDZ — Model Viewer

Google's <model-viewer> web component. Interactive 3D preview with auto-rotate, orbit controls, and AR on mobile.

<script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/3.5.0/model-viewer.min.js"></script>

modelviewer.dev →

STL / OBJ / 3MF — Three.js Viewer

Self-hosted Three.js viewer (r147) loaded via iframe. Auto-rotate, orbit controls, grey material, auto-fit bounding box. No extra scripts needed.

pim-sync.pages.dev/stl-viewer.html?url=YOUR_FILE_URL

threejs.org →

Webflow CMS Fields

PIM Sync auto-creates these fields when scaffolding your Webflow collection.

3D Model ViewerRichText — <model-viewer> embed for GLB/GLTF/USDZ
3D Model URLPlainText — GLB/GLTF/USDZ URL from R2 CDN
3D Model Alt TextPlainText — accessible description
3D Print File ViewerRichText — Three.js iframe for STL/OBJ/3MF
3D Print File URLPlainText — STL/OBJ/3MF URL from R2 CDN
Shopify IDPlainText — product GID for cross-platform lookups

File Size Limits & CORS Security

Shopify's MODEL_3D API enforces strict limits and only accepts GLB/USDZ. PIM Sync's R2-backed pipeline lifts those restrictions for headless and Webflow delivery — while keeping CORS locked down.

Shopify Native (MODEL_3D)PIM Sync via R2 CDN
Accepted formatsGLB, USDZ onlyGLB, USDZ, STL, OBJ, 3MF
Max file size500 MB per model5 GB per object (R2 single PUT); 5 TB via multipart
Max product media250 media items total
(images + video + 3D combined)
Unlimited — each file is an R2 object
Max variants × images2,000 variants; 1 media per variantUnlimited — Webflow CMS fields are per-product
3D viewer deliveryShopify-hosted <model-viewer>
(PDP only, Shopify theme)
Any origin — Webflow, headless, custom storefront
Print file hostingNot supported — STL/OBJ/3MF rejected by APIFull hosting on R2 with download URL

CORS Security Model

Cloudflare R2 — CORS rules scoped per bucket. Only allowed origins can fetch 3D files directly; all others are blocked. This prevents hotlinking and unauthorized embedding.

Shopify CDN — Serves MODEL_3D assets from cdn.shopify.com with permissive CORS (Access-Control-Allow-Origin: *). Anyone who has the URL can embed the file.

PIM Sync STL Viewer — Self-hosted iframe at pim-sync.pages.dev. The iframe fetches the R2 URL server-side, so the end-user's browser never makes a cross-origin request to R2. This isolates the 3D rendering sandbox from your main site DOM.

Publishing Access Summary

Shopify PDP — GLB/USDZ only. Rendered in Shopify's native <model-viewer> on product detail pages. AR supported on mobile. Files served from Shopify CDN (public URL, no auth).

Webflow CMS — All 5 formats (GLB/USDZ/STL/OBJ/3MF). RichText fields embed viewers; PlainText fields expose download URLs. CORS controlled by R2 bucket policy.

Headless / Custom — R2 URLs are accessible to any origin you whitelist. Use the 3D Model URL or 3D Print File URL fields from Xano's API to build custom viewers.

Security benefit — R2 bucket CORS + Cloudflare WAF means you control who can embed or download your 3D assets. Unlike Shopify's public CDN URLs, R2 URLs can be restricted to your domains only.

Bidirectional Pipeline

The 3D plan completes the full round-trip: upload a model anywhere, and it syncs everywhere.

Shopify Admin (upload GLB/USDZ)
    │ Pull 3D from Shopify
    ▼
Xano Table 166 (metadata: src, src_r2, alt, position)
    │ Upload to R2
    ▼
Cloudflare R2 (assets/3d/{handle}/{file}.glb)
    │
    ├──▶ Push Images to Shopify ──▶ Shopify PDP (<model-viewer> native + AR)
    │
    └──▶ Webflow Sync ──▶ Webflow CMS
                              ├─ 3D Model Viewer (RichText: <model-viewer>)
                              ├─ 3D Print File Viewer (RichText: Three.js iframe)
                              └─ URL + Alt Text fields