Lusion docs
Publish 3D models and share them with a QR code. Guests open the link without installing a Lusion app. This guide takes you from your first upload to checking the result on a phone.
Overview
Lusion is a WebAR publishing platform for food and product (object) models.
- Sign in and upload a prepared model: GLB for browser 3D and Android, USDZ for iPhone AR. A USDZ published on its own is converted to GLB automatically.
- Publish the model, thumbnail, and details you want guests to see.
- Share a QR code or link.
- Guests view it in their browser, then open Quick Look or Scene Viewer when their phone and the uploaded format support AR.
Live site: lusion.app. Operators can check backend initialization at /health. A healthy response does not verify sign-in, file transfers, or phone AR. Complete a real upload and device check before your first demo.
Quality bar
Capture every side of the object, publish a GLB ≤ 12 MB, and check its textures, orientation, and real-world scale on a supported mid-range Android phone. Add a USDZ ≤ 12 MB and check Quick Look on an iPhone or iPad.
The upload form labels binary file sizes as MB: the model limit is exactly 12 MiB (12,582,912 bytes) per GLB or USDZ. Thumbnails may be up to 5 MiB (5,242,880 bytes) and 25 megapixels.
Smaller files, around 2–6 MB, are a useful starting target for menus. File size alone does not guarantee quality or loading speed; check your actual model on the intended phone and network. Guests never need a particular phone model to view a published model; scanning with Lusion's own capture app needs a LiDAR-equipped iPhone Pro (see Prepare models).
Quick start (full run)
Printable checklist for your first end-to-end test.
Preflight
- You can open /login and sign in
- You have a GLB ≤ 12 MB (and ideally USDZ ≤ 12 MB)
- Optional thumbnail image ≤ 5 MB
- A supported Android phone with its AR services available, and/or an iPhone or iPad using Safari
Run
- Sign in at /login with email and password or Google
- Dashboard → Models → New Model (or Upload Model)
- Fill name, category, optional description/price, capture mode
- Attach a GLB for browser 3D and Android, plus an optional USDZ and thumbnail
- Choose Upload Model and keep the page open through verification and publishing
- For a GLB, open Preview 3D / AR on desktop and rotate the model
- Show QR from the model actions; scan on a phone
- On iPhone or iPad with a USDZ, tap Open in Quick Look
- Refresh Analytics and confirm new recorded events after opens
Pass criteria
- Guests can open the shared model without logging in
- A GLB loads correctly in Scene Viewer on your supported Android test phone
- A USDZ opens in Quick Look on your iPhone or iPad test device, when supplied
- The QR link opens the correct model on a second device at a suitable scale
Sign in
Open /login. Use email and password, or choose Google.
- Google uses a popup, with a full-page redirect fallback when popups are blocked or unsupported.
- After sign-in, you should arrive at the dashboard overview.
- If sign-in fails, keep the error message and try again before starting an upload.
New accounts: /register. Passwords must be at least 8 characters.
Upload a model
Path: Dashboard → New Model.
Supply at least one model file. Choose both GLB and USDZ if you want browser 3D, Android AR, and iPhone Quick Look. The form shows each selected file and its size before you publish.
| Field | Required | Notes |
|---|---|---|
| Name | Yes | Dish or product name |
| GLB file | For browser 3D and Android | ≤ 12 MB — one GLB or USDZ is required |
| USDZ file | For iPhone and iPad Quick Look | ≤ 12 MB — may be published on its own; a GLB is then converted automatically |
| Thumbnail | No | PNG/JPG/WebP ≤ 5 MB and 25 megapixels |
| Capture mode | No | Turntable, Orbit, or Other |
After upload, the model appears in Models. The GLB + USDZ label means both files are present; One format means only one is attached. These labels describe the attached files, not a passed device test. GLB-only models support browser 3D and compatible Android AR. A USDZ-only model opens in iPhone/iPad Quick Look straight away; a scheduled server job then converts it to a GLB for browser 3D and Android, usually within minutes, and the library shows USDZ · GLB converting meanwhile. If it shows USDZ · GLB conversion failed, upload the model again with a GLB you exported yourself.
Published files and model details are public to anyone with the link. Upload only content you have permission to share.
To update a published name, description, category, or price label, open the model's actions and choose Edit details. Save your changes to update the public details. The model files, link, and QR code stay the same.
Progress, cancellation, and retry
- Keep the upload page open until it returns you to Models after publishing.
- Cancel upload is available while files are transferring. Your selections remain on the page so you can restart when ready.
- Once verification and publishing begins, cancellation is unavailable. Closing the page does not undo a publication that has already completed.
- If the result cannot be confirmed, use Retry publishing on that page to check the same publication, or Check model library to look for it. Avoid starting a new upload until you know whether the original succeeded.
- If Lusion confirms that the upload expired, your file selections are kept and you can start again.
- If your sign-in ends while publishing, Lusion first tries to restore it and retry by itself. Otherwise choose Sign in again: after signing in you return to the upload page in the same browser tab and can retry the same publication without transferring the files again.
For a file or size rejection, read the message, correct the selected file, and try again.
Preview & AR
From the models list actions (or open the URLs directly):
- Preview 3D / AR —
/ar/<id>. With a GLB, drag to rotate in the browser. On a supported phone, tap View in your space to try AR. A USDZ-only model shows its Quick Look link instead. - Smart AR link —
/ar-start/<id>chooses a viewing path for the device and uploaded files. On iPhone or iPad with a USDZ, tap Open in Quick Look on the launch page. Compatible Android phones open Scene Viewer for a GLB; other devices retain browser 3D when a GLB is present.
Guests do not need an account. Only the QR or smart link is required.
Native AR needs compatible phone hardware, browser support, and the device's AR services. Desktop browsers provide 3D viewing, not placement in your room. Test the specific phones your guests will use rather than treating a format label as universal compatibility.
Public showcase examples: /ar/meze, /ar/baklava, /ar/kebap.
QR codes
In the models table, open Show QR code, or open /qr/<id> directly (PNG image).
The QR encodes the smart AR URL (/ar-start/<id>). Print it on menus or show it on a screen for guests to scan.
Analytics
Open Dashboard → Analytics.
Analytics shows recorded smart-link and AR events for your own models, with per-model counts, platform totals, and recent activity. After opening a QR or AR link, choose Refresh analytics to check for the event.
Events are not unique visitors or confirmed AR placements. One person can generate several events, and opening a smart link does not prove that a model loaded or was placed successfully. Viewing or downloading the QR image is not itself an AR open.
API keys
For automation (scripts, CI, partners), create a key under Dashboard → API Keys. Copy it once (lsn_…).
Use on protected routes:
curl -s -H "X-API-Key: lsn_YOUR_KEY" https://lusion.app/api/dashboard/items # or curl -s -H "Authorization: Bearer lsn_YOUR_KEY" https://lusion.app/api/dashboard/items
Allowed: list/upload/update/delete your models, analytics. Not allowed: creating or revoking API keys or deleting your account (use the dashboard while signed in). Keep keys private and revoke a key when you no longer need it.
Automated uploads use POST /api/dashboard/uploads to prepare file transfers, then POST /api/dashboard/uploads/<upload_id>/complete to publish. Transfer each file to the returned upload URL, then retry completion with the same upload ID after an uncertain response. The dashboard handles these steps for you.
URL reference
| Path | Purpose |
|---|---|
| / | Landing & live demo |
| /login | Sign in |
| /register | Create account |
| /dashboard | Overview |
| /dashboard/models | Your models |
| /dashboard/models/new | Upload |
| /dashboard/analytics | AR / QR events |
| /dashboard/keys | API keys |
| /dashboard/settings | Profile, sign out & account deletion |
| /docs | This documentation |
| /ar/<id> | Web 3D / AR viewer |
| /ar-start/<id> | Smart device AR entry |
| /qr/<id> | QR PNG |
| /health | Backend initialization status (not an end-to-end check) |
| /privacy | Privacy policy |
| /tos | Terms of service |
Prepare models
Create meshes in a 3D or capture tool (Polycam, Apple Object Capture, Blender, etc.), then upload. Lusion's own iPhone capture app needs a LiDAR-equipped iPhone Pro. It has run end to end on a real iPhone in internal TestFlight testing and is not publicly available yet.
- Turntable: object rotates; keep the phone fixed; slow full 360°; good diffuse light.
- Orbit: dish fixed; walk a full circle with overlapping views.
- Optimize for web: reduce polygons (30–50K triangles is ideal), shrink textures to 1–2K JPEG/PNG, and keep the GLB under 10 MB. Don't use Draco, meshopt, KTX2 or WebP compression: Android Scene Viewer rejects glTF extensions it doesn't list.
Inspect every side, texture quality, orientation, and scale after export. A file under the size limit still needs a visual check in the browser and on your target phones before you share it with guests.
Troubleshooting
| Symptom | What to check |
|---|---|
| Site loads but login/API fail | Keep the error message and retry sign-in. Operators can use /health for initialization status, then check service logs. A healthy result does not verify Storage access. |
| Google works, “session failed” | Retry sign-in. If it persists, contact the operator with the error message; completing the provider's sign-in alone does not confirm that your dashboard session was created. |
| Unauthorized domain | Ask the operator to check the current site's domain in Firebase Authentication's authorized domains. |
| Upload rejected for size | Each GLB/USDZ must be at most 12 MiB; a thumbnail at most 5 MiB and 25 megapixels. The form labels these sizes as MB. |
| Android AR does not open | Confirm the model includes a GLB and the phone supports AR with the required services available. A USDZ-only model needs its automatic GLB conversion to finish first. Open its browser preview if native AR is unavailable. |
| “Your sign-in has ended” | Choose Sign in again. Lusion restores the session from this browser when it can; otherwise sign in and you return to the same dashboard page. |
| iPhone or iPad AR does not open | Use Safari on a supported device and a model with a USDZ. Tap Open in Quick Look; the launch is not automatic. |
| Models slow to load | Reduce geometry or texture size in your 3D tool and test again on the same phone and network. Loading time varies; the upload limit is not a speed guarantee. |
| Analytics empty | Open a smart AR link for one of your own models, then choose Refresh analytics. If counts stay unchanged, report the model link and time to the operator. |
| Publishing result is uncertain | Keep the page open. Retry publishing checks the original attempt; Check model library lets you see whether it already succeeded. Do not immediately upload a second copy. |
| Showcase or published model will not load | Reload the viewer and check the connection. If it persists, report the model link, device, and error message to the operator. A missing preview alone does not point to an account problem. |
Ready to publish?
Upload a dish or product model, then check its public link on a phone.
Need help? lusion@lusion.app · Privacy · Terms

