Integration
Let shoppers try on your products before they buy
Alovia's Virtual Try-On widget is a single script tag you add to any e-commerce site — Shopify, WooCommerce, or a custom storefront. A shopper taps the floating button, uploads or snaps their own photo, and sees themselves wearing your product in about 20 seconds. No app install and no backend integration beyond the one script tag.
Alovia's Virtual Try-On widget is a single script tag you add to any e-commerce site — Shopify, WooCommerce, or a custom storefront. A shopper taps the floating button, uploads or snaps their own photo, and sees themselves wearing your product in about 20 seconds. No app install and no backend integration beyond the one script tag.
What it does
One script tag, any storefront
Paste a single <script> tag with your API key before </body> on any site. Ready-made snippets cover generic HTML, Shopify Liquid (auto-fills the current product image and name), and WooCommerce PHP templates, plus a DOM auto-detect mode and a full JavaScript API (init/open/close/setProduct) for custom builds.
Uses the shopper's own photo
The widget prompts the shopper to "Tap to take photo or upload," not a stock or library model — that photo becomes the user_image_url sent with the product image to generate the try-on result.
Floating button or inline embed
Runs as a floating button in the corner of any page (default), or embedded inline inside a container element on the page — both configured with one data-attribute.
Multi-item outfit bundles
For suits or outfit sets, pass a JSON array of top/bottom/shoes/accessory images and the widget auto-fills each slot, letting the shopper only customize the remaining pieces.
Branding, domain, and usage controls
Whitelist specific domains (wildcard subdomains supported), toggle the "Powered by Alovia" badge off, set a custom logo and primary color, cap tries per shopper session and generations per day, and require a user_identifier instead of allowing anonymous use.
Webhooks and analytics
Optionally receive a webhook call when a generation completes or fails, and track widget views, unique sessions, uploads, generation success/failure, and credits used from a dashboard analytics page.
Setup
Create a widget API key
From the Virtual Try-On Widget tab in your dashboard, create an API key (format alv_pk_...) — this is what authenticates every request the embedded script makes.
Paste the embed script
Copy the generated <script> tag (with your API key and product image/category pre-filled) and paste it before </body> on your product page, or into your Shopify Liquid or WooCommerce template.
Shoppers try it on
A shopper taps the floating button, uploads or photographs themselves, and the widget generates and displays them wearing your product in about 20 seconds — no account required unless you turn on require_login.
Tune domains, branding, and limits
Optionally whitelist your domain, set a custom logo and theme color, cap tries per session and generations per day, and add a webhook URL — all from the widget settings tab.
Frequently asked questions
What is the Alovia Virtual Try-On widget?
An embeddable script that adds a floating or inline "try it on" button to any product page on your site. Shoppers upload their own photo and see themselves wearing the product before they buy, without leaving your store.
Do shoppers need to create an account to use the widget?
No, by default. Anonymous use is allowed unless you turn on require_login or ask for a user_identifier — both are settings you control per API key.
Whose photo does the widget use — a model's or the shopper's own?
The shopper's own. The widget's upload prompt reads "Tap to take photo or upload," and that photo is required (as user_image_url) before a generation can start — the widget does not pick a library model for the shopper.
Does the widget work on Shopify, WooCommerce, or a custom-built site?
All three. Ready-made snippets auto-fill the product image and name from Shopify Liquid variables or WooCommerce PHP, and a DOM auto-detect mode or JavaScript API covers any custom storefront.
How much does each try-on cost, and who pays for it?
Each generation costs 10 credits, deducted from the store owner's Alovia account — not charged to the shopper. If the account runs out of credits, new try-on requests are declined until credits are added.
Can I restrict the widget to only work on my own domain?
Yes. Add one or more domains (wildcard subdomains like *.mystore.com are supported) to the whitelist in your API key's settings; requests from any other origin are rejected.
Can I remove the "Powered by Alovia" branding?
Yes — toggle branding_visible off in the widget's Appearance settings, and set a custom logo and primary color to match your store.
Can I limit how many times one shopper can use the widget?
Yes, and one limit is already on by default: a new widget key allows 3 tries per shopper session (max_tries_per_user), which you can raise, lower, or clear entirely. A second, optional cap — max_daily_generations — limits total generations per day across your whole store; it is unset by default, meaning no daily ceiling beyond your credit balance.
Does the widget support outfits with multiple garments, like a full suit?
Yes. Pass a JSON array of image URLs tagged by category (top, bottom, shoes, accessory) and the widget fills each slot automatically, so shoppers see the full outfit rather than one item at a time.
How do I see how the widget is performing?
The widget analytics dashboard tracks views, unique sessions, image uploads, generation attempts (successful and failed), and credits used, with a daily chart over the last 7-90 days.
Related products
Ready to get started?
Everything above reflects what Alovia ships today.