Your first AR product, in 5 steps.
Follow this once and the path is the same for every model after.
From your first 3D upload to enterprise SSO. If you're stuck, search below or browse by topic, most answers are one click away.
Browse by topic
Sign up, upload your first model and ship the AR button on a product page.
🔌Shopify, WordPress, Wix, BigCommerce, Squarespace and custom HTML.
🧊Configure the viewer, supported formats, hot-spots and variants.
🎯How AI 3D generation works, what photos to send and how to QA results.
📲Take AR offline. Generate QR codes for packaging, print and in-store.
🔧REST API, webhooks, deep links and the iOS/Android SDKs.
📊Read viewer engagement, AR launches and conversion events.
⚙️Plans, limits, invoices, upgrades and team seats.
Follow this once and the path is the same for every model after.
Once your account is active you'll get an account_id and a sandbox API_KEY visible in Settings → Developer.
You have two options:
.glb, .gltf, .usdz, .fbx and .obj (with textures).For best AI results: shoot on a plain background, even lighting, no harsh shadows, and include at least one top-down angle.
If you're on Shopify, WordPress, Wix, BigCommerce or Squarespace, install the Vizbl integration and the button appears automatically. For custom storefronts, paste this snippet onto the product page:
<script type="module" src="https://cdn.vizbl.com/v1/viewer.js"></script> <vizbl-viewer model-id="YOUR_MODEL_ID" ar scale="auto"> <button slot="ar">View in your room</button> </vizbl-viewer>
Open your product page on a phone and tap the AR button, the model should appear at true scale in your room. Once you confirm it works, push to production and watch the Analytics tab for AR launches, dwell time and conversion lift.
Detailed walkthroughs for the most common stacks.
To uninstall, remove the app from Apps in your Shopify admin, the theme block disappears automatically.
[vizbl id="YOUR_MODEL_ID" ar="true"].All three platforms support a custom HTML embed block. The setup is identical:
<script type="module" src="https://cdn.vizbl.com/v1/viewer.js"></script> <vizbl-viewer model-id="YOUR_MODEL_ID" ar> </vizbl-viewer>
Replace YOUR_MODEL_ID with the id from your Vizbl dashboard. Save & publish.
The Vizbl viewer is a Web Component, so it works with any framework that renders HTML.
// React example import { useEffect } from "react"; export default function ProductView({ modelId }) { useEffect(() => { if (document.getElementById("vizbl-loader")) return; const s = document.createElement("script"); s.id = "vizbl-loader"; s.type = "module"; s.src = "https://cdn.vizbl.com/v1/viewer.js"; document.head.appendChild(s); }, []); return <vizbl-viewer model-id={modelId} ar />; }
For Vue and Svelte, register the custom element in your build config (most modern bundlers do this automatically).
The 3D + AR Viewer can be deployed three ways:
view.vizbl.com/m/MODEL_ID. Great for QR codes and email.Combine these with poster= for a static image until the viewer loads, and scale="auto" for true-world dimensions in AR.
Vizbl normalizes everything into a single internal format and serves the right one per device:
.glb / .gltf, used for Web 3D and Android Scene Viewer..usdz, used for iOS Quick Look..fbx, .obj, accepted on upload, converted server-side.Recommended size: under 10 MB after compression. Vizbl applies Draco + KTX2 automatically.
On Growth and Enterprise plans you can override the default colors, button label, font and background of the viewer:
<vizbl-viewer model-id="…" accent="#f97316" background="#ffffff" font="Inter, sans-serif" ar-label="Try at home"> </vizbl-viewer>
Open your model in Studio → Hot-spots to add labelled markers (materials, dimensions, features). They appear on hover in 3D and on tap in AR.
One model can carry many variants. In the dashboard, define variants under Model → Variants and the viewer renders a swatch picker. Variants stay in sync with your e-commerce platform's SKUs.
Vizbl's AI takes 6–12 photos of a product and rebuilds an accurate 3D model. Three stages:
Turnaround is typically a few minutes. You'll get a webhook (model.ready) when it's done.
Every output lands in Studio → Pending review. Approve, request a re-run, or send to a Vizbl artist for human refinement (Growth / Enterprise plans).
QR codes link to view.vizbl.com/m/MODEL_ID. iOS and Android phones launch AR straight from the camera.
Each shared link has its own micro-page. Pick a header image, brand colours, a "Buy" CTA URL, and optional product description. All editable from Studio → Share.
Generate keys in Settings → Developer. Use the sandbox key for dev, the production key for live traffic. Send keys with the header:
Authorization: Bearer $VIZBL_KEY
POST /v1/models, upload a photo set or 3D file.GET /v1/models/:id, read a model's status and URLs.PUT /v1/products/:sku/model, attach a model to a SKU.POST /v1/share-links, generate a public link / QR.GET /v1/analytics/sessions, view sessions, AR launches, dwell time.Full spec at developer.vizbl.com.
Subscribe to model.ready, model.failed, session.completed. Webhooks are signed with HMAC-SHA256 over the raw body using your webhook secret.
The dashboard shows AR launches, viewer engagement (dwell time, rotations), conversion lift on AR-viewed products, and per-model performance. Filter by time range, device or country.
Vizbl emits vizbl_view, vizbl_ar_launch and vizbl_ar_close on the page's data layer. Forward them to GA4, Segment or any analytics tool with a single mapping.
Upgrades happen instantly. Downgrades take effect at the end of the current billing cycle. Visit Settings → Billing → Change plan.
Roles: Owner, Admin, Editor, Viewer. SSO and audit log on Enterprise.
Invoices auto-generate every month and live under Billing → Invoices. Add your VAT/GST id in Settings → Billing → Tax.
Cancel any time from Billing. You keep access until the end of the period. Models stay in your account for 30 days after cancellation.